diff options
Diffstat (limited to 'sql/sys_vars.cc')
-rw-r--r-- | sql/sys_vars.cc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index 7127cbc00f6..a7f27930123 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -2648,9 +2648,28 @@ static Sys_var_ulong Sys_net_retry_count( BLOCK_SIZE(1), NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), ON_UPDATE(fix_net_retry_count)); +static bool set_old_mode (sys_var *self, THD *thd, enum_var_type type) +{ + if (thd->variables.old_mode) + { + thd->variables.old_behavior|= (OLD_MODE_NO_PROGRESS_INFO | + OLD_MODE_INDEX_HINT_MASK_JOIN | + OLD_MODE_CHECKSUM_SLOW_NULLS); + } + else + { + thd->variables.old_behavior&= ~(OLD_MODE_NO_PROGRESS_INFO| + OLD_MODE_INDEX_HINT_MASK_JOIN | + OLD_MODE_CHECKSUM_SLOW_NULLS); + } + + return false; +} + static Sys_var_mybool Sys_old_mode( "old", "Use compatible behavior from previous MariaDB version. See also --old-mode", - SESSION_VAR(old_mode), CMD_LINE(OPT_ARG), DEFAULT(FALSE)); + SESSION_VAR(old_mode), CMD_LINE(OPT_ARG), DEFAULT(FALSE), 0, NOT_IN_BINLOG, ON_CHECK(0), + ON_UPDATE(set_old_mode), DEPRECATED("'@@old_mode'")); static const char *alter_algorithm_modes[]= {"DEFAULT", "COPY", "INPLACE", "NOCOPY", "INSTANT", NULL}; @@ -3751,6 +3770,8 @@ static const char *old_mode_names[]= "NO_PROGRESS_INFO", "ZERO_DATE_TIME_CAST", "UTF8_IS_UTF8MB3", + "INDEX_HINT_MASK_JOIN", + "CHECKSUM_SLOW_NULLS", 0 }; |