--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;