~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item_strfunc.h

initial changes to break out item_strfunc into functions/str

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 */
19
19
 
20
20
 
21
 
/* This file defines all string functions */
22
 
 
23
 
 
24
 
class Item_str_func :public Item_func
25
 
{
26
 
public:
27
 
  Item_str_func() :Item_func() { decimals=NOT_FIXED_DEC; }
28
 
  Item_str_func(Item *a) :Item_func(a) {decimals=NOT_FIXED_DEC; }
29
 
  Item_str_func(Item *a,Item *b) :Item_func(a,b) { decimals=NOT_FIXED_DEC; }
30
 
  Item_str_func(Item *a,Item *b,Item *c) :Item_func(a,b,c) { decimals=NOT_FIXED_DEC; }
31
 
  Item_str_func(Item *a,Item *b,Item *c,Item *d) :Item_func(a,b,c,d) {decimals=NOT_FIXED_DEC; }
32
 
  Item_str_func(Item *a,Item *b,Item *c,Item *d, Item* e) :Item_func(a,b,c,d,e) {decimals=NOT_FIXED_DEC; }
33
 
  Item_str_func(List<Item> &list) :Item_func(list) {decimals=NOT_FIXED_DEC; }
34
 
  int64_t val_int();
35
 
  double val_real();
36
 
  my_decimal *val_decimal(my_decimal *);
37
 
  enum Item_result result_type () const { return STRING_RESULT; }
38
 
  void left_right_max_length();
39
 
  bool fix_fields(Session *session, Item **ref);
40
 
};
41
 
 
42
 
 
43
 
class Item_func_concat :public Item_str_func
44
 
{
45
 
  String tmp_value;
46
 
public:
47
 
  Item_func_concat(List<Item> &list) :Item_str_func(list) {}
48
 
  Item_func_concat(Item *a,Item *b) :Item_str_func(a,b) {}
49
 
  String *val_str(String *);
50
 
  void fix_length_and_dec();
51
 
  const char *func_name() const { return "concat"; }
52
 
};
53
 
 
54
 
class Item_func_concat_ws :public Item_str_func
55
 
{
56
 
  String tmp_value;
57
 
public:
58
 
  Item_func_concat_ws(List<Item> &list) :Item_str_func(list) {}
59
 
  String *val_str(String *);
60
 
  void fix_length_and_dec();
61
 
  const char *func_name() const { return "concat_ws"; }
62
 
  table_map not_null_tables() const { return 0; }
63
 
};
 
21
#include <drizzled/functions/str/concat.h>
64
22
 
65
23
class Item_func_reverse :public Item_str_func
66
24
{