diff options
author | halfspawn <j.brauge@qualiac.com> | 2017-05-04 15:57:19 +0200 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2017-05-08 15:51:53 +0400 |
commit | 18ad176809999275ac7e86a586d41c8c9141f4a4 (patch) | |
tree | d9ceb7787d8c19e93eb8a58e124c13a1fa3fa6ff /sql/item_create.cc | |
parent | 71fa413c165e644f8f1433356f95fed12579fe3e (diff) | |
download | mariadb-git-18ad176809999275ac7e86a586d41c8c9141f4a4.tar.gz |
MDEV-12685 Oracle-compatible function CHR()
Diffstat (limited to 'sql/item_create.cc')
-rw-r--r-- | sql/item_create.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sql/item_create.cc b/sql/item_create.cc index f678bb44f21..75c2189e86c 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -517,6 +517,19 @@ protected: }; +class Create_func_chr : public Create_func_arg1 +{ +public: + virtual Item *create_1_arg(THD *thd, Item *arg1); + + static Create_func_chr s_singleton; + +protected: + Create_func_chr() {} + virtual ~Create_func_chr() {} +}; + + class Create_func_convexhull : public Create_func_arg1 { public: @@ -3788,6 +3801,16 @@ Create_func_centroid::create_1_arg(THD *thd, Item *arg1) } +Create_func_chr Create_func_chr::s_singleton; + +Item* +Create_func_chr::create_1_arg(THD *thd, Item *arg1) +{ + CHARSET_INFO *cs_db= thd->variables.collation_database; + return new (thd->mem_root) Item_func_chr(thd, arg1, cs_db); +} + + Create_func_convexhull Create_func_convexhull::s_singleton; Item* @@ -6831,6 +6854,7 @@ static Native_func_registry func_array[] = { { C_STRING_WITH_LEN("CONV") }, BUILDER(Create_func_conv)}, { { C_STRING_WITH_LEN("CONVERT_TZ") }, BUILDER(Create_func_convert_tz)}, { { C_STRING_WITH_LEN("CONVEXHULL") }, GEOM_BUILDER(Create_func_convexhull)}, + { { C_STRING_WITH_LEN("CHR") }, BUILDER(Create_func_chr)}, { { C_STRING_WITH_LEN("COS") }, BUILDER(Create_func_cos)}, { { C_STRING_WITH_LEN("COT") }, BUILDER(Create_func_cot)}, { { C_STRING_WITH_LEN("CRC32") }, BUILDER(Create_func_crc32)}, |