diff options
author | unknown <bar@bar.mysql.r18.ru> | 2003-06-03 16:57:14 +0500 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2003-06-03 16:57:14 +0500 |
commit | 8ae717d3198b527a08e0d954fc8bf240c285fc30 (patch) | |
tree | a9ff56fcd43b6ae42c5e6bc919ae0d7daab72fd9 /sql/item_strfunc.h | |
parent | 27d95e9687e840c98235a89ff7aea880bb905f44 (diff) | |
download | mariadb-git-8ae717d3198b527a08e0d954fc8bf240c285fc30.tar.gz |
LTRIM, RTRIM and TRIM now honors coercibility
LTRIM, RTRIM and TRIM now work fine with ucs2
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r-- | sql/item_strfunc.h | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h index 65aad3a3fff..a70c9b39255 100644 --- a/sql/item_strfunc.h +++ b/sql/item_strfunc.h @@ -220,35 +220,37 @@ public: }; -class Item_func_ltrim :public Item_str_func +class Item_func_trim :public Item_str_func { +protected: String tmp_value; + String remove; public: - Item_func_ltrim(Item *a,Item *b) :Item_str_func(a,b) {} + Item_func_trim(Item *a,Item *b) :Item_str_func(a,b) {} + Item_func_trim(Item *a) :Item_str_func(a) {} String *val_str(String *); - void fix_length_and_dec() { max_length= args[0]->max_length; } - const char *func_name() const { return "ltrim"; } + void fix_length_and_dec(); + const char *func_name() const { return "trim"; } }; -class Item_func_rtrim :public Item_str_func +class Item_func_ltrim :public Item_func_trim { - String tmp_value; public: - Item_func_rtrim(Item *a,Item *b) :Item_str_func(a,b) {} + Item_func_ltrim(Item *a,Item *b) :Item_func_trim(a,b) {} + Item_func_ltrim(Item *a) :Item_func_trim(a) {} String *val_str(String *); - void fix_length_and_dec() { max_length= args[0]->max_length; } - const char *func_name() const { return "rtrim"; } + const char *func_name() const { return "ltrim"; } }; -class Item_func_trim :public Item_str_func + +class Item_func_rtrim :public Item_func_trim { - String tmp_value; public: - Item_func_trim(Item *a,Item *b) :Item_str_func(a,b) {} + Item_func_rtrim(Item *a,Item *b) :Item_func_trim(a,b) {} + Item_func_rtrim(Item *a) :Item_func_trim(a) {} String *val_str(String *); - void fix_length_and_dec() { max_length= args[0]->max_length; } - const char *func_name() const { return "trim"; } + const char *func_name() const { return "rtrim"; } }; |