21
/* This file defines all string functions */
24
class Item_str_func :public Item_func
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; }
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);
43
class Item_func_concat :public Item_str_func
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"; }
54
class Item_func_concat_ws :public Item_str_func
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; }
21
#include <drizzled/functions/str/concat.h>
65
23
class Item_func_reverse :public Item_str_func