~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item_cmpfunc.h

Merged build changes from Antony.

Show diffs side-by-side

added added

removed removed

Lines of Context:
363
363
  }
364
364
  Item *neg_transformer(THD *thd);
365
365
  virtual Item *negated_item();
366
 
  bool subst_argument_checker(uchar **arg __attribute__((__unused__)))
 
366
  bool subst_argument_checker(uchar **arg __attribute__((unused)))
367
367
  { return true; }
368
368
};
369
369
 
484
484
  enum Functype rev_functype() const { return EQUAL_FUNC; }
485
485
  cond_result eq_cmp_result() const { return COND_TRUE; }
486
486
  const char *func_name() const { return "<=>"; }
487
 
  Item *neg_transformer(THD *thd __attribute__((__unused__))) { return 0; }
 
487
  Item *neg_transformer(THD *thd __attribute__((unused))) { return 0; }
488
488
};
489
489
 
490
490
 
575
575
public:
576
576
  inline void negate() { negated= !negated; }
577
577
  inline void top_level_item() { pred_level= 1; }
578
 
  Item *neg_transformer(THD *thd __attribute__((__unused__)))
 
578
  Item *neg_transformer(THD *thd __attribute__((unused)))
579
579
  {
580
580
    negated= !negated;
581
581
    return this;
582
582
  }
583
583
  bool eq(const Item *item, bool binary_cmp) const;
584
 
  bool subst_argument_checker(uchar **arg __attribute__((__unused__)))
 
584
  bool subst_argument_checker(uchar **arg __attribute__((unused)))
585
585
  { return true; }
586
586
};
587
587
 
783
783
        item  Constant item to store value into. The item must be of the same
784
784
              type that create_item() returns.
785
785
  */
786
 
  virtual void value_to_item(uint pos __attribute__((__unused__)),
787
 
                             Item *item __attribute__((__unused__))) { }
 
786
  virtual void value_to_item(uint pos __attribute__((unused)),
 
787
                             Item *item __attribute__((unused))) { }
788
788
  
789
789
  /* Compare values number pos1 and pos2 for equality */
790
790
  bool compare_elems(uint pos1, uint pos2)
935
935
  virtual int compare(cmp_item *item)= 0;
936
936
  static cmp_item* get_comparator(Item_result type, CHARSET_INFO *cs);
937
937
  virtual cmp_item *make_same()= 0;
938
 
  virtual void store_value_by_template(cmp_item *tmpl  __attribute__((__unused__)),
 
938
  virtual void store_value_by_template(cmp_item *tmpl  __attribute__((unused)),
939
939
                                       Item *item)
940
940
  {
941
941
    store_value(item);
1085
1085
  {
1086
1086
    value_res= item->val_str(&value);
1087
1087
  }
1088
 
  int cmp(Item *item __attribute__((__unused__)))
 
1088
  int cmp(Item *item __attribute__((unused)))
1089
1089
  {
1090
1090
    // Should never be called
1091
1091
    assert(0);
1149
1149
      list.push_back(else_expr_arg);
1150
1150
    }
1151
1151
    set_arguments(list);
1152
 
    bzero(&cmp_items, sizeof(cmp_items));
 
1152
    memset(&cmp_items, 0, sizeof(cmp_items));
1153
1153
  }
1154
1154
  double val_real();
1155
1155
  int64_t val_int();
1206
1206
    :Item_func_opt_neg(list), array(0), have_null(0),
1207
1207
    arg_types_compatible(false)
1208
1208
  {
1209
 
    bzero(&cmp_items, sizeof(cmp_items));
 
1209
    memset(&cmp_items, 0, sizeof(cmp_items));
1210
1210
    allowed_arg_cols= 0;  // Fetch this value from first argument
1211
1211
  }
1212
1212
  int64_t val_int();
1436
1436
  Item *transform(Item_transformer transformer, uchar *arg);
1437
1437
  void traverse_cond(Cond_traverser, void *arg, traverse_order order);
1438
1438
  void neg_arguments(THD *thd);
1439
 
  enum_field_types field_type() const { return MYSQL_TYPE_LONGLONG; }
1440
 
  bool subst_argument_checker(uchar **arg __attribute__((__unused__)))
 
1439
  enum_field_types field_type() const { return DRIZZLE_TYPE_LONGLONG; }
 
1440
  bool subst_argument_checker(uchar **arg __attribute__((unused)))
1441
1441
  { return true; }
1442
1442
  Item *compile(Item_analyzer analyzer, uchar **arg_p,
1443
1443
                Item_transformer transformer, uchar *arg_t);