-- source include/have_utf8.inc -- source include/have_utf8mb4.inc -- source include/have_ucs2.inc -- source include/have_binlog_format_statement.inc -- source include/have_log_bin.inc --disable_query_log CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); --enable_query_log RESET MASTER; SET timestamp=1000000000; --echo # --echo # MDEV-30164 System variable for default collations --echo # SET character_set_collations='utf8mb3=utf8mb3_bin,ucs2=ucs2_bin'; CREATE TABLE t1 (a VARCHAR(20)); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(20) CHARACTER SET utf8mb4); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin); DROP TABLE t1; CREATE TABLE t1 (a VARCHAR(20) CHARACTER SET utf8mb3); INSERT INTO t1 VALUES ('a00'); INSERT INTO t1 VALUES (_utf8mb3'a01-utf8mb3'); INSERT INTO t1 VALUES (_utf8mb4'a01-utf8mb4'); PREPARE stmt FROM 'INSERT INTO t1 VALUES (?)'; EXECUTE stmt USING _utf8mb3'a02-utf8mb3'; EXECUTE stmt USING _utf8mb4'a02-utf8mb4'; EXECUTE stmt USING CONVERT('a03-utf8mb3' USING utf8mb3); EXECUTE stmt USING CONVERT('a03-utf8mb4' USING utf8mb4); EXECUTE stmt USING IF(0,CONVERT('a04-utf8mb3' USING utf8mb3),CONVERT('a03-utf8mb4' USING utf8mb4)); EXECUTE stmt USING IF(1,CONVERT('a04-utf8mb3' USING utf8mb3),CONVERT('a03-utf8mb4' USING utf8mb4)); DEALLOCATE PREPARE stmt; DROP TABLE t1; PREPARE stmt FROM 'CREATE TABLE t1 (a VARCHAR(20) CHARACTER SET utf8mb4)'; EXECUTE stmt; DROP TABLE t1; DEALLOCATE PREPARE stmt; PREPARE stmt FROM 'CREATE TABLE t1 (a VARCHAR(20) CHARACTER SET utf8mb3)'; EXECUTE stmt; DROP TABLE t1; DEALLOCATE PREPARE stmt; EXECUTE IMMEDIATE 'CREATE TABLE t1 (a VARCHAR(20) CHARACTER SET utf8mb4)'; DROP TABLE t1; EXECUTE IMMEDIATE 'CREATE TABLE t1 (a VARCHAR(20) CHARACTER SET utf8mb3)'; DROP TABLE t1; ### Starting master-bin.000002 FLUSH LOGS; --disable_query_log SELECT "--- ---- ---" as ""; --enable_query_log let $MYSQLD_DATADIR= `select @@datadir`; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --replace_regex /SQL_LOAD_MB-[0-9a-f]+-[0-9a-f]+/SQL_LOAD_MB-#-#/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ --exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLD_DATADIR/master-bin.000001