1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00
Files
mariadb/mysql-test/main/load_timezones_with_alter_algorithm_inplace.test
Daniel Black 9f1019ba3d MDEV-33044 Loading time zones does not work with alter_algorithm INPLACE (postfix)
Test case doesn't work on embedded builds.
2024-03-28 14:47:29 +11:00

41 lines
1.7 KiB
Plaintext

--source include/not_embedded.inc
# MDEV-33044 Loading time zones does not work with alter_algorithm INPLACE
set global alter_algorithm=INPLACE;
# Because loading timezones alters the mysql tables,
# this test will leave mysql in a different state than when it started.
# Furthermore, checksums on the various mysql.timezone_x tables will fail.
# Therefore we:
# 1. Make "backups" of the existing tables by renaming them
# 2. Make dummy clones of the tables we just backed up
# 3. Load timezones with alterations made to the dummy clone tables
# 4. Drop the newly made tables with changes made to them
# 5. Restore the backed up tables so the checksums will pass
RENAME TABLE mysql.time_zone TO mysql.time_zone_BACKUP;
RENAME TABLE mysql.time_zone_name TO mysql.time_zone_name_BACKUP;
RENAME TABLE mysql.time_zone_transition TO mysql.time_zone_transition_BACKUP;
RENAME TABLE mysql.time_zone_transition_type TO mysql.time_zone_transition_type_BACKUP;
CREATE TABLE mysql.time_zone LIKE mysql.time_zone_BACKUP;
CREATE TABLE mysql.time_zone_name LIKE mysql.time_zone_name_BACKUP;
CREATE TABLE mysql.time_zone_transition LIKE mysql.time_zone_transition_BACKUP;
CREATE TABLE mysql.time_zone_transition_type LIKE mysql.time_zone_transition_type_BACKUP;
--exec $MYSQL_TZINFO_TO_SQL std_data/zoneinfo | $MYSQL mysql
DROP TABLE mysql.time_zone;
DROP TABLE mysql.time_zone_name;
DROP TABLE mysql.time_zone_transition;
DROP TABLE mysql.time_zone_transition_type;
RENAME TABLE mysql.time_zone_BACKUP TO mysql.time_zone;
RENAME TABLE mysql.time_zone_name_BACKUP TO mysql.time_zone_name;
RENAME TABLE mysql.time_zone_transition_BACKUP TO mysql.time_zone_transition;
RENAME TABLE mysql.time_zone_transition_type_BACKUP TO mysql.time_zone_transition_type;
set global alter_algorithm=DEFAULT;