summaryrefslogtreecommitdiff
path: root/sql/item_create.cc
diff options
context:
space:
mode:
authorhalfspawn <j.brauge@qualiac.com>2017-05-04 15:57:19 +0200
committerAlexander Barkov <bar@mariadb.org>2017-05-08 15:51:53 +0400
commit18ad176809999275ac7e86a586d41c8c9141f4a4 (patch)
treed9ceb7787d8c19e93eb8a58e124c13a1fa3fa6ff /sql/item_create.cc
parent71fa413c165e644f8f1433356f95fed12579fe3e (diff)
downloadmariadb-git-18ad176809999275ac7e86a586d41c8c9141f4a4.tar.gz
MDEV-12685 Oracle-compatible function CHR()
Diffstat (limited to 'sql/item_create.cc')
-rw-r--r--sql/item_create.cc24
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)},