-
Sivert Sorumgard authored
When upgrading from 5.7 to 8.0, there is no way to verify that the setting of lower_case_table_names (l_c_t_n) used in 5.7 is retained in 8.0. Hence, when starting 8.0, we need to check that the invariants imposed by the requested l_c_t_n setting are followed, and to emit an error and abort upgrade if the invariants are broken. We do not expect this to be a common use case, as most people will use the same l_c_t_n setting for 8.0 as they did for 5.7, but we shuold at least avoid server crashes if the l_c_t_n setting is changed. This patch adds a check during upgrade from 5.7 to 8.0 to verify that if setting l_c_t_n = 1, then all table- and schema names must be in lower case. If there are upper case names, upgrade fails with an error in the error log. There is already a check in InnoDB that emits an error if if the tablespace file cannot be opened - this will catch situations where the character case of the tablespace file is not as expected. This patch also adds MTR tests to check the behavior for various combinations of source- and target l_c_t_n settings as well as file system case sensitivities. Unrelated to the above, this patch also: * Adds two new test cases for upgrade involving recent public releases. * Re-classifies the following tests to 'big-test': dd_upgrade_cs, mysql_57_inplace_upgrade, mysql_80_inplace_upgrade, mysql_upgrade Change-Id: If401c01fee279a72b28eb938fb99a62273f4a503
Sivert Sorumgard authoredWhen upgrading from 5.7 to 8.0, there is no way to verify that the setting of lower_case_table_names (l_c_t_n) used in 5.7 is retained in 8.0. Hence, when starting 8.0, we need to check that the invariants imposed by the requested l_c_t_n setting are followed, and to emit an error and abort upgrade if the invariants are broken. We do not expect this to be a common use case, as most people will use the same l_c_t_n setting for 8.0 as they did for 5.7, but we shuold at least avoid server crashes if the l_c_t_n setting is changed. This patch adds a check during upgrade from 5.7 to 8.0 to verify that if setting l_c_t_n = 1, then all table- and schema names must be in lower case. If there are upper case names, upgrade fails with an error in the error log. There is already a check in InnoDB that emits an error if if the tablespace file cannot be opened - this will catch situations where the character case of the tablespace file is not as expected. This patch also adds MTR tests to check the behavior for various combinations of source- and target l_c_t_n settings as well as file system case sensitivities. Unrelated to the above, this patch also: * Adds two new test cases for upgrade involving recent public releases. * Re-classifies the following tests to 'big-test': dd_upgrade_cs, mysql_57_inplace_upgrade, mysql_80_inplace_upgrade, mysql_upgrade Change-Id: If401c01fee279a72b28eb938fb99a62273f4a503
Loading