~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/cmpfunc.h

  • Committer: Lee Bieber
  • Date: 2011-03-03 19:19:28 UTC
  • mfrom: (2216.1.3 build)
  • Revision ID: kalebral@gmail.com-20110303191928-h2kris5kavbgmzu0
Merge Shrews - 728432: Remove write_bin_log() since it is no longer used.
Merge Andrew - 722988: wrong message for drizzled --verbose 
Merge Andrew - 728314: mysql socket file not created
Merge Stewart - 728288: enum_query_type is unused

Show diffs side-by-side

added added

removed removed

Lines of Context:
139
139
  virtual bool val_bool();
140
140
  virtual int64_t val_int();
141
141
  virtual void fix_length_and_dec();
142
 
  virtual void print(String *str, enum_query_type query_type);
 
142
  virtual void print(String *str);
143
143
 
144
144
protected:
145
145
  Item_func_truth(Item *a, bool a_value, bool a_affirmative)
351
351
  virtual enum Functype rev_functype() const { return UNKNOWN_FUNC; }
352
352
  bool have_rev_func() const { return rev_functype() != UNKNOWN_FUNC; }
353
353
 
354
 
  virtual inline void print(String *str, enum_query_type query_type)
 
354
  virtual inline void print(String *str)
355
355
  {
356
 
    Item_func::print_op(str, query_type);
 
356
    Item_func::print_op(str);
357
357
  }
358
358
 
359
359
  bool is_null() { return test(args[0]->is_null() || args[1]->is_null()); }
386
386
  enum Functype functype() const { return NOT_FUNC; }
387
387
  const char *func_name() const { return "not"; }
388
388
  Item *neg_transformer(Session *session);
389
 
  virtual void print(String *str, enum_query_type query_type);
 
389
  virtual void print(String *str);
390
390
};
391
391
 
392
392
class Item_maxmin_subselect;
453
453
  int64_t val_int();
454
454
  enum Functype functype() const { return NOT_ALL_FUNC; }
455
455
  const char *func_name() const { return "<not>"; }
456
 
  virtual void print(String *str, enum_query_type query_type);
 
456
  virtual void print(String *str);
457
457
  void set_sum_test(Item_sum_hybrid *item) { test_sum_item= item; };
458
458
  void set_sub_test(Item_maxmin_subselect *item) { test_sub_item= item; };
459
459
  bool empty_underlying_subquery();
615
615
  const char *func_name() const { return "between"; }
616
616
  bool fix_fields(Session *, Item **);
617
617
  void fix_length_and_dec();
618
 
  virtual void print(String *str, enum_query_type query_type);
 
618
  virtual void print(String *str);
619
619
  bool is_bool_func() { return 1; }
620
620
  const CHARSET_INFO *compare_collation() { return cmp_collation.collation; }
621
621
  uint32_t decimal_precision() const { return 1; }
630
630
  optimize_type select_optimize() const { return OPTIMIZE_NONE; }
631
631
  const char *func_name() const { return "strcmp"; }
632
632
 
633
 
  virtual inline void print(String *str, enum_query_type query_type)
 
633
  virtual inline void print(String *str)
634
634
  {
635
 
    Item_func::print(str, query_type);
 
635
    Item_func::print(str);
636
636
  }
637
637
};
638
638
 
741
741
  uint32_t decimal_precision() const { return args[0]->decimal_precision(); }
742
742
  const char *func_name() const { return "nullif"; }
743
743
 
744
 
  virtual inline void print(String *str, enum_query_type query_type)
 
744
  virtual inline void print(String *str)
745
745
  {
746
 
    Item_func::print(str, query_type);
 
746
    Item_func::print(str);
747
747
  }
748
748
 
749
749
  table_map not_null_tables() const { return 0; }
1177
1177
  enum Item_result result_type () const { return cached_result_type; }
1178
1178
  enum_field_types field_type() const { return cached_field_type; }
1179
1179
  const char *func_name() const { return "case"; }
1180
 
  virtual void print(String *str, enum_query_type query_type);
 
1180
  virtual void print(String *str);
1181
1181
  Item *find_item(String *str);
1182
1182
  const CHARSET_INFO *compare_collation() { return cmp_collation.collation; }
1183
1183
  void cleanup();
1242
1242
  }
1243
1243
  optimize_type select_optimize() const
1244
1244
    { return OPTIMIZE_KEY; }
1245
 
  virtual void print(String *str, enum_query_type query_type);
 
1245
  virtual void print(String *str);
1246
1246
  enum Functype functype() const { return IN_FUNC; }
1247
1247
  const char *func_name() const { return " IN "; }
1248
1248
  bool nulls_in_row();
1364
1364
  table_map not_null_tables() const
1365
1365
  { return abort_on_null ? not_null_tables_cache : 0; }
1366
1366
  Item *neg_transformer(Session *session);
1367
 
  virtual void print(String *str, enum_query_type query_type);
 
1367
  virtual void print(String *str);
1368
1368
  const CHARSET_INFO *compare_collation() { return args[0]->collation.collation; }
1369
1369
  void top_level_item() { abort_on_null=1; }
1370
1370
};
1445
1445
  List<Item>* argument_list() { return &list; }
1446
1446
  table_map used_tables() const;
1447
1447
  void update_used_tables();
1448
 
  virtual void print(String *str, enum_query_type query_type);
 
1448
  virtual void print(String *str);
1449
1449
  void split_sum_func(Session *session, Item **ref_pointer_array, List<Item> &fields);
1450
1450
  friend int setup_conds(Session *session, TableList *tables, TableList *leaves,
1451
1451
                         COND **conds);
1577
1577
  void update_used_tables();
1578
1578
  bool walk(Item_processor processor, bool walk_subquery, unsigned char *arg);
1579
1579
  Item *transform(Item_transformer transformer, unsigned char *arg);
1580
 
  virtual void print(String *str, enum_query_type query_type);
 
1580
  virtual void print(String *str);
1581
1581
  const CHARSET_INFO *compare_collation()
1582
1582
  { return fields.front().collation.collation; }
1583
1583
private: