summaryrefslogtreecommitdiff
path: root/sql/item_create.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com/nosik.monty.fi>2007-04-27 01:12:09 +0300
committerunknown <monty@mysql.com/nosik.monty.fi>2007-04-27 01:12:09 +0300
commit4958eec7ec52f4208deb1dad18900af6db728b66 (patch)
treeab5977df458d372792f72857af0001e0f9e93f8a /sql/item_create.cc
parent51e016f1845b962a705af589aa7af599462c1743 (diff)
downloadmariadb-git-4958eec7ec52f4208deb1dad18900af6db728b66.tar.gz
Added sql_mode PAD_CHAR_TO_FULL_LENGTH (WL#921)
This pads the value of CHAR columns with spaces up to full column length (according to ANSI) It's not makde part of oracle or ansi mode yet, as this would cause a notable behaviour change. Added uuid_short(), a generator for increasing 'unique' longlong integers (8 bytes) mysql-test/r/func_misc.result: Update results mysql-test/r/sql_mode.result: Update results mysql-test/t/func_misc.test: Added test for uuid_short() mysql-test/t/sql_mode.test: Added test for sql_mode=PAD_CHAR_TO_FULL_LENGTH (#WL921) sql/field.cc: Added sql_mode PAD_CHAR_TO_FULL_LENGTH sql/item.cc: Initialize uuid_short() sql/item_create.cc: Added creation of uuid_short() sql/item_func.cc: Added uuid_short() sql/item_func.h: Added uuid_short() sql/mysql_priv.h: Added sql_mode PAD_CHAR_TO_FULL_LENGTH sql/mysqld.cc: Added sql_mode PAD_CHAR_TO_FULL_LENGTH
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 8ff78ef1b48..8c97b596336 100644
--- a/sql/item_create.cc
+++ b/sql/item_create.cc
@@ -2141,6 +2141,19 @@ protected:
};
+class Create_func_uuid_short : public Create_func_arg0
+{
+public:
+ virtual Item *create(THD *thd);
+
+ static Create_func_uuid_short s_singleton;
+
+protected:
+ Create_func_uuid_short() {}
+ virtual ~Create_func_uuid_short() {}
+};
+
+
class Create_func_version : public Create_func_arg0
{
public:
@@ -4532,6 +4545,16 @@ Create_func_uuid::create(THD *thd)
}
+Create_func_uuid_short Create_func_uuid_short::s_singleton;
+
+Item*
+Create_func_uuid_short::create(THD *thd)
+{
+ thd->lex->binlog_row_based_if_mixed= TRUE;
+ return new (thd->mem_root) Item_func_uuid_short();
+}
+
+
Create_func_version Create_func_version::s_singleton;
Item*
@@ -4871,6 +4894,7 @@ static Native_func_registry func_array[] =
{ C_STRING_WITH_LEN("UPDATEXML"), BUILDER(Create_func_xml_update)},
{ C_STRING_WITH_LEN("UPPER"), BUILDER(Create_func_ucase)},
{ C_STRING_WITH_LEN("UUID"), BUILDER(Create_func_uuid)},
+ { C_STRING_WITH_LEN("UUID_SHORT"), BUILDER(Create_func_uuid_short)},
{ C_STRING_WITH_LEN("VERSION"), BUILDER(Create_func_version)},
{ C_STRING_WITH_LEN("WEEKDAY"), BUILDER(Create_func_weekday)},
{ C_STRING_WITH_LEN("WEEKOFYEAR"), BUILDER(Create_func_weekofyear)},