mirror of
https://github.com/MariaDB/server.git
synced 2026-10-23 18:49:29 +03:00
take old_mode and deprecation.h changes from 11.8-13.0
cherry-pick commits9ecec1f730,24fd8c7856,3e97105975* make it easier to add more old-mode values * update deprecation.h to match changes in versioning
This commit is contained in:
@@ -6,12 +6,14 @@ In the current release model, versions are released like the following
|
||||
Q1 Q2 Q3 Q4
|
||||
2022 10.7 10.8 10.9 10.10
|
||||
2023 10.11-LTS 11.0 11.1 11.2
|
||||
2024 11.3 11.4 11.5 11.6
|
||||
2025 11.7-LTS 12.0 12.1 12.2
|
||||
2026 12.3 12.4 12.5 12.6
|
||||
2027 12.7-LTS 13.0 13.1 13.2
|
||||
2028 13.3 13.4 13.5 13.6
|
||||
2029 13.7-LTS 14.0 14.1 14.2
|
||||
2024 11.3 11.4-LTS 11.5 11.6
|
||||
2025 11.7 11.8-LTS 12.0 12.1
|
||||
2026 12.2 12.3-LTS 13.0 13.1
|
||||
2027 13.2 13.3-LTS 14.0 14.1
|
||||
2028 14.2 14.3-LTS 15.0 15.1
|
||||
2029 15.2 15.3-LTS 16.0 16.1
|
||||
2030 16.2 16.3-LTS 17.0 17.1
|
||||
2031 17.2 17.3-LTS 18.0 18.1
|
||||
...
|
||||
|
||||
A deprecated feature can be removed only when all releases when it's
|
||||
@@ -28,9 +30,12 @@ template<uint V> static inline void check_deprecated_version(void)
|
||||
{
|
||||
static_assert (
|
||||
V <= 1004 ? MYSQL_VERSION_ID < 110500 : /* until 10.4 EOL */
|
||||
V <= 1005 ? MYSQL_VERSION_ID < 120100 : /* until 10.5 EOL */
|
||||
V <= 1010 ? MYSQL_VERSION_ID < 120500 : /* until 10.6 EOL */
|
||||
V <= 1106 ? MYSQL_VERSION_ID < 130400 : /* until 10.11 EOL */
|
||||
V <= 1005 ? MYSQL_VERSION_ID < 120000 : /* until 10.5 EOL */
|
||||
V <= 1010 ? MYSQL_VERSION_ID < 130000 : /* until 10.6 EOL */
|
||||
V <= 1103 ? MYSQL_VERSION_ID < 140300 : /* until 10.11 EOL */
|
||||
V <= 1107 ? MYSQL_VERSION_ID < 160000 : /* until 11.4 EOL */
|
||||
V <= 1202 ? MYSQL_VERSION_ID < 170000 : /* until 11.8 EOL */
|
||||
V <= 1302 ? MYSQL_VERSION_ID < 180000 : /* until 12.3 EOL */
|
||||
V == 999999, /* only for sys_var::do_deprecated_warning() */
|
||||
"check_deprecated_version failed"
|
||||
);
|
||||
|
||||
@@ -4341,7 +4341,7 @@ static int init_common_variables()
|
||||
myf utf8_flag= global_system_variables.old_behavior &
|
||||
OLD_MODE_UTF8_IS_UTF8MB3 ? MY_UTF8_IS_UTF8MB3 : 0;
|
||||
|
||||
old_mode_deprecated_warnings(0, global_system_variables.old_behavior);
|
||||
old_mode_deprecated_warnings(global_system_variables.old_behavior);
|
||||
|
||||
if (character_set_collations_str[0])
|
||||
{
|
||||
|
||||
@@ -213,7 +213,7 @@ enum enum_binlog_row_image {
|
||||
|
||||
#define OLD_MODE_DEFAULT_VALUE OLD_MODE_UTF8_IS_UTF8MB3
|
||||
|
||||
void old_mode_deprecated_warnings(THD *thd, ulonglong v);
|
||||
void old_mode_deprecated_warnings(ulonglong v);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -4023,34 +4023,34 @@ static Sys_var_set Sys_sql_mode(
|
||||
|
||||
static const char *old_mode_names[]=
|
||||
{
|
||||
"NO_DUP_KEY_WARNINGS_WITH_IGNORE", // deprecated since 11.3
|
||||
"NO_PROGRESS_INFO", // deprecated since 11.3
|
||||
"ZERO_DATE_TIME_CAST", // deprecated since 11.3
|
||||
"UTF8_IS_UTF8MB3",
|
||||
"IGNORE_INDEX_ONLY_FOR_JOIN", // deprecated since 11.3
|
||||
"COMPAT_5_1_CHECKSUM", // deprecated since 11.3
|
||||
"NO_NULL_COLLATION_IDS", // deprecated since 11.3
|
||||
"LOCK_ALTER_TABLE_COPY", // deprecated since 11.3
|
||||
"NO_DUP_KEY_WARNINGS_WITH_IGNORE", // 0: deprecated since 11.3
|
||||
"NO_PROGRESS_INFO", // 1: deprecated since 11.3
|
||||
"ZERO_DATE_TIME_CAST", // 2: deprecated since 11.3
|
||||
"UTF8_IS_UTF8MB3", // 3: on by default
|
||||
"IGNORE_INDEX_ONLY_FOR_JOIN", // 4: deprecated since 11.3
|
||||
"COMPAT_5_1_CHECKSUM", // 5: deprecated since 11.3
|
||||
"NO_NULL_COLLATION_IDS", // 6: deprecated since 11.3
|
||||
"LOCK_ALTER_TABLE_COPY", // 7: deprecated since 11.3
|
||||
0
|
||||
};
|
||||
|
||||
void old_mode_deprecated_warnings(THD *thd, ulonglong v)
|
||||
void old_mode_deprecated_warnings(ulonglong v)
|
||||
{
|
||||
v &= ~OLD_MODE_DEFAULT_VALUE;
|
||||
for (uint i=0; old_mode_names[i]; i++)
|
||||
if ((1ULL<<i) & v)
|
||||
{
|
||||
if (thd)
|
||||
warn_deprecated<1103>(thd, old_mode_names[i]);
|
||||
else
|
||||
sql_print_warning("--old-mode='%s' is deprecated and will be "
|
||||
"removed in a future release", old_mode_names[i]);
|
||||
}
|
||||
sql_print_warning("--old-mode='%s' is deprecated and will be "
|
||||
"removed in a future release", old_mode_names[i]);
|
||||
}
|
||||
|
||||
static bool old_mode_deprecated(sys_var *self, THD *thd, set_var *var)
|
||||
{
|
||||
old_mode_deprecated_warnings(thd, var->save_result.ulonglong_value);
|
||||
ulonglong v= var->save_result.ulonglong_value & ~OLD_MODE_DEFAULT_VALUE;
|
||||
uint i= 0;
|
||||
for (; i <= 7; i++)
|
||||
if ((1ULL<<i) & v)
|
||||
warn_deprecated<1103>(thd, old_mode_names[i]);
|
||||
DBUG_ASSERT(old_mode_names[i] == 0); // all modes were used up above
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user