mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
259 lines
9.1 KiB
Text
259 lines
9.1 KiB
Text
--source include/have_innodb.inc
|
|
--source include/have_symlink.inc
|
|
--source include/not_windows.inc
|
|
--source include/no_protocol.inc
|
|
|
|
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;
|
|
|
|
--echo #
|
|
--echo # MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
|
|
--echo #
|
|
|
|
--exec mkdir $MYSQLTEST_VARDIR/zoneinfo
|
|
--exec ln -s $MYSQLTEST_VARDIR/zoneinfo $MYSQLTEST_VARDIR/zoneinfo/posix
|
|
--copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/GMT
|
|
--copy_file std_data/words.dat $MYSQLTEST_VARDIR/zoneinfo/garbage
|
|
--copy_file std_data/words.dat $MYSQLTEST_VARDIR/zoneinfo/ignored.tab
|
|
|
|
--echo # Verbose run
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--exec $MYSQL_TZINFO_TO_SQL --verbose $MYSQLTEST_VARDIR/zoneinfo 2>&1
|
|
|
|
--echo #
|
|
--echo # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
|
|
--echo #
|
|
|
|
--echo # Run on zoneinfo directory
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>&1
|
|
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo > $MYSQL_TMP_DIR/tz.sql
|
|
--disable_query_log
|
|
--source $MYSQL_TMP_DIR/tz.sql
|
|
--enable_query_log
|
|
SELECT COUNT(*) FROM time_zone;
|
|
SELECT COUNT(*) FROM time_zone_name;
|
|
SELECT COUNT(*) FROM time_zone_transition;
|
|
SELECT COUNT(*) FROM time_zone_transition_type;
|
|
SELECT COUNT(*) FROM time_zone_leap_second;
|
|
|
|
--echo #
|
|
--echo # Run on zoneinfo directory --skip-write-binlog
|
|
--echo #
|
|
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo 2>&1
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
|
|
--disable_query_log
|
|
CREATE TEMPORARY TABLE baseline AS
|
|
SELECT VARIABLE_NAME,VARIABLE_VALUE
|
|
FROM information_schema.global_status
|
|
WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
|
|
--source $MYSQL_TMP_DIR/tz.sql
|
|
--enable_query_log
|
|
|
|
SELECT COUNT(*) FROM time_zone;
|
|
SELECT COUNT(*) FROM time_zone_name;
|
|
SELECT COUNT(*) FROM time_zone_transition;
|
|
SELECT COUNT(*) FROM time_zone_transition_type;
|
|
SELECT COUNT(*) FROM time_zone_leap_second;
|
|
|
|
SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
|
|
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;
|
|
|
|
# Below tests don't include TRUNCATE TABLE so clear them.
|
|
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;
|
|
|
|
--echo #
|
|
--echo # Testing with explicit timezonefile
|
|
--echo #
|
|
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>&1
|
|
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
|
|
--disable_query_log
|
|
CREATE OR REPLACE TEMPORARY TABLE baseline AS
|
|
SELECT VARIABLE_NAME,VARIABLE_VALUE
|
|
FROM information_schema.global_status
|
|
WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
|
|
--source $MYSQL_TMP_DIR/tz.sql
|
|
--enable_query_log
|
|
|
|
SELECT COUNT(*) FROM time_zone;
|
|
SELECT COUNT(*) FROM time_zone_name;
|
|
SELECT COUNT(*) FROM time_zone_transition;
|
|
SELECT COUNT(*) FROM time_zone_transition_type;
|
|
SELECT COUNT(*) FROM time_zone_leap_second;
|
|
|
|
SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
|
|
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;
|
|
|
|
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;
|
|
|
|
--echo #
|
|
--echo # Testing with explicit timezonefile --skip-write-binlog
|
|
--echo #
|
|
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>&1
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
|
|
--disable_query_log
|
|
CREATE OR REPLACE TEMPORARY TABLE baseline AS
|
|
SELECT VARIABLE_NAME,VARIABLE_VALUE
|
|
FROM information_schema.global_status
|
|
WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
|
|
--source $MYSQL_TMP_DIR/tz.sql
|
|
--enable_query_log
|
|
|
|
SELECT COUNT(*) FROM time_zone;
|
|
SELECT COUNT(*) FROM time_zone_name;
|
|
SELECT COUNT(*) FROM time_zone_transition;
|
|
SELECT COUNT(*) FROM time_zone_transition_type;
|
|
SELECT COUNT(*) FROM time_zone_leap_second;
|
|
|
|
SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
|
|
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;
|
|
|
|
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;
|
|
|
|
--echo #
|
|
--echo # Testing --leap
|
|
--echo #
|
|
|
|
--exec $MYSQL_TZINFO_TO_SQL --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>&1
|
|
--exec $MYSQL_TZINFO_TO_SQL --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
|
|
--disable_query_log
|
|
CREATE OR REPLACE TEMPORARY TABLE baseline AS
|
|
SELECT VARIABLE_NAME,VARIABLE_VALUE
|
|
FROM information_schema.global_status
|
|
WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
|
|
--source $MYSQL_TMP_DIR/tz.sql
|
|
--enable_query_log
|
|
|
|
SELECT COUNT(*) FROM time_zone;
|
|
SELECT COUNT(*) FROM time_zone_name;
|
|
SELECT COUNT(*) FROM time_zone_transition;
|
|
SELECT COUNT(*) FROM time_zone_transition_type;
|
|
SELECT COUNT(*) FROM time_zone_leap_second;
|
|
|
|
SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
|
|
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;
|
|
|
|
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;
|
|
|
|
--echo #
|
|
--echo # Testing --skip-write-binlog --leap
|
|
--echo #
|
|
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>&1
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog --leap $MYSQLTEST_VARDIR/zoneinfo/GMT > $MYSQL_TMP_DIR/tz.sql
|
|
--disable_query_log
|
|
CREATE OR REPLACE TEMPORARY TABLE baseline AS
|
|
SELECT VARIABLE_NAME,VARIABLE_VALUE
|
|
FROM information_schema.global_status
|
|
WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
|
|
--source $MYSQL_TMP_DIR/tz.sql
|
|
--enable_query_log
|
|
|
|
SELECT COUNT(*) FROM time_zone;
|
|
SELECT COUNT(*) FROM time_zone_name;
|
|
SELECT COUNT(*) FROM time_zone_transition;
|
|
SELECT COUNT(*) FROM time_zone_transition_type;
|
|
SELECT COUNT(*) FROM time_zone_leap_second;
|
|
|
|
SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
|
|
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;
|
|
|
|
--echo #
|
|
--echo # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
|
|
--echo #
|
|
|
|
--echo #
|
|
--echo # Testing --skip-write-binlog
|
|
--echo #
|
|
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>&1
|
|
|
|
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>&1
|
|
|
|
--echo #
|
|
--echo # End of 10.2 tests
|
|
--echo #
|
|
|
|
--echo #
|
|
--echo # MDEV-29347 MariaDB 10.6.8 fails to start when ONLY_FULL_GROUP_BY gets provided
|
|
--echo #
|
|
|
|
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo > $MYSQL_TMP_DIR/tz.sql
|
|
set sql_mode=only_full_group_by;
|
|
--disable_query_log
|
|
--source $MYSQL_TMP_DIR/tz.sql
|
|
--enable_query_log
|
|
SELECT COUNT(*) FROM time_zone;
|
|
SELECT COUNT(*) FROM time_zone_name;
|
|
SELECT COUNT(*) FROM time_zone_transition;
|
|
SELECT COUNT(*) FROM time_zone_transition_type;
|
|
SELECT COUNT(*) FROM time_zone_leap_second;
|
|
select @@sql_mode;
|
|
set sql_mode=default;
|
|
|
|
--echo #
|
|
--echo # MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL
|
|
--echo #
|
|
--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
|
|
--exec mkdir $MYSQLTEST_VARDIR/zoneinfo
|
|
--copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/Factory
|
|
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>&1
|
|
|
|
#
|
|
# Cleanup
|
|
#
|
|
|
|
--remove_file $MYSQL_TMP_DIR/tz.sql
|
|
--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
|
|
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;
|
|
|
|
--echo #
|
|
--echo # End of 10.6 tests
|
|
--echo #
|