summaryrefslogtreecommitdiff
path: root/sql/mysqld.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/mysqld.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/mysqld.cc')
-rw-r--r--sql/mysqld.cc21
1 files changed, 16 insertions, 5 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 0bf21e02002..cc7568990b4 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -301,7 +301,6 @@ const char *my_localhost= "localhost", *delayed_user= "DELAYED";
bool opt_large_files= sizeof(my_off_t) > 4;
static my_bool opt_autocommit; ///< for --autocommit command-line option
-
/*
Used with --help for detailed option
*/
@@ -4032,6 +4031,7 @@ static int init_common_variables()
test purposes, to be able to start "mysqld" even if
the requested character set is not available (see bug#18743).
*/
+
for (;;)
{
char *next_character_set_name= strchr(default_character_set_name, ',');
@@ -4039,7 +4039,10 @@ static int init_common_variables()
*next_character_set_name++= '\0';
if (!(default_charset_info=
get_charset_by_csname(default_character_set_name,
- MY_CS_PRIMARY, MYF(MY_WME))))
+ MY_CS_PRIMARY,
+ global_system_variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ?
+ MYF(MY_UTF8_IS_UTF8MB3 | MY_WME) : MYF(MY_WME))))
{
if (next_character_set_name)
{
@@ -4056,7 +4059,10 @@ static int init_common_variables()
if (default_collation_name)
{
CHARSET_INFO *default_collation;
- default_collation= get_charset_by_name(default_collation_name, MYF(0));
+ default_collation= get_charset_by_name(default_collation_name,
+ global_system_variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ?
+ MYF(MY_UTF8_IS_UTF8MB3) : MYF(0));
if (!default_collation)
{
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
@@ -4097,7 +4103,10 @@ static int init_common_variables()
if (!(character_set_filesystem=
get_charset_by_csname(character_set_filesystem_name,
- MY_CS_PRIMARY, MYF(MY_WME))))
+ MY_CS_PRIMARY,
+ global_system_variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ?
+ MYF(MY_UTF8_IS_UTF8MB3 | MY_WME) : MYF(MY_WME))))
return 1;
global_system_variables.character_set_filesystem= character_set_filesystem;
@@ -7415,7 +7424,9 @@ static void usage(void)
DBUG_ENTER("usage");
if (!(default_charset_info= get_charset_by_csname(default_character_set_name,
MY_CS_PRIMARY,
- MYF(MY_WME))))
+ global_system_variables.old_behavior &
+ OLD_MODE_UTF8_IS_UTF8MB3 ?
+ MYF(MY_UTF8_IS_UTF8MB3 | MY_WME) : MYF(MY_WME))))
exit(1);
if (!default_collation_name)
default_collation_name= (char*) default_charset_info->name;