Commit b8398ee1 authored by Daniel Black's avatar Daniel Black

MDEV-21208: mysql_tzinfo_to_sql does not work in strict mode

Remove Warning that occured by doing an ALTER TABLE ... ORDER
BY on an InnoDB table.

Reviewed by Brandon Nesterenko
parent 13e77930
...@@ -46,8 +46,8 @@ Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zo ...@@ -46,8 +46,8 @@ Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zo
Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion. Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
UNLOCK TABLES; UNLOCK TABLES;
COMMIT; COMMIT;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
...@@ -92,8 +92,8 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset ...@@ -92,8 +92,8 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it. Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
UNLOCK TABLES; UNLOCK TABLES;
COMMIT; COMMIT;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
...@@ -122,6 +122,7 @@ set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep ...@@ -122,6 +122,7 @@ set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep
execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0'); execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
SET @save_sql_log_bin=@@SQL_LOG_BIN; SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0; SET SESSION SQL_LOG_BIN=0;
SET @wsrep_cannot_replicate_tz=0;
TRUNCATE TABLE time_zone; TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name; TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition; TRUNCATE TABLE time_zone_transition;
...@@ -147,8 +148,8 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset ...@@ -147,8 +148,8 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it. Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
UNLOCK TABLES; UNLOCK TABLES;
COMMIT; COMMIT;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
SET SESSION SQL_LOG_BIN=@save_sql_log_bin; SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0'); execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
SELECT COUNT(*) FROM time_zone; SELECT COUNT(*) FROM time_zone;
...@@ -257,6 +258,7 @@ set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep ...@@ -257,6 +258,7 @@ set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep
execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0'); execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
SET @save_sql_log_bin=@@SQL_LOG_BIN; SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0; SET SESSION SQL_LOG_BIN=0;
SET @wsrep_cannot_replicate_tz=0;
LOCK TABLES time_zone WRITE, LOCK TABLES time_zone WRITE,
time_zone_leap_second WRITE, time_zone_leap_second WRITE,
time_zone_name WRITE, time_zone_name WRITE,
...@@ -377,6 +379,7 @@ set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep ...@@ -377,6 +379,7 @@ set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep
execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0'); execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
SET @save_sql_log_bin=@@SQL_LOG_BIN; SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0; SET SESSION SQL_LOG_BIN=0;
SET @wsrep_cannot_replicate_tz=0;
LOCK TABLES time_zone WRITE, LOCK TABLES time_zone WRITE,
time_zone_leap_second WRITE, time_zone_leap_second WRITE,
time_zone_name WRITE, time_zone_name WRITE,
...@@ -441,8 +444,8 @@ TRUNCATE TABLE time_zone_transition_type; ...@@ -441,8 +444,8 @@ TRUNCATE TABLE time_zone_transition_type;
time_zone_transition_type WRITE')*/; time_zone_transition_type WRITE')*/;
UNLOCK TABLES; UNLOCK TABLES;
COMMIT; COMMIT;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id; execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0'); execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
......
...@@ -29,7 +29,7 @@ Warning 1478 Table storage engine 'MyISAM' does not support the create option 'T ...@@ -29,7 +29,7 @@ Warning 1478 Table storage engine 'MyISAM' does not support the create option 'T
'binlog stationary as expected' 'binlog stationary as expected'
SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN; SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@WSREP_ON @@SQL_LOG_BIN @wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@WSREP_ON @@SQL_LOG_BIN
1 1 1 1 1 1 1 0 1 1 1 1
SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
FROM information_schema.global_status g FROM information_schema.global_status g
JOIN baseline b USING (VARIABLE_NAME) JOIN baseline b USING (VARIABLE_NAME)
...@@ -197,10 +197,6 @@ TRUNCATE TABLE time_zone_leap_second; ...@@ -197,10 +197,6 @@ TRUNCATE TABLE time_zone_leap_second;
connection node_1; connection node_1;
SET GLOBAL WSREP_MODE=''; SET GLOBAL WSREP_MODE='';
Warnings: Warnings:
Warning 1105 ORDER BY ignored as there is a user-defined clustered index in the table 'time_zone_transition'
Warnings:
Warning 1105 ORDER BY ignored as there is a user-defined clustered index in the table 'time_zone_transition_type'
Warnings:
Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1' Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
Warnings: Warnings:
Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1' Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
...@@ -213,7 +209,7 @@ FROM information_schema.global_status g ...@@ -213,7 +209,7 @@ FROM information_schema.global_status g
JOIN baseline b USING (VARIABLE_NAME) JOIN baseline b USING (VARIABLE_NAME)
ORDER BY g.VARIABLE_NAME; ORDER BY g.VARIABLE_NAME;
VARIABLE_NAME diff VARIABLE_NAME diff
COM_ALTER_TABLE 10 COM_ALTER_TABLE 8
COM_BEGIN 1 COM_BEGIN 1
COM_INSERT 6 COM_INSERT 6
COM_LOCK_TABLES 0 COM_LOCK_TABLES 0
......
...@@ -2785,6 +2785,7 @@ main(int argc, char **argv) ...@@ -2785,6 +2785,7 @@ main(int argc, char **argv)
printf("execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');\n" printf("execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');\n"
"SET @save_sql_log_bin=@@SQL_LOG_BIN;\n" "SET @save_sql_log_bin=@@SQL_LOG_BIN;\n"
"SET SESSION SQL_LOG_BIN=0;\n" "SET SESSION SQL_LOG_BIN=0;\n"
"SET @wsrep_cannot_replicate_tz=0;\n"
"%s%s;\n", trunc_tables, lock_tables); "%s%s;\n", trunc_tables, lock_tables);
else else
// Alter time zone tables to InnoDB if wsrep_on is enabled // Alter time zone tables to InnoDB if wsrep_on is enabled
...@@ -2820,10 +2821,13 @@ main(int argc, char **argv) ...@@ -2820,10 +2821,13 @@ main(int argc, char **argv)
printf("UNLOCK TABLES;\n" printf("UNLOCK TABLES;\n"
"COMMIT;\n"); "COMMIT;\n");
printf("ALTER TABLE time_zone_transition " printf(
"ORDER BY Time_zone_id, Transition_time;\n"); "execute immediate if(@wsrep_cannot_replicate_tz, 'do 0',"
printf("ALTER TABLE time_zone_transition_type " "'ALTER TABLE time_zone_transition "
"ORDER BY Time_zone_id, Transition_type_id;\n"); "ORDER BY Time_zone_id, Transition_time');\n"
"execute immediate if(@wsrep_cannot_replicate_tz, 'do 0',"
"'ALTER TABLE time_zone_transition_type "
"ORDER BY Time_zone_id, Transition_type_id');\n");
} }
else else
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment