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