~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/subselect.h

  • Committer: Brian Aker
  • Date: 2010-10-19 08:17:10 UTC
  • mto: (1864.2.1 merge)
  • mto: This revision was merged to the branch mainline in revision 1864.
  • Revision ID: brian@tangent.org-20101019081710-hw13j03145h13pdg
Merge in a bit more strictness around table type.

Show diffs side-by-side

added added

removed removed

Lines of Context:
430
430
    res_field_type= DRIZZLE_TYPE_VARCHAR;
431
431
    maybe_null= 0;
432
432
  }
433
 
  virtual ~subselect_engine() {} // to satisfy compiler
 
433
  virtual ~subselect_engine() {}; // to satisfy compiler
434
434
  virtual void cleanup()= 0;
435
435
 
436
436
  /*
463
463
  */
464
464
  virtual int exec()= 0;
465
465
  virtual uint32_t cols()= 0; /* return number of columns in select */
466
 
  virtual bool uncacheable()= 0; /* query is uncacheable */
467
 
  virtual bool uncacheable(uint32_t bit_pos)= 0; /* query is uncacheable */
 
466
  virtual uint8_t uncacheable()= 0; /* query is uncacheable */
468
467
  enum Item_result type() { return res_type; }
469
468
  enum_field_types field_type() { return res_field_type; }
470
469
  virtual void exclude()= 0;
471
 
  virtual bool may_be_null() { return maybe_null; }
 
470
  virtual bool may_be_null() { return maybe_null; };
472
471
  virtual table_map upper_select_const_tables()= 0;
473
472
  static table_map calc_const_tables(TableList *);
474
473
  virtual void print(String *str, enum_query_type query_type)= 0;
501
500
  void fix_length_and_dec(Item_cache** row);
502
501
  int exec();
503
502
  uint32_t cols();
504
 
  bool uncacheable();
505
 
  bool uncacheable(uint32_t bit_pos);
 
503
  uint8_t uncacheable();
506
504
  void exclude();
507
505
  table_map upper_select_const_tables();
508
506
  virtual void print (String *str, enum_query_type query_type);
530
528
  void fix_length_and_dec(Item_cache** row);
531
529
  int exec();
532
530
  uint32_t cols();
533
 
  bool uncacheable();
534
 
  bool uncacheable(uint32_t bit_pos);
 
531
  uint8_t uncacheable();
535
532
  void exclude();
536
533
  table_map upper_select_const_tables();
537
534
  virtual void print (String *str, enum_query_type query_type);
588
585
  void fix_length_and_dec(Item_cache** row);
589
586
  int exec();
590
587
  uint32_t cols() { return 1; }
591
 
  bool uncacheable() { return true; }
592
 
  bool uncacheable(uint32_t) { return true; }
 
588
  uint8_t uncacheable() { return UNCACHEABLE_DEPENDENT; }
593
589
  void exclude();
594
590
  table_map upper_select_const_tables() { return 0; }
595
591
  virtual void print (String *str, enum_query_type query_type);