diff options
author | unknown <monty@mysql.com/nosik.monty.fi> | 2007-04-27 01:12:09 +0300 |
---|---|---|
committer | unknown <monty@mysql.com/nosik.monty.fi> | 2007-04-27 01:12:09 +0300 |
commit | 4958eec7ec52f4208deb1dad18900af6db728b66 (patch) | |
tree | ab5977df458d372792f72857af0001e0f9e93f8a /sql/item_create.cc | |
parent | 51e016f1845b962a705af589aa7af599462c1743 (diff) | |
download | mariadb-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.cc | 24 |
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)}, |