mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-27 08:58:13 +01:00 
			
		
		
		
	 0802e5a7eb
			
		
	
	
	0802e5a7eb
	
	
	
		
			
			Fixed a sorting order condition that in its previous form could lead to the formation of an incorrect pattern for comparing strings.
		
			
				
	
	
		
			545 lines
		
	
	
	
		
			34 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			545 lines
		
	
	
	
		
			34 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| CREATE TABLE time_zone LIKE mysql.time_zone;
 | |
| CREATE TABLE time_zone_name LIKE mysql.time_zone_name;
 | |
| CREATE TABLE time_zone_transition LIKE mysql.time_zone_transition;
 | |
| CREATE TABLE time_zone_transition_type LIKE mysql.time_zone_transition_type;
 | |
| CREATE TABLE time_zone_leap_second LIKE mysql.time_zone_leap_second;
 | |
| #
 | |
| # MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
 | |
| #
 | |
| # Verbose run
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_name''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition_type''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
 | |
| SET @old_alter_alg=@@SESSION.alter_algorithm;
 | |
| SET session alter_algorithm='COPY';
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| /*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE')*/;
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/ignored.tab' as time zone. Skipping it.
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zone. Skipping it.
 | |
| Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','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_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_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_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
 | |
| SET session alter_algorithm=@old_alter_alg;
 | |
| #
 | |
| # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
 | |
| #
 | |
| # Run on zoneinfo directory
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_name''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition_type''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
 | |
| SET @old_alter_alg=@@SESSION.alter_algorithm;
 | |
| SET session alter_algorithm='COPY';
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| /*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE')*/;
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','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_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_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_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
 | |
| SET session alter_algorithm=@old_alter_alg;
 | |
| SELECT COUNT(*) FROM time_zone;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_name;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_transition;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition_type;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_leap_second;
 | |
| COUNT(*)
 | |
| 0
 | |
| #
 | |
| # Run on zoneinfo directory --skip-write-binlog
 | |
| #
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| 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 SESSION SQL_LOG_BIN=0;
 | |
| SET @wsrep_cannot_replicate_tz=0;
 | |
| SET @old_alter_alg=@@SESSION.alter_algorithm;
 | |
| SET session alter_algorithm='COPY';
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE;
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','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_type ORDER BY Time_zone_id, Transition_type_id');
 | |
| SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
 | |
| execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
 | |
| SET session alter_algorithm=@old_alter_alg;
 | |
| SELECT COUNT(*) FROM time_zone;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_name;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_transition;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition_type;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_leap_second;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT @wsrep_is_on,  @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
 | |
| @wsrep_is_on	@wsrep_cannot_replicate_tz	@save_wsrep_on	@save_sql_log_bin	@@SQL_LOG_BIN
 | |
| 0	0	NULL	1	1
 | |
| SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
 | |
| FROM information_schema.global_status g
 | |
| JOIN baseline b USING (VARIABLE_NAME)
 | |
| ORDER BY g.VARIABLE_NAME;
 | |
| VARIABLE_NAME	diff
 | |
| COM_ALTER_TABLE	2
 | |
| COM_BEGIN	0
 | |
| COM_INSERT	6
 | |
| COM_LOCK_TABLES	1
 | |
| COM_TRUNCATE	4
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| TRUNCATE TABLE time_zone_leap_second;
 | |
| #
 | |
| # Testing with explicit timezonefile
 | |
| #
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_name''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition_type''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
 | |
| /*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE')*/;
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| 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_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_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
 | |
| SELECT COUNT(*) FROM time_zone;
 | |
| COUNT(*)
 | |
| 1
 | |
| SELECT COUNT(*) FROM time_zone_name;
 | |
| COUNT(*)
 | |
| 1
 | |
| SELECT COUNT(*) FROM time_zone_transition;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition_type;
 | |
| COUNT(*)
 | |
| 1
 | |
| SELECT COUNT(*) FROM time_zone_leap_second;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT @wsrep_is_on,  @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
 | |
| @wsrep_is_on	@wsrep_cannot_replicate_tz	@save_wsrep_on	@save_sql_log_bin	@@SQL_LOG_BIN
 | |
| 0	0	NULL	1	1
 | |
| SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
 | |
| FROM information_schema.global_status g
 | |
| JOIN baseline b USING (VARIABLE_NAME)
 | |
| ORDER BY g.VARIABLE_NAME;
 | |
| VARIABLE_NAME	diff
 | |
| COM_ALTER_TABLE	0
 | |
| COM_BEGIN	0
 | |
| COM_INSERT	3
 | |
| COM_LOCK_TABLES	1
 | |
| COM_TRUNCATE	0
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| TRUNCATE TABLE time_zone_leap_second;
 | |
| #
 | |
| # Testing with explicit timezonefile --skip-write-binlog
 | |
| #
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| 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 SESSION SQL_LOG_BIN=0;
 | |
| SET @wsrep_cannot_replicate_tz=0;
 | |
| LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE;
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
 | |
| execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
 | |
| SELECT COUNT(*) FROM time_zone;
 | |
| COUNT(*)
 | |
| 1
 | |
| SELECT COUNT(*) FROM time_zone_name;
 | |
| COUNT(*)
 | |
| 1
 | |
| SELECT COUNT(*) FROM time_zone_transition;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition_type;
 | |
| COUNT(*)
 | |
| 1
 | |
| SELECT COUNT(*) FROM time_zone_leap_second;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT @wsrep_is_on,  @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
 | |
| @wsrep_is_on	@wsrep_cannot_replicate_tz	@save_wsrep_on	@save_sql_log_bin	@@SQL_LOG_BIN
 | |
| 0	0	NULL	1	1
 | |
| SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
 | |
| FROM information_schema.global_status g
 | |
| JOIN baseline b USING (VARIABLE_NAME)
 | |
| ORDER BY g.VARIABLE_NAME;
 | |
| VARIABLE_NAME	diff
 | |
| COM_ALTER_TABLE	0
 | |
| COM_BEGIN	0
 | |
| COM_INSERT	3
 | |
| COM_LOCK_TABLES	1
 | |
| COM_TRUNCATE	0
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| TRUNCATE TABLE time_zone_leap_second;
 | |
| #
 | |
| # Testing --leap
 | |
| #
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_name''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition_type''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
 | |
| /*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE')*/;
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_leap_second_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_leap_second''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_leap_second ENGINE=InnoDB', 'do 0');
 | |
| TRUNCATE TABLE time_zone_leap_second;
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_leap_second ENGINE=', @time_zone_leap_second_engine), 'do 0');
 | |
| ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| 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_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_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
 | |
| SELECT COUNT(*) FROM time_zone;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_name;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition_type;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_leap_second;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT @wsrep_is_on,  @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
 | |
| @wsrep_is_on	@wsrep_cannot_replicate_tz	@save_wsrep_on	@save_sql_log_bin	@@SQL_LOG_BIN
 | |
| 0	0	NULL	1	1
 | |
| SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
 | |
| FROM information_schema.global_status g
 | |
| JOIN baseline b USING (VARIABLE_NAME)
 | |
| ORDER BY g.VARIABLE_NAME;
 | |
| VARIABLE_NAME	diff
 | |
| COM_ALTER_TABLE	1
 | |
| COM_BEGIN	0
 | |
| COM_INSERT	0
 | |
| COM_LOCK_TABLES	1
 | |
| COM_TRUNCATE	1
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| TRUNCATE TABLE time_zone_leap_second;
 | |
| #
 | |
| # Testing --skip-write-binlog --leap
 | |
| #
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| 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 SESSION SQL_LOG_BIN=0;
 | |
| SET @wsrep_cannot_replicate_tz=0;
 | |
| LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE;
 | |
| TRUNCATE TABLE time_zone_leap_second;
 | |
| ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
 | |
| execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
 | |
| SELECT COUNT(*) FROM time_zone;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_name;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition_type;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_leap_second;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT @wsrep_is_on,  @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
 | |
| @wsrep_is_on	@wsrep_cannot_replicate_tz	@save_wsrep_on	@save_sql_log_bin	@@SQL_LOG_BIN
 | |
| 0	0	NULL	1	1
 | |
| SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
 | |
| FROM information_schema.global_status g
 | |
| JOIN baseline b USING (VARIABLE_NAME)
 | |
| ORDER BY g.VARIABLE_NAME;
 | |
| VARIABLE_NAME	diff
 | |
| COM_ALTER_TABLE	1
 | |
| COM_BEGIN	0
 | |
| COM_INSERT	0
 | |
| COM_LOCK_TABLES	1
 | |
| COM_TRUNCATE	1
 | |
| #
 | |
| # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
 | |
| #
 | |
| #
 | |
| # Testing --skip-write-binlog
 | |
| #
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| 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 SESSION SQL_LOG_BIN=0;
 | |
| SET @wsrep_cannot_replicate_tz=0;
 | |
| LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE;
 | |
| INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
 | |
| SET @time_zone_id= LAST_INSERT_ID();
 | |
| INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
 | |
| INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
 | |
|  (@time_zone_id, 0, 0, 0, 'GMT')
 | |
| ;
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
 | |
| execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| 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 SESSION SQL_LOG_BIN=0;
 | |
| SET @wsrep_cannot_replicate_tz=0;
 | |
| LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE;
 | |
| TRUNCATE TABLE time_zone_leap_second;
 | |
| ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
 | |
| execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
 | |
| #
 | |
| # End of 10.2 tests
 | |
| #
 | |
| #
 | |
| # MDEV-29347 MariaDB 10.6.8 fails to start when ONLY_FULL_GROUP_BY gets provided
 | |
| #
 | |
| set sql_mode=only_full_group_by;
 | |
| SELECT COUNT(*) FROM time_zone;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_name;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_transition;
 | |
| COUNT(*)
 | |
| 0
 | |
| SELECT COUNT(*) FROM time_zone_transition_type;
 | |
| COUNT(*)
 | |
| 2
 | |
| SELECT COUNT(*) FROM time_zone_leap_second;
 | |
| COUNT(*)
 | |
| 0
 | |
| select @@sql_mode;
 | |
| @@sql_mode
 | |
| ONLY_FULL_GROUP_BY
 | |
| set sql_mode=default;
 | |
| #
 | |
| # MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL
 | |
| #
 | |
| set @wsrep_is_on=(select coalesce(sum(SESSION_VALUE='ON'), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_on');
 | |
| SET STATEMENT SQL_MODE='' FOR SELECT concat('%', GROUP_CONCAT(OPTION ORDER BY OPTION DESC), '%') INTO @replicate_opt  FROM   (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION    FROM information_schema.TABLES    WHERE TABLE_SCHEMA=DATABASE()      AND TABLE_NAME IN ('time_zone',                         'time_zone_name',                         'time_zone_transition',                         'time_zone_transition_type',                         'time_zone_leap_second')      AND ENGINE in ('MyISAM',                     'Aria')) AS o;
 | |
| set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select coalesce(sum(GLOBAL_VALUE NOT LIKE @replicate_opt), 0) from information_schema.SYSTEM_VARIABLES WHERE VARIABLE_NAME='wsrep_mode');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_name''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME=''time_zone_transition_type''', 'do 0');
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
 | |
| SET @old_alter_alg=@@SESSION.alter_algorithm;
 | |
| SET session alter_algorithm='COPY';
 | |
| TRUNCATE TABLE time_zone;
 | |
| TRUNCATE TABLE time_zone_name;
 | |
| TRUNCATE TABLE time_zone_transition;
 | |
| TRUNCATE TABLE time_zone_transition_type;
 | |
| /*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
 | |
|   time_zone_leap_second WRITE,
 | |
|   time_zone_name WRITE,
 | |
|   time_zone_transition WRITE,
 | |
|   time_zone_transition_type WRITE')*/;
 | |
| UNLOCK TABLES;
 | |
| COMMIT;
 | |
| execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','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_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_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_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
 | |
| SET session alter_algorithm=@old_alter_alg;
 | |
| DROP TABLE baseline;
 | |
| DROP TABLE time_zone;
 | |
| DROP TABLE time_zone_name;
 | |
| DROP TABLE time_zone_transition;
 | |
| DROP TABLE time_zone_transition_type;
 | |
| DROP TABLE time_zone_leap_second;
 | |
| #
 | |
| # End of 10.6 tests
 | |
| #
 |