summaryrefslogtreecommitdiff
path: root/sql/sql_db.cc
diff options
context:
space:
mode:
authorRucha Deodhar <rucha.deodhar@mariadb.com>2021-02-15 01:39:37 +0530
committerRucha Deodhar <rucha.deodhar@mariadb.com>2021-03-16 21:11:21 +0530
commite15a5ca9e89153db7cc9ce978bb789a4038b7c25 (patch)
tree9c33fb2d815210f032e887af5da0f28c9d8c5301 /sql/sql_db.cc
parenta1542f8a57390bbad916ddfd335e1c751ffb3de5 (diff)
downloadmariadb-git-10.6-rucha-mdev-8334.tar.gz
MDEV-8334: Rename utf8 to utf8mb310.6-rucha-mdev-8334
This patch changes the main name of 3 byte character set from utf8 to utf8mb3. New old_mode UTF8_IS_UTF8MB3 is added and set TRUE by default, so that utf8 would mean utf8mb3. If not set, utf8 would mean utf8mb4.
Diffstat (limited to 'sql/sql_db.cc')
-rw-r--r--sql/sql_db.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/sql/sql_db.cc b/sql/sql_db.cc
index 9bf16220535..f471d8edc66 100644
--- a/sql/sql_db.cc
+++ b/sql/sql_db.cc
@@ -583,9 +583,14 @@ bool load_db_opt(THD *thd, const char *path, Schema_specification_st *create)
default-collation commands.
*/
if (!(create->default_table_charset=
- get_charset_by_csname(pos+1, MY_CS_PRIMARY, MYF(0))) &&
+ get_charset_by_csname(pos+1, MY_CS_PRIMARY,
+ thd->variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ?
+ MYF(MY_UTF8_IS_UTF8MB3) : MYF(0))) &&
!(create->default_table_charset=
- get_charset_by_name(pos+1, MYF(0))))
+ get_charset_by_name(pos+1, thd->variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ?
+ MYF(MY_UTF8_IS_UTF8MB3) : MYF(0))))
{
sql_print_error("Error while loading database options: '%s':",path);
sql_print_error(ER_THD(thd, ER_UNKNOWN_CHARACTER_SET),pos+1);
@@ -595,7 +600,9 @@ bool load_db_opt(THD *thd, const char *path, Schema_specification_st *create)
else if (!strncmp(buf,"default-collation", (pos-buf)))
{
if (!(create->default_table_charset= get_charset_by_name(pos+1,
- MYF(0))))
+ thd->variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ?
+ MYF(MY_UTF8_IS_UTF8MB3) : MYF(0))))
{
sql_print_error("Error while loading database options: '%s':",path);
sql_print_error(ER_THD(thd, ER_UNKNOWN_COLLATION),pos+1);