summaryrefslogtreecommitdiff
path: root/mysql-test/extra
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/extra')
-rw-r--r--mysql-test/extra/binlog_tests/binlog.test412
-rw-r--r--mysql-test/extra/binlog_tests/binlog_cache_stat.test251
-rw-r--r--mysql-test/extra/binlog_tests/binlog_incident-master.opt1
-rw-r--r--mysql-test/extra/binlog_tests/binlog_incident.inc68
-rw-r--r--mysql-test/extra/binlog_tests/binlog_index.inc278
-rw-r--r--mysql-test/extra/binlog_tests/binlog_insert_delayed.test71
-rw-r--r--mysql-test/extra/binlog_tests/binlog_ioerr.inc36
-rw-r--r--mysql-test/extra/binlog_tests/binlog_mysqlbinlog-cp932.inc50
-rw-r--r--mysql-test/extra/binlog_tests/binlog_row_annotate.inc192
-rw-r--r--mysql-test/extra/binlog_tests/binlog_truncate.test63
-rw-r--r--mysql-test/extra/binlog_tests/binlog_write_error.inc108
-rw-r--r--mysql-test/extra/binlog_tests/binlog_xa_recover.inc281
-rw-r--r--mysql-test/extra/binlog_tests/blackhole.test208
-rw-r--r--mysql-test/extra/binlog_tests/ctype_cp932.test468
-rw-r--r--mysql-test/extra/binlog_tests/ctype_cp932_binlog.test35
-rw-r--r--mysql-test/extra/binlog_tests/ctype_ucs_binlog.result212
-rw-r--r--mysql-test/extra/binlog_tests/ctype_ucs_binlog.test63
-rw-r--r--mysql-test/extra/binlog_tests/database.test94
-rw-r--r--mysql-test/extra/binlog_tests/drop_table.test34
-rw-r--r--mysql-test/extra/binlog_tests/drop_temp_table.test102
-rw-r--r--mysql-test/extra/binlog_tests/implicit.test28
-rw-r--r--mysql-test/extra/binlog_tests/insert_select-binlog.test38
-rw-r--r--mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test654
-rw-r--r--mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test295
-rw-r--r--mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc1923
25 files changed, 0 insertions, 5965 deletions
diff --git a/mysql-test/extra/binlog_tests/binlog.test b/mysql-test/extra/binlog_tests/binlog.test
deleted file mode 100644
index 810a402580c..00000000000
--- a/mysql-test/extra/binlog_tests/binlog.test
+++ /dev/null
@@ -1,412 +0,0 @@
-#
-# misc binlogging tests that do not require a slave running
-#
-
--- source include/have_log_bin.inc
--- source include/not_embedded.inc
--- source include/have_innodb.inc
--- source include/have_debug.inc
-
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-reset master;
-
-create table t1 (a int) engine=innodb;
-create table t2 (a int) engine=innodb;
-begin;
-insert t1 values (5);
-commit;
-begin;
-insert t2 values (5);
-commit;
-# first COMMIT must be Query_log_event, second - Xid_log_event
-source include/show_binlog_events.inc;
-drop table t1,t2;
-
-#
-# binlog rotation after one big transaction
-#
-reset master;
-let $1=100;
-
-create table t1 (n int) engine=innodb;
-begin;
---disable_query_log
-while ($1)
-{
- eval insert into t1 values($1 + 4);
- dec $1;
-}
---enable_query_log
-commit;
-# Make sure binlog checkpoint is logged before DROP TABLE to avoid random
-# result difference.
---source include/wait_for_binlog_checkpoint.inc
-drop table t1;
---source include/show_binlog_events.inc
---let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
---source include/show_binlog_events.inc
---let $binlog_file=
-
-#
-# Bug#22540 - Incorrect value in column End_log_pos of
-# SHOW BINLOG EVENTS using InnoDB
-#
-
-# the following tests will show that certain queries now return
-# absolute offsets (from binlog start, rather than relative to
-# the beginning of the current transaction). under what
-# conditions it should be allowed / is sensible to put the
-# slider into the middle of a transaction is not our concern
-# here; we just guarantee that if and when it's done, the
-# user has valid offsets to use. if the setter function still
-# wants to throw a "positioning into middle of transaction"
-# warning, that's its prerogative and handled elsewhere.
-
-set @ac = @@autocommit;
-
-# first show this to work for SHOW BINLOG EVENTS
-
-set autocommit= 0;
-reset master;
-create table t1(n int) engine=innodb;
-begin;
-insert into t1 values (1);
-insert into t1 values (2);
-insert into t1 values (3);
-commit;
-drop table t1;
---source include/show_binlog_events.inc
-
-# now show that nothing breaks if we need to read from the cache more
-# than once, resulting in split event-headers
-
-set @bcs = @@binlog_cache_size;
-set global binlog_cache_size=4096;
-reset master;
-
-create table t1 (a int, b char(255)) engine=innodb;
-
-flush status;
-show status like "binlog_cache_use";
-
-let $1=100;
-disable_query_log;
-begin;
-while ($1)
-{
- eval insert into t1 values( $1, 'just to fill void to make transaction occupying at least two buffers of the trans cache' );
- dec $1;
-}
-commit;
---echo *** the following must show the counter value = 1 ***
-show status like "binlog_cache_use";
-enable_query_log;
-
---source include/show_binlog_events.inc
-
-drop table t1;
-
-set global binlog_cache_size=@bcs;
-set session autocommit = @ac;
-
-#
-# Bug#33798: prepared statements improperly handle large unsigned ints
-#
---disable_warnings
-drop table if exists t1;
---enable_warnings
-reset master;
-create table t1 (a bigint unsigned, b bigint(20) unsigned);
-prepare stmt from "insert into t1 values (?,?)";
-set @a= 9999999999999999;
-set @b= 14632475938453979136;
-execute stmt using @a, @b;
-deallocate prepare stmt;
-drop table t1;
---source include/show_binlog_events.inc
-
-
-#
-# Bug #39182: Binary log producing incompatible character set query from
-# stored procedure.
-#
-reset master;
-CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-USE bug39182;
-CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci)
- DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-DELIMITER //;
-
-CREATE PROCEDURE p1()
-BEGIN
- DECLARE s1 VARCHAR(255);
- SET s1= "test";
- CREATE TEMPORARY TABLE tmp1
- SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%");
- SELECT
- COLLATION(NAME_CONST('s1', _utf8'test')) c1,
- COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2,
- COLLATION(s1) c3,
- COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1,
- COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2,
- COERCIBILITY(s1) d3;
- DROP TEMPORARY TABLE tmp1;
-END//
-
-DELIMITER ;//
-
-CALL p1();
-source include/show_binlog_events.inc;
-
-DROP PROCEDURE p1;
-DROP TABLE t1;
-DROP DATABASE bug39182;
-USE test;
-
-#
-# Bug#35383: binlog playback and replication breaks due to
-# name_const substitution
-#
-DELIMITER //;
-CREATE PROCEDURE p1(IN v1 INT)
-BEGIN
- CREATE TABLE t1 SELECT v1;
- DROP TABLE t1;
-END//
-CREATE PROCEDURE p2()
-BEGIN
- DECLARE v1 INT;
- CREATE TABLE t1 SELECT v1+1;
- DROP TABLE t1;
-END//
-CREATE PROCEDURE p3(IN v1 INT)
-BEGIN
- CREATE TABLE t1 SELECT 1 FROM DUAL WHERE v1!=0;
- DROP TABLE t1;
-END//
-CREATE PROCEDURE p4(IN v1 INT)
-BEGIN
- DECLARE v2 INT;
- CREATE TABLE t1 SELECT 1, v1, v2;
- DROP TABLE t1;
- CREATE TABLE t1 SELECT 1, v1+1, v2;
- DROP TABLE t1;
-END//
-DELIMITER ;//
-
-CALL p1(1);
-CALL p2();
-CALL p3(0);
-CALL p4(0);
-DROP PROCEDURE p1;
-DROP PROCEDURE p2;
-DROP PROCEDURE p3;
-DROP PROCEDURE p4;
-
---echo End of 5.0 tests
-
-# Test of a too big SET INSERT_ID.
-# This should generate an error and should not be put in binlog
-# We look at the binlog further down with SHOW BINLOG EVENTS.
-
-reset master;
-create table t1 (id tinyint auto_increment primary key);
-insert into t1 values(5);
-set insert_id=128;
---error HA_ERR_AUTOINC_ERANGE
-insert into t1 values(null) /* Not binlogged */;
-
-# The followin insert ignore will be put in binlog
-set insert_id=128;
-insert ignore into t1 values(null) /* Insert 128 */;
-
-# Insert with duplicate key error should not go into binglo
-set insert_id=5;
---error ER_DUP_ENTRY
-insert into t1 values(null) /* Not binlogged */;
-
-# Insert with autogenerated key + duplicate key error should go into binlog
-set insert_id=5;
-insert ignore into t1 values(null) /* Insert 5 */;
-select * from t1;
-drop table t1;
-
-# Same tests but with 2 rows inserted at a time
-
-create table t1 (id tinyint auto_increment primary key) engine=myisam;
-set insert_id=128;
---error HA_ERR_AUTOINC_ERANGE
-insert into t1 values(5),(null) /* Insert_id 128 */;
-
-# The followin insert ignore will be put in binlog
-set insert_id=128;
-insert ignore into t1 values (4),(null) /* Insert_id 128 */;
-
-# Insert with duplicate key error should not go into binglo
-set insert_id=5;
---error ER_DUP_ENTRY
-insert into t1 values(3),(null) /* Insert_id 5 */;
-
-# Insert with autogenerated key + duplicate key error should go into binlog
-set insert_id=5;
-insert ignore into t1 values(2),(null) /* Insert_id 5 */;
-select * from t1 order by id;
-drop table t1;
-
-
-# bug#22027
-create table t1 (a int);
-create table if not exists t2 select * from t1;
-
-# bug#22762
-create temporary table tt1 (a int);
-create table if not exists t3 like tt1;
-
-# BUG#25091 (A DELETE statement to mysql database is not logged with
-# ROW mode format): Checking that some basic operations on tables in
-# the mysql database is replicated even when the current database is
-# 'mysql'.
-
---disable_warnings
-USE mysql;
-INSERT IGNORE INTO user SET host='localhost', user='@#@', password=password('Just a test');
-UPDATE user SET password=password('Another password') WHERE host='localhost' AND user='@#@';
-DELETE FROM user WHERE host='localhost' AND user='@#@';
---enable_warnings
-
-use test;
-source include/show_binlog_events.inc;
-drop table t1,t2,t3,tt1;
-
--- source extra/binlog_tests/binlog_insert_delayed.test
-
-#Bug #26079 max_binlog_size + innodb = not make new binlog and hang server
-# server should not hang, binlog must rotate in the end
-reset master;
---disable_warnings
-drop table if exists t3;
---enable_warnings
-create table t3 (a int(11) NOT NULL AUTO_INCREMENT, b text, PRIMARY KEY (a) ) engine=innodb;
---let $binlog_file1= query_get_value(SHOW MASTER STATUS, File, 1)
---echo File $binlog_file1
-let $it=4;
-while ($it)
-{
-insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
-dec $it;
-}
---let $binlog_file2= query_get_value(SHOW MASTER STATUS, File, 1)
---echo *** show new binlog index after rotating ***
---echo File $binlog_file2
-drop table t3;
-
---echo #
---echo # Bug #45998: database crashes when running "create as select"
---echo #
-CREATE DATABASE test1;
-USE test1;
-DROP DATABASE test1;
-CREATE TABLE test.t1(a int);
-INSERT INTO test.t1 VALUES (1), (2);
-CREATE TABLE test.t2 SELECT * FROM test.t1;
-USE test;
-DROP TABLES t1, t2;
-
-#
-# Bug#46640
-# This test verifies if the server_id stored in the "format
-# description BINLOG statement" will override the server_id
-# of the server executing the statements.
-#
-
-connect (fresh,localhost,root,,test);
-connection fresh;
-
-RESET MASTER;
-CREATE TABLE t1 (a INT PRIMARY KEY);
-
-# Format description event, with server_id = 10;
-BINLOG '
-3u9kSA8KAAAAZgAAAGoAAAABAAQANS4xLjM1LW1hcmlhLWJldGExLWRlYnVnLWxvZwAAAAAAAAAA
-AAAAAAAAAAAAAAAAAADe72RIEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
-';
-
-# What server_id is logged for a statement? Should be our own, not the
-# one from the format description event.
-INSERT INTO t1 VALUES (1);
-
-# INSERT INTO t1 VALUES (2), with server_id=20. Check that this is logged
-# with our own server id, not the 20 from the BINLOG statement.
-BINLOG '
-3u9kSBMUAAAAKQAAAJEBAAAAABoAAAAAAAAABHRlc3QAAnQxAAEDAAA=
-3u9kSBcUAAAAIgAAALMBAAAQABoAAAAAAAEAAf/+AgAAAA==
-';
-
-# Show binlog events to check that server ids are correct.
---replace_column 1 # 2 # 5 #
---replace_regex /Server ver: .*, Binlog ver: .*/Server ver: #, Binlog ver: #/ /table_id: [0-9]+/table_id: #/
-SHOW BINLOG EVENTS;
-
-DROP TABLE t1;
-
---echo
---echo # BUG#54903 BINLOG statement toggles session variables
---echo # ----------------------------------------------------------------------
---echo # This test verify that BINLOG statement doesn't change current session's
---echo # variables foreign_key_checks and unique_checks.
---echo
-CREATE TABLE t1 (c1 INT KEY);
-
-SET @@SESSION.foreign_key_checks= ON;
-SET @@SESSION.unique_checks= ON;
-
---echo # INSERT INTO t1 VALUES (1)
---echo # foreign_key_checks=0 and unique_checks=0
-BINLOG '
-dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
-dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
-';
-
-SELECT * FROM t1;
---echo # Their values should be ON
-SHOW SESSION VARIABLES LIKE "foreign_key_checks";
-SHOW SESSION VARIABLES LIKE "unique_checks";
-
---echo
-SET @@SESSION.foreign_key_checks= OFF;
-SET @@SESSION.unique_checks= OFF;
-
---echo # INSERT INTO t1 VALUES(2)
---echo # foreign_key_checks=1 and unique_checks=1
-BINLOG '
-dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
-dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
-';
-
-SELECT * FROM t1;
---echo # Their values should be OFF
-SHOW SESSION VARIABLES LIKE "foreign_key_checks";
-SHOW SESSION VARIABLES LIKE "unique_checks";
-
---echo # INSERT INTO t1 VALUES(2)
---echo # foreign_key_checks=1 and unique_checks=1
---echo # It should not change current session's variables, even error happens
-call mtr.add_suppression("Slave SQL.*Could not execute Write_rows_v1 event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
---error 1062
-BINLOG '
-dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
-dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
-';
-
-SELECT * FROM t1;
---echo # Their values should be OFF
-SHOW SESSION VARIABLES LIKE "foreign_key_checks";
-SHOW SESSION VARIABLES LIKE "unique_checks";
-
-DROP TABLE t1;
-
-disconnect fresh;
-
diff --git a/mysql-test/extra/binlog_tests/binlog_cache_stat.test b/mysql-test/extra/binlog_tests/binlog_cache_stat.test
deleted file mode 100644
index a602b098201..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_cache_stat.test
+++ /dev/null
@@ -1,251 +0,0 @@
-# Embedded server doesn't support binlog
--- source include/not_embedded.inc
--- source include/have_innodb.inc
-
-# Creating tables
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-
-create table t1 (a int) engine=innodb;
-create table t2 (a int) engine=myisam;
-
-#
-# This test checks binlog_cache_use and binlog_cache_disk_use when
-# transactions are committed and after when they are aborted.
-#
-
-#
-# Checking commit.
-#
---echo **** Preparing the enviroment to check commit and its effect on status variables.
---echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
---echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
-flush status;
-let $exp_cache= 0;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 0;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 0;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Transactional changes which are long enough so they will be flushed to disk...
---echo **** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
-let $1=2000;
-disable_query_log;
-begin;
-while ($1)
-{
- eval insert into t1 values( $1 );
- dec $1;
-}
-commit;
-enable_query_log;
-let $exp_cache= 1;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 0;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Transactional changes which should not be flushed to disk and so should not
---echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
---echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
-begin;
-insert into t1 values( 1 );
-commit;
-let $exp_cache= 2;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 0;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Non-Transactional changes which should not be flushed to disk and so should not
---echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
---echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
-begin;
-insert into t2 values( 1 );
-commit;
-let $exp_cache= 2;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 1;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Mixed changes which should not be flushed to disk and so should not
---echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
---echo **** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
-begin;
-insert into t1 values( 1 );
-insert into t2 values( 1 );
-commit;
-let $exp_cache= 3;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 2;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
-#
-# Checking abort.
-#
---echo **** Preparing the enviroment to check abort and its effect on the status variables.
---echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
---echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
-flush status;
-let $exp_cache= 0;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 0;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 0;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Transactional changes which are long enough so they will be flushed to disk...
---echo **** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
-let $1=2000;
-disable_query_log;
-begin;
-while ($1)
-{
- eval insert into t1 values( $1 );
- dec $1;
-}
-rollback;
-enable_query_log;
-let $exp_cache= 1;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 0;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Transactional changes which should not be flushed to disk and so should not
---echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
---echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
-begin;
-insert into t1 values( 1 );
-rollback;
-let $exp_cache= 2;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 0;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Non-Transactional changes which should not be flushed to disk and so should not
---echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
---echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
-begin;
-insert into t2 values( 1 );
-rollback;
-let $exp_cache= 2;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 1;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-
---echo **** Mixed changes which should not be flushed to disk and so should not
---echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
---echo **** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
---echo **** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
-begin;
-insert into t1 values( 1 );
-insert into t2 values( 1 );
-rollback;
-let $exp_cache= 3;
-let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
-let $exp_disk= 1;
-let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
-let $exp_stmt_cache= 2;
-let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
-let $exp_stmt_disk= 0;
-let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
-if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
-{
- -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
- -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
- -- die
-}
-drop table t1, t2;
diff --git a/mysql-test/extra/binlog_tests/binlog_incident-master.opt b/mysql-test/extra/binlog_tests/binlog_incident-master.opt
deleted file mode 100644
index 57ce0081ae5..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_incident-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-debug=+d,incident_database_resync_on_replace \ No newline at end of file
diff --git a/mysql-test/extra/binlog_tests/binlog_incident.inc b/mysql-test/extra/binlog_tests/binlog_incident.inc
deleted file mode 100644
index 8ec67746f26..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_incident.inc
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# This include file is used by more than one test suite
-# (currently rpl and binlog_encryption).
-# Please check all dependent tests after modifying it
-#
-# Usage:
-#
-# --let $use_remote_mysqlbinlog= 1 # optional
-# --let $binlog_start_pos= <binlog position> # optional
-# --let $binlog_file= <binlog filename> # optional
-#
-# --source extra/binlog_tests/binlog_incident.inc
-#
-# The script uses MYSQLBINLOG to verify certain results.
-# By default, it uses binary logs directly. If it is undesirable,
-# this behavior can be overridden by setting $use_remote_binlog
-# as shown above.
-#
-# All values will be unset after every execution of the script,
-# so if they are needed, they should be set explicitly before each call.
-#
-
-# The purpose of this test is to provide a reference for how the
-# incident log event is represented in the output from the mysqlbinlog
-# program.
-
-source include/have_log_bin.inc;
-source include/have_debug.inc;
-source include/binlog_start_pos.inc;
-
-let $MYSQLD_DATADIR= `select @@datadir`;
-RESET MASTER;
-
-CREATE TABLE t1 (a INT);
-
-INSERT INTO t1 VALUES (1),(2),(3);
-SELECT * FROM t1;
-
-# This will generate an incident log event and store it in the binary
-# log before the replace statement.
-REPLACE INTO t1 VALUES (4);
-
-DROP TABLE t1;
-FLUSH LOGS;
-
-if ($binlog_start_pos)
-{
- --let $startpos= --start-position=$binlog_start_pos
- --let $binlog_start_pos=
-}
---let $filename= master-bin.000001
-if ($binlog_file)
-{
- --let $filename= $binlog_file
- --let $binlog_file=
-}
---let $mysqlbinlog_args= $MYSQLD_DATADIR/$filename
-if ($use_remote_mysqlbinlog)
-{
- --let $mysqlbinlog_args= --read-from-remote-server --protocol=tcp --host=127.0.0.1 --port=$MASTER_MYPORT -uroot $filename
- --let $use_remote_mysqlbinlog= 0
-}
-exec $MYSQL_BINLOG $startpos $mysqlbinlog_args >$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
---disable_query_log
-eval SELECT cont LIKE '%RELOAD DATABASE; # Shall generate syntax error%' AS `Contain RELOAD DATABASE` FROM (SELECT load_file('$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql') AS cont) AS tbl;
---enable_query_log
-
-remove_file $MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
diff --git a/mysql-test/extra/binlog_tests/binlog_index.inc b/mysql-test/extra/binlog_tests/binlog_index.inc
deleted file mode 100644
index b930386a0ba..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_index.inc
+++ /dev/null
@@ -1,278 +0,0 @@
-#
-# This include file is used by more than one test suite
-# (currently binlog and binlog_encryption).
-# Please check all dependent tests after modifying it
-#
-
-#
-# testing of purging of binary log files bug#18199/Bug#18453
-#
-source include/have_log_bin.inc;
-source include/not_embedded.inc;
-# Don't test this under valgrind, memory leaks will occur
---source include/not_valgrind.inc
-source include/have_debug.inc;
-# Avoid CrashReporter popup on Mac
---source include/not_crashrep.inc
-call mtr.add_suppression('Attempting backtrace');
-call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to process registered files that would be purged.');
-call mtr.add_suppression('MYSQL_BIN_LOG::open failed to sync the index file');
-call mtr.add_suppression('Turning logging off for the whole duration of the MySQL server process.');
-call mtr.add_suppression('Could not use .*');
-call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
-flush tables;
-
-let $old=`select @@debug`;
-
-RESET MASTER;
-
-let $MYSQLD_DATADIR= `select @@datadir`;
-let $INDEX=$MYSQLD_DATADIR/master-bin.index;
-
-#
-# testing purge binary logs TO
-#
-
-flush logs;
-flush logs;
-flush logs;
-
-source include/show_binary_logs.inc;
-remove_file $MYSQLD_DATADIR/master-bin.000001;
-flush tables;
-
-# there must be a warning with file names
-replace_regex /\.[\\\/]master/master/;
---source include/wait_for_binlog_checkpoint.inc
-purge binary logs TO 'master-bin.000004';
-
---echo *** must show a list starting from the 'TO' argument of PURGE ***
-source include/show_binary_logs.inc;
-
-#
-# testing purge binary logs BEFORE
-#
-
-reset master;
-
-flush logs;
-flush logs;
-flush logs;
-remove_file $MYSQLD_DATADIR/master-bin.000001;
-
---echo *** must be a warning master-bin.000001 was not found ***
-let $date=`select NOW() + INTERVAL 1 MINUTE`;
---disable_query_log
-replace_regex /\.[\\\/]master/master/;
---source include/wait_for_binlog_checkpoint.inc
-eval purge binary logs BEFORE '$date';
---enable_query_log
-
---echo *** must show one record, of the active binlog, left in the index file after PURGE ***
-source include/show_binary_logs.inc;
-
-#
-# testing a fatal error
-# Turning a binlog file into a directory must be a portable setup
-#
-
-reset master;
-
-flush logs;
-flush logs;
-flush logs;
-
-remove_file $MYSQLD_DATADIR/master-bin.000001;
-mkdir $MYSQLD_DATADIR/master-bin.000001;
-
---source include/wait_for_binlog_checkpoint.inc
---error ER_BINLOG_PURGE_FATAL_ERR
-purge binary logs TO 'master-bin.000002';
-replace_regex /\.[\\\/]master/master/;
-show warnings;
-rmdir $MYSQLD_DATADIR/master-bin.000001;
---disable_warnings
-reset master;
---enable_warnings
-
---echo # crash_purge_before_update_index
-flush logs;
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_purge_before_update_index";
---source include/wait_for_binlog_checkpoint.inc
---error 2013
-purge binary logs TO 'master-bin.000002';
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000001;
-file_exists $MYSQLD_DATADIR/master-bin.000002;
-file_exists $MYSQLD_DATADIR/master-bin.000003;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_purge_non_critical_after_update_index
-flush logs;
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_purge_non_critical_after_update_index";
---source include/wait_for_binlog_checkpoint.inc
---error 2013
-purge binary logs TO 'master-bin.000004';
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000001;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000002;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000003;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_purge_critical_after_update_index
-flush logs;
-
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_purge_critical_after_update_index";
---source include/wait_for_binlog_checkpoint.inc
---error 2013
-purge binary logs TO 'master-bin.000006';
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000004;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000005;
-file_exists $MYSQLD_DATADIR/master-bin.000006;
-file_exists $MYSQLD_DATADIR/master-bin.000007;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000008;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_create_non_critical_before_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_create_non_critical_before_update_index";
---error 2013
-flush logs;
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000008;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000009;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_create_critical_before_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_create_critical_before_update_index";
---error 2013
-flush logs;
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000009;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000010;
---error 1
-file_exists $MYSQLD_DATADIR/master-bin.000011;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # crash_create_after_update_index
---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-SET SESSION debug_dbug="+d,crash_create_after_update_index";
---error 2013
-flush logs;
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-file_exists $MYSQLD_DATADIR/master-bin.000010;
-file_exists $MYSQLD_DATADIR/master-bin.000011;
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo #
---echo # This should put the server in unsafe state and stop
---echo # accepting any command. If we inject a fault at this
---echo # point and continue the execution the server crashes.
---echo #
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # fault_injection_registering_index
-SET SESSION debug_dbug="+d,fault_injection_registering_index";
--- replace_regex /\.[\\\/]master/master/
--- error ER_CANT_OPEN_FILE
-flush logs;
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---source include/restart_mysqld.inc
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---echo # fault_injection_updating_index
-SET SESSION debug_dbug="+d,fault_injection_updating_index";
--- replace_regex /\.[\\\/]master/master/
--- error ER_CANT_OPEN_FILE
-flush logs;
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
---source include/restart_mysqld.inc
-
---chmod 0644 $INDEX
--- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--- eval SET @index=LOAD_FILE('$index')
--- replace_regex /\.[\\\/]master/master/
-SELECT @index;
-
-eval SET SESSION debug_dbug="$old";
-
---echo End of tests
diff --git a/mysql-test/extra/binlog_tests/binlog_insert_delayed.test b/mysql-test/extra/binlog_tests/binlog_insert_delayed.test
deleted file mode 100644
index 8f669fc1152..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_insert_delayed.test
+++ /dev/null
@@ -1,71 +0,0 @@
-# ==== Purpose ====
-#
-# Verify that INSERT DELAYED in mixed or row mode writes events to the
-# binlog, and that AUTO_INCREMENT works correctly.
-#
-# ==== Method ====
-#
-# Insert both single and multiple rows into an autoincrement column,
-# both with specified value and with NULL.
-#
-# With INSERT DELAYED, the rows do not show up in the table
-# immediately, so we must do source include/wait_until_rows_count.inc
-# between any two INSERT DELAYED statements. Moreover, if mixed or
-# row-based logging is used, there is also a delay between when rows
-# show up in the table and when they show up in the binlog. To ensure
-# that the rows show up in the binlog, we call FLUSH TABLES, which
-# waits until the delayed_insert thread has finished.
-#
-# We cannot read the binlog after executing INSERT DELAYED statements
-# that insert multiple rows, because that is nondeterministic. More
-# precisely, rows may be written in batches to the binlog, where each
-# batch has one Table_map_log_event and one or more
-# Write_rows_log_event. The number of rows included in each batch is
-# nondeterministic.
-#
-# ==== Related bugs ====
-#
-# BUG#20627: INSERT DELAYED does not honour auto_increment_* variables
-# Bug in this test: BUG#38068: binlog_stm_binlog fails sporadically in pushbuild
-
-reset master;
-
-create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
-
-let $table=t1;
-let $count=0;
-
-insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
-inc $count;
---source include/wait_until_rows_count.inc
-
-insert /*! delayed */ into t1 values (null);
-inc $count;
---source include/wait_until_rows_count.inc
-
-insert delayed into t1 values (300);
-inc $count;
---source include/wait_until_rows_count.inc
-
-# It is not enough to wait until all rows have been inserted into the
-# table. FLUSH TABLES ensures that they are in the binlog too. See
-# comment above.
-FLUSH TABLES;
-source include/show_binlog_events.inc;
-
-RESET MASTER;
-insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
-inc $count; inc $count; inc $count; inc $count;
---source include/wait_until_rows_count.inc
-
-insert /*! delayed */ into t1 values (null),(null),(400),(null);
-inc $count; inc $count; inc $count; inc $count;
---source include/wait_until_rows_count.inc
-
-if (`SELECT @@SESSION.BINLOG_FORMAT = 'STATEMENT'`) {
- FLUSH TABLES;
- source include/show_binlog_events.inc;
-}
-
-select * from t1;
-drop table t1;
diff --git a/mysql-test/extra/binlog_tests/binlog_ioerr.inc b/mysql-test/extra/binlog_tests/binlog_ioerr.inc
deleted file mode 100644
index 8d1069bacb0..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_ioerr.inc
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# This include file is used by more than one test suite
-# (currently binlog and binlog_encryption).
-# Please check all dependent tests after modifying it
-#
-
-source include/have_debug.inc;
-source include/have_innodb.inc;
-source include/have_log_bin.inc;
-source include/have_binlog_format_mixed_or_statement.inc;
-
-CALL mtr.add_suppression("Error writing file 'master-bin'");
-
-RESET MASTER;
-
-CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
-INSERT INTO t1 VALUES(0);
-SET SESSION debug_dbug='+d,fail_binlog_write_1';
---error ER_ERROR_ON_WRITE
-INSERT INTO t1 VALUES(1);
---error ER_ERROR_ON_WRITE
-INSERT INTO t1 VALUES(2);
-SET SESSION debug_dbug='';
-INSERT INTO t1 VALUES(3);
-SELECT * FROM t1;
-
-# Actually the output from this currently shows a bug.
-# The injected IO error leaves partially written transactions in the binlog in
-# the form of stray "BEGIN" events.
-# These should disappear from the output if binlog error handling is improved
-# (see MySQL Bug#37148 and WL#1790).
---replace_regex /\/\* xid=.* \*\//\/* XID *\// /Server ver: .*, Binlog ver: .*/Server ver: #, Binlog ver: #/ /table_id: [0-9]+/table_id: #/
---replace_column 1 BINLOG 2 POS 5 ENDPOS
-SHOW BINLOG EVENTS;
-
-DROP TABLE t1;
diff --git a/mysql-test/extra/binlog_tests/binlog_mysqlbinlog-cp932.inc b/mysql-test/extra/binlog_tests/binlog_mysqlbinlog-cp932.inc
deleted file mode 100644
index ac637b2da03..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_mysqlbinlog-cp932.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# This include file is used by more than one test suite
-# (currently binlog and binlog_encryption).
-# Please check all dependent tests after modifying it
-#
-# Usage:
-# --let $use_remote_mysqlbinlog= 1 # optional
-# --source extra/binlog_tests/binlog_mysqlbinlog-cp932.inc
-#
-# By default, the script calls mysqlbinlog to read binary logs directly.
-# If it is undesirable, this behavior can be overridden by setting
-# $use_remote_binlog as shown above.
-# The value will be unset after every execution of the script,
-# so if it is needed, it should be set explicitly before each call.
-
-
-# disabled in embedded until tools running is fixed with embedded
---source include/not_embedded.inc
-
--- source include/have_binlog_format_mixed_or_statement.inc
--- source include/have_cp932.inc
--- source include/have_log_bin.inc
-
-RESET MASTER;
-
-# Bug#16217 (mysql client did not know how not switch its internal charset)
-create table t3 (f text character set utf8);
-create table t4 (f text character set cp932);
---exec $MYSQL --default-character-set=utf8 test -e "insert into t3 values(_utf8'ソ')"
---exec $MYSQL --default-character-set=cp932 test -e "insert into t4 values(_cp932'ƒ\');"
-flush logs;
-rename table t3 to t03, t4 to t04;
-let $MYSQLD_DATADIR= `select @@datadir`;
-
---let $mysqlbinlog_args= $MYSQLD_DATADIR/master-bin.000001
-if ($use_remote_mysqlbinlog)
-{
- --let $mysqlbinlog_args= --read-from-remote-server --protocol=tcp --host=127.0.0.1 --port=$MASTER_MYPORT -uroot master-bin.000001
- --let $use_remote_mysqlbinlog= 0
-}
-
---exec $MYSQL_BINLOG --short-form $mysqlbinlog_args | $MYSQL --default-character-set=utf8
-# original and recovered data must be equal
-select HEX(f) from t03;
-select HEX(f) from t3;
-select HEX(f) from t04;
-select HEX(f) from t4;
-
-drop table t3, t4, t03, t04;
---echo End of 5.0 tests
diff --git a/mysql-test/extra/binlog_tests/binlog_row_annotate.inc b/mysql-test/extra/binlog_tests/binlog_row_annotate.inc
deleted file mode 100644
index e53f49149f1..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_row_annotate.inc
+++ /dev/null
@@ -1,192 +0,0 @@
-#
-# This include file is used by more than one test suite
-# (currently binlog and binlog_encryption).
-# Please check all dependent tests after modifying it
-#
-# Usage:
-# --let use_remote_mysqlbinlog= 1 # optional
-# --source extra/binlog_tests/binlog_row_annotate.inc
-#
-# By default, the script uses mysqlbinlog both with direct access to files
-# and via connection to the server. In some cases, direct access to files
-# might be impossible (e.g. with encryption). If use_remote_mysqlbinlog
-# flag is set, this part of the logic will be omitted.
-#
-
-###############################################################################
-# WL47: Store in binlog text of statements that caused RBR events
-# new event: ANNOTATE_ROWS_EVENT
-# new master option: --binlog-annotate-row-events
-# new mysqlbinlog option: --skip-annotate-row-events
-#
-# Intended to test that:
-# *** If the --binlog-annotate-row-events option is switched on on master
-# then Annotate_rows events:
-# - are generated;
-# - are generated only once for "multi-table-maps" rbr queries;
-# - are not generated when the corresponding queries are filtered away;
-# - are generated when the corresponding queries are filtered away partialy
-# (e.g. in case of multi-delete).
-# *** Annotate_rows events are printed by mysqlbinlog started without
-# --skip-annotate-row-events options both in remote and local cases.
-# *** Annotate_rows events are not printed by mysqlbinlog started with
-# --skip-annotate-row-events options both in remote and local cases.
-###############################################################################
-
-set @old_binlog_checksum=@@binlog_checksum;
-set global binlog_checksum=NONE;
---let datadir= `select @@datadir`
-
---source include/have_log_bin.inc
---source include/binlog_start_pos.inc
---source include/have_binlog_format_row.inc
-
-set sql_mode="";
-
-# Fix timestamp to avoid varying results
-SET timestamp=1000000000;
-
-# Delete all existing binary logs
-RESET MASTER;
-
-CREATE DATABASE test1;
-CREATE TABLE test1.t1(a int);
-
-CREATE DATABASE test2;
-CREATE TABLE test2.t2(a int);
-CREATE VIEW test2.v2 AS SELECT * FROM test2.t2;
-
-CREATE DATABASE test3;
-CREATE TABLE test3.t3(a int);
-
-CREATE DATABASE xtest1;
-CREATE TABLE xtest1.xt1(a int);
-
-CREATE DATABASE xtest2;
-CREATE TABLE xtest2.xt2(a int);
-
-# By default SESSION binlog_annotate_row_events = OFF
-
-INSERT INTO test1.t1 VALUES (1), (2), (3);
-
-SET SESSION binlog_annotate_row_events = ON;
-
-INSERT INTO test2.t2 VALUES (1), (2), (3);
-INSERT INTO test3.t3 VALUES (1), (2), (3);
-
-# This query generates two Table maps but the Annotate
-# event should appear only once before the first Table map
-DELETE test1.t1, test2.t2
- FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
- WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a;
-
-# This event should be filtered out together with Annotate event
-INSERT INTO xtest1.xt1 VALUES (1), (2), (3);
-
-# This event should pass the filter
-INSERT INTO test2.v2 VALUES (1), (2), (3);
-
-# This event should pass the filter only for test2.t2 part
-DELETE xtest1.xt1, test2.t2
- FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
- WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a;
-
-# These events should be filtered out together with Annotate events
-INSERT INTO xtest1.xt1 VALUES (1), (2), (3);
-INSERT INTO xtest2.xt2 VALUES (1), (2), (3);
-DELETE xtest1.xt1, xtest2.xt2
- FROM xtest1.xt1 INNER JOIN xtest2.xt2 INNER JOIN test3.t3
- WHERE xtest1.xt1.a=xtest2.xt2.a AND xtest2.xt2.a=test3.t3.a;
-
-FLUSH LOGS;
-
---echo #####################################################################################
---echo # The following Annotate_rows events should appear below:
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - INSERT INTO test3.t3 VALUES (1), (2), (3)
---echo # - DELETE test1.t1, test2.t2 FROM <...>
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - DELETE xtest1.xt1, test2.t2 FROM <...>
---echo #####################################################################################
-
---source include/show_binlog_events.inc
-
-if (!$use_remote_mysqlbinlog)
-{
- --echo #
- --echo #####################################################################################
- --echo # mysqlbinlog
- --echo # The following Annotates should appear in this output:
- --echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
- --echo # - INSERT INTO test3.t3 VALUES (1), (2), (3)
- --echo # - DELETE test1.t1, test2.t2 FROM <...> (with two subsequent Table maps)
- --echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
- --echo # - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
- --echo #####################################################################################
-
- --replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
- --exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $datadir/master-bin.000001
-
- --echo #
- --echo #####################################################################################
- --echo # mysqlbinlog --database=test1
- --echo # The following Annotate should appear in this output:
- --echo # - DELETE test1.t1, test2.t2 FROM <...>
- --echo #####################################################################################
-
- --replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
- --exec $MYSQL_BINLOG --base64-output=decode-rows --database=test1 -v -v $datadir/master-bin.000001
-
- --echo #
- --echo #####################################################################################
- --echo # mysqlbinlog --skip-annotate-row-events
- --echo # No Annotates should appear in this output
- --echo #####################################################################################
-
- --replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
- --exec $MYSQL_BINLOG --base64-output=decode-rows --skip-annotate-row-events -v -v $datadir/master-bin.000001
-
- --let use_remote_mysqlbinlog= 0
-}
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --read-from-remote-server
---echo # The following Annotates should appear in this output:
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - INSERT INTO test3.t3 VALUES (1), (2), (3)
---echo # - DELETE test1.t1, test2.t2 FROM <...> (with two subsequent Table maps)
---echo # - INSERT INTO test2.t2 VALUES (1), (2), (3)
---echo # - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
---echo #####################################################################################
-
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --read-from-remote-server --database=test1
---echo # The following Annotate should appear in this output:
---echo # - DELETE test1.t1, test2.t2 FROM <...>
---echo #####################################################################################
-
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows --database=test1 -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
-
---echo #
---echo #####################################################################################
---echo # mysqlbinlog --read-from-remote-server --skip-annotate-row-events
---echo # No Annotates should appear in this output
---echo #####################################################################################
-
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/
---exec $MYSQL_BINLOG --base64-output=decode-rows --skip-annotate-row-events -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
-
-# Clean-up
-
-set global binlog_checksum=@old_binlog_checksum;
-DROP DATABASE test1;
-DROP DATABASE test2;
-DROP DATABASE test3;
-DROP DATABASE xtest1;
-DROP DATABASE xtest2;
diff --git a/mysql-test/extra/binlog_tests/binlog_truncate.test b/mysql-test/extra/binlog_tests/binlog_truncate.test
deleted file mode 100644
index 4d297cd2d5c..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_truncate.test
+++ /dev/null
@@ -1,63 +0,0 @@
-# BUG #36763: TRUNCATE TABLE fails to replicate when stmt-based
-# binlogging is not supported.
-
-# This should always be logged as a statement, even when executed as a
-# row-by-row deletion.
-
-# $before_truncate A statement to execute (just) before issuing the
-# TRUNCATE TABLE
-
-
-eval CREATE TABLE t1 (a INT) ENGINE=$engine;
-eval CREATE TABLE t2 (a INT) ENGINE=$engine;
-INSERT INTO t2 VALUES (1),(2),(3);
-let $binlog_start = query_get_value("SHOW MASTER STATUS", Position, 1);
-if ($before_truncate) {
- eval $before_truncate;
-}
---echo **** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-
-if ($before_truncate) {
- eval $before_truncate;
-}
-TRUNCATE TABLE t2;
-source include/show_binlog_events.inc;
-
-DROP TABLE t1,t2;
-
---echo #
---echo # Bug#42643: InnoDB does not support replication of TRUNCATE TABLE
---echo #
-
-eval CREATE TABLE t1 (a INT) ENGINE=$engine;
-eval CREATE TABLE t2 (a INT) ENGINE=$engine;
-INSERT INTO t1 VALUES (1),(2);
-
-let $binlog_start = query_get_value("SHOW MASTER STATUS", Position, 1);
-if ($before_truncate) {
- eval $before_truncate;
-}
-
-BEGIN;
-INSERT INTO t2 SELECT * FROM t1;
-
-connect (truncate,localhost,root,,);
-send TRUNCATE TABLE t1;
-
-connection default;
-INSERT INTO t2 SELECT * FROM t1;
-SELECT COUNT(*) FROM t2;
-COMMIT;
-
-connection truncate;
---echo # Reaping TRUNCATE TABLE
---reap
-SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-
-connection default;
-
-source include/show_binlog_events.inc;
-disconnect truncate;
-DROP TABLE t1,t2;
diff --git a/mysql-test/extra/binlog_tests/binlog_write_error.inc b/mysql-test/extra/binlog_tests/binlog_write_error.inc
deleted file mode 100644
index fa3ba087a7e..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_write_error.inc
+++ /dev/null
@@ -1,108 +0,0 @@
-#
-# This include file is used by more than one test suite
-# (currently binlog and binlog_encryption).
-# Please check all dependent tests after modifying it
-#
-
-#
-# === Name ===
-#
-# binlog_write_error.test
-#
-# === Description ===
-#
-# This test case check if the error of writing binlog file is properly
-# reported and handled when executing statements.
-#
-# === Related Bugs ===
-#
-# BUG#37148
-#
-
-source include/have_log_bin.inc;
-source include/have_debug.inc;
-source include/have_binlog_format_mixed_or_statement.inc;
-
---echo #
---echo # Initialization
---echo #
-
-disable_warnings;
-DROP TABLE IF EXISTS t1, t2;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP TRIGGER IF EXISTS tr1;
-DROP TRIGGER IF EXISTS tr2;
-DROP VIEW IF EXISTS v1, v2;
-enable_warnings;
-
---echo #
---echo # Test injecting binlog write error when executing queries
---echo #
-
-let $query= CREATE TABLE t1 (a INT);
-source include/binlog_inject_error.inc;
-
-INSERT INTO t1 VALUES (1),(2),(3);
-
-let $query= INSERT INTO t1 VALUES (4),(5),(6);
-source include/binlog_inject_error.inc;
-
-let $query= UPDATE t1 set a=a+1;
-source include/binlog_inject_error.inc;
-
-let $query= DELETE FROM t1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t1 VALUES (new.a + 100);
-source include/binlog_inject_error.inc;
-
-let $query= DROP TRIGGER tr1;
-source include/binlog_inject_error.inc;
-
-let $query= ALTER TABLE t1 ADD (b INT);
-source include/binlog_inject_error.inc;
-
-let $query= CREATE VIEW v1 AS SELECT a FROM t1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP VIEW v1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE PROCEDURE p1(OUT rows_cnt INT) SELECT count(*) INTO rows_cnt FROM t1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP PROCEDURE p1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP TABLE t1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE FUNCTION f1() RETURNS INT return 1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP FUNCTION f1;
-source include/binlog_inject_error.inc;
-
-let $query= CREATE USER user1;
-source include/binlog_inject_error.inc;
-
-let $query= REVOKE ALL PRIVILEGES, GRANT OPTION FROM user1;
-source include/binlog_inject_error.inc;
-
-let $query= DROP USER user1;
-source include/binlog_inject_error.inc;
-
---echo #
---echo # Cleanup
---echo #
-
-disable_warnings;
-DROP TABLE IF EXISTS t1, t2;
-DROP FUNCTION IF EXISTS f1;
-DROP PROCEDURE IF EXISTS p1;
-DROP TRIGGER IF EXISTS tr1;
-DROP VIEW IF EXISTS v1, v2;
-enable_warnings;
diff --git a/mysql-test/extra/binlog_tests/binlog_xa_recover.inc b/mysql-test/extra/binlog_tests/binlog_xa_recover.inc
deleted file mode 100644
index de2703377cc..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_xa_recover.inc
+++ /dev/null
@@ -1,281 +0,0 @@
-#
-# This include file is used by more than one test suite
-# (currently binlog and binlog_encryption).
-# Please check all dependent tests after modifying it
-#
-
---source include/have_innodb.inc
---source include/have_debug.inc
---source include/have_debug_sync.inc
---source include/have_binlog_format_row.inc
-# Valgrind does not work well with test that crashes the server
---source include/not_valgrind.inc
-
-# (We do not need to restore these settings, as we crash the server).
-SET GLOBAL max_binlog_size= 4096;
-SET GLOBAL innodb_flush_log_at_trx_commit= 1;
-RESET MASTER;
-
-CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
-# Insert some data to force a couple binlog rotations (3), so we get some
-# normal binlog checkpoints before starting the test.
-INSERT INTO t1 VALUES (100, REPEAT("x", 4100));
-# Wait for the master-bin.000002 binlog checkpoint to appear.
---let $wait_for_all= 0
---let $show_statement= SHOW BINLOG EVENTS IN "master-bin.000002"
---let $field= Info
---let $condition= = "master-bin.000002"
---source include/wait_show_condition.inc
-INSERT INTO t1 VALUES (101, REPEAT("x", 4100));
---let $wait_for_all= 0
---let $show_statement= SHOW BINLOG EVENTS IN "master-bin.000003"
---let $field= Info
---let $condition= = "master-bin.000003"
---source include/wait_show_condition.inc
-INSERT INTO t1 VALUES (102, REPEAT("x", 4100));
---let $wait_for_all= 0
---let $show_statement= SHOW BINLOG EVENTS IN "master-bin.000004"
---let $field= Info
---let $condition= = "master-bin.000004"
---source include/wait_show_condition.inc
-
-# Now start a bunch of transactions that span multiple binlog
-# files. Leave then in the state prepared-but-not-committed in the engine
-# and crash the server. Check that crash recovery is able to recover all
-# of them.
-#
-# We use debug_sync to get all the transactions into the prepared state before
-# we commit any of them. This is because the prepare step flushes the InnoDB
-# redo log - including any commits made before, so recovery would become
-# unnecessary, decreasing the value of this test.
-#
-# We arrange to have con1 with a prepared transaction in master-bin.000004,
-# con2 and con3 with a prepared transaction in master-bin.000005, and a new
-# empty master-bin.000006. So the latest binlog checkpoint should be
-# master-bin.000006.
-
-connect(con1,localhost,root,,);
-# First wait after prepare and before write to binlog.
-SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con1_wait WAIT_FOR con1_cont";
-# Then complete InnoDB commit in memory (but not commit checkpoint / write to
-# disk), and hang until crash, leaving a transaction to be XA recovered.
-SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con1_ready WAIT_FOR _ever";
-send INSERT INTO t1 VALUES (1, REPEAT("x", 4100));
-
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR con1_wait";
-
-connect(con2,localhost,root,,);
-SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con2_wait WAIT_FOR con2_cont";
-SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con2_ready WAIT_FOR _ever";
-send INSERT INTO t1 VALUES (2, NULL);
-
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR con2_wait";
-
-connect(con3,localhost,root,,);
-SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con3_wait WAIT_FOR con3_cont";
-SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con3_ready WAIT_FOR _ever";
-send INSERT INTO t1 VALUES (3, REPEAT("x", 4100));
-
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR con3_wait";
-
-connect(con4,localhost,root,,);
-SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL con4_wait WAIT_FOR con4_cont";
-SET SESSION debug_dbug="+d,crash_commit_after_log";
-send INSERT INTO t1 VALUES (4, NULL);
-
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR con4_wait";
-
-SET DEBUG_SYNC= "now SIGNAL con1_cont";
-SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
-SET DEBUG_SYNC= "now SIGNAL con2_cont";
-SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
-SET DEBUG_SYNC= "now SIGNAL con3_cont";
-SET DEBUG_SYNC= "now WAIT_FOR con3_ready";
-
-# Check that everything is committed in binary log.
---source include/show_binary_logs.inc
---let $binlog_file= master-bin.000003
---let $binlog_start= 4
---source include/show_binlog_events.inc
---let $binlog_file= master-bin.000004
---source include/show_binlog_events.inc
---let $binlog_file= master-bin.000005
---source include/show_binlog_events.inc
---let $binlog_file= master-bin.000006
---source include/show_binlog_events.inc
-
-
-# Check that server will not purge too much.
-PURGE BINARY LOGS TO "master-bin.000006";
---source include/show_binary_logs.inc
-
-# Now crash the server with one more transaction in prepared state.
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait-binlog_xa_recover.test
-EOF
---error 0,2006,2013
-SET DEBUG_SYNC= "now SIGNAL con4_cont";
-connection con4;
---error 2006,2013
-reap;
-
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart-group_commit_binlog_pos.test
-EOF
-
-connection default;
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-# Check that all transactions are recovered.
-SELECT a FROM t1 ORDER BY a;
-
---echo Test that with multiple binlog checkpoints, recovery starts from the last one.
-SET GLOBAL max_binlog_size= 4096;
-SET GLOBAL innodb_flush_log_at_trx_commit= 1;
-RESET MASTER;
-
-# Rotate to binlog master-bin.000003 while delaying binlog checkpoints.
-# So we get multiple binlog checkpoints in master-bin.000003.
-# Then complete the checkpoints, crash, and check that we only scan
-# the necessary binlog file (ie. that we use the _last_ checkpoint).
-
-connect(con10,localhost,root,,);
-SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con10_ready WAIT_FOR con10_cont";
-send INSERT INTO t1 VALUES (10, REPEAT("x", 4100));
-
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR con10_ready";
-
-connect(con11,localhost,root,,);
-SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con11_ready WAIT_FOR con11_cont";
-send INSERT INTO t1 VALUES (11, REPEAT("x", 4100));
-
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR con11_ready";
-
-connect(con12,localhost,root,,);
-SET DEBUG_SYNC= "commit_after_group_release_commit_ordered SIGNAL con12_ready WAIT_FOR con12_cont";
-send INSERT INTO t1 VALUES (12, REPEAT("x", 4100));
-
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR con12_ready";
-INSERT INTO t1 VALUES (13, NULL);
-
---source include/show_binary_logs.inc
---let $binlog_file= master-bin.000004
---let $binlog_start= 4
---source include/show_binlog_events.inc
-
-SET DEBUG_SYNC= "now SIGNAL con10_cont";
-connection con10;
-reap;
-connection default;
-
-# We need to sync the test case with the background processing of the
-# commit checkpoint, otherwise we get nondeterministic results.
-SET @old_dbug= @@global.DEBUG_DBUG;
-SET GLOBAL debug_dbug="+d,binlog_background_checkpoint_processed";
-
-SET DEBUG_SYNC= "now SIGNAL con12_cont";
-connection con12;
-reap;
-connection default;
-SET DEBUG_SYNC= "now WAIT_FOR binlog_background_checkpoint_processed";
-SET GLOBAL debug_dbug= @old_dbug;
-
-SET DEBUG_SYNC= "now SIGNAL con11_cont";
-connection con11;
-reap;
-
-connection default;
-# Wait for the last (master-bin.000004) binlog checkpoint to appear.
---let $wait_for_all= 0
---let $show_statement= SHOW BINLOG EVENTS IN "master-bin.000004"
---let $field= Info
---let $condition= = "master-bin.000004"
---source include/wait_show_condition.inc
-
---echo Checking that master-bin.000004 is the last binlog checkpoint
---source include/show_binlog_events.inc
-
---echo Now crash the server
-# It is not too easy to test XA recovery, as it runs early during server
-# startup, before any connections can be made.
-# What we do is set a DBUG error insert which will crash if XA recovery
-# starts from any other binlog than master-bin.000004 (check the file
-# binlog_xa_recover-master.opt). Then we will fail here if XA recovery
-# would start from the wrong place.
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait-binlog_xa_recover.test
-EOF
-SET SESSION debug_dbug="+d,crash_commit_after_log";
---error 2006,2013
-INSERT INTO t1 VALUES (14, NULL);
-
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart-group_commit_binlog_pos.test
-EOF
-
-connection default;
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-# Check that all transactions are recovered.
-SELECT a FROM t1 ORDER BY a;
-
-
---echo *** Check that recovery works if we crashed early during rotate, before
---echo *** binlog checkpoint event could be written.
-
-SET GLOBAL max_binlog_size= 4096;
-SET GLOBAL innodb_flush_log_at_trx_commit= 1;
-RESET MASTER;
-
-# We need some initial data to reach binlog master-bin.000004. Otherwise
-# crash recovery fails due to the error insert used for previous test.
-INSERT INTO t1 VALUES (21, REPEAT("x", 4100));
-INSERT INTO t1 VALUES (22, REPEAT("x", 4100));
-# Wait for the master-bin.000003 binlog checkpoint to appear.
---let $wait_for_all= 0
---let $show_statement= SHOW BINLOG EVENTS IN "master-bin.000003"
---let $field= Info
---let $condition= = "master-bin.000003"
---source include/wait_show_condition.inc
-INSERT INTO t1 VALUES (23, REPEAT("x", 4100));
-# Wait for the last (master-bin.000004) binlog checkpoint to appear.
---let $wait_for_all= 0
---let $show_statement= SHOW BINLOG EVENTS IN "master-bin.000004"
---let $field= Info
---let $condition= = "master-bin.000004"
---source include/wait_show_condition.inc
-
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait-binlog_xa_recover.test
-EOF
-SET SESSION debug_dbug="+d,crash_before_write_checkpoint_event";
---error 2006,2013
-INSERT INTO t1 VALUES (24, REPEAT("x", 4100));
-
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart-group_commit_binlog_pos.test
-EOF
-
---enable_reconnect
---source include/wait_until_connected_again.inc
-
-# Check that all transactions are recovered.
-SELECT a FROM t1 ORDER BY a;
-
---source include/show_binary_logs.inc
---let $binlog_file= master-bin.000004
---let $binlog_start= 4
---source include/show_binlog_events.inc
-
-# Cleanup
-connection default;
-DROP TABLE t1;
diff --git a/mysql-test/extra/binlog_tests/blackhole.test b/mysql-test/extra/binlog_tests/blackhole.test
deleted file mode 100644
index 90146d41471..00000000000
--- a/mysql-test/extra/binlog_tests/blackhole.test
+++ /dev/null
@@ -1,208 +0,0 @@
-#
-# Simple test for blackhole example
-# Taken from the select test
-#
--- source include/not_embedded.inc
--- source include/have_blackhole.inc
--- source include/have_log_bin.inc
-
-CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-
-# The server need to be started in $MYSQLTEST_VARDIR since it
-# uses ../../std_data/
--- source include/uses_vardir.inc
-
---disable_warnings
-drop table if exists t1,t2;
---enable_warnings
-
-CREATE TABLE t1 (
- Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
- Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL
-) ENGINE=blackhole;
-
-INSERT INTO t1 VALUES (9410,9412);
-
-select period from t1;
-select * from t1;
-select t1.* from t1;
-
-#
-# Create test table
-#
-
-CREATE TABLE t2 (
- auto int NOT NULL auto_increment,
- fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL,
- companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL,
- fld3 char(30) DEFAULT '' NOT NULL,
- fld4 char(35) DEFAULT '' NOT NULL,
- fld5 char(35) DEFAULT '' NOT NULL,
- fld6 char(4) DEFAULT '' NOT NULL,
- primary key (auto)
-) ENGINE=blackhole;
-
-INSERT INTO t2 VALUES (1192,068305,00,'Colombo','hardware','colicky','');
-INSERT INTO t2 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly','');
---enable_query_log
-
-#
-# Search with a key
-#
-
-select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
-select fld3 from t2 where fld3 like "%cultivation" ;
-
-#
-# Search with a key using sorting and limit the same time
-#
-
-select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
-select fld3,companynr from t2 where companynr = 58 order by fld3;
-
-select fld3 from t2 order by fld3 desc limit 10;
-select fld3 from t2 order by fld3 desc limit 5;
-select fld3 from t2 order by fld3 desc limit 5,5;
-
-#
-# Search with a key having a constant with each unique key.
-# The table is read directly with read-next on fld3
-#
-
-select t2.fld3 from t2 where fld3 = 'honeysuckle';
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
-select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
-select t2.fld3 from t2 where fld3 LIKE 'h%le';
-
-select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
-select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
-
-#
-# Test sorting with a used key (there is no need for sorting)
-#
-
-select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
-select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
-
-
-# Test for fulltext
-DROP TABLE t1;
-CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
-INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
- ('Full-text indexes', 'are called collections'),
- ('Only MyISAM tables','support collections'),
- ('Function MATCH ... AGAINST()','is used to do a search'),
- ('Full-text search in MySQL', 'implements vector space model');
-SHOW INDEX FROM t1;
-
-# nl search
-
-select * from t1 where MATCH(a,b) AGAINST ("collections");
-explain extended select * from t1 where MATCH(a,b) AGAINST ("collections");
-select * from t1 where MATCH(a,b) AGAINST ("indexes");
-select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
-select * from t1 where MATCH(a,b) AGAINST ("only");
-
-# Test that every DML (except SELECT) and DDL gets into binlog
-# so that blackhole can be used as "binlog propagator"
-
-reset master;
-drop table t1,t2;
-create table t1 (a int) engine=blackhole;
-delete from t1 where a=10;
-update t1 set a=11 where a=15;
-insert into t1 values(1);
-insert ignore into t1 values(1);
-replace into t1 values(100);
-create table t2 (a varchar(200)) engine=blackhole;
-eval load data infile '../../std_data/words.dat' into table t2;
-alter table t1 add b int;
-alter table t1 drop b;
-create table t3 like t1;
-insert into t1 select * from t3;
-replace into t1 select * from t3;
-# Just to verify
-select * from t1;
-select * from t2;
-select * from t3;
-
---source include/show_binlog_events.inc
-
-drop table t1,t2,t3;
-
-#
-# BUG#27998 - mysqld crashed when executing INSERT DELAYED on a BLACKHOLE
-# table
-#
-CREATE TABLE t1(a INT) ENGINE=BLACKHOLE;
-INSERT DELAYED INTO t1 VALUES(1);
-DROP TABLE t1;
-
-
-#
-#Bug#19717: DELETE Query Error on BLACKHOLE when using WHERE on column with UNIQUE INDEX
-#
-CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
-DELETE FROM t1 WHERE a=10;
-ALTER TABLE t1 ADD INDEX(a);
-DELETE FROM t1 WHERE a=10;
-ALTER TABLE t1 DROP INDEX a;
-ALTER TABLE t1 ADD UNIQUE INDEX(a);
-DELETE FROM t1 WHERE a=10;
-ALTER TABLE t1 DROP INDEX a;
-ALTER TABLE t1 ADD PRIMARY KEY(a);
-DELETE FROM t1 WHERE a=10;
-DROP TABLE t1;
-
-
-# Test that a transaction which is rolled back does not go into binlog
-# and that a transaction which is committed does
-
-reset master;
-create table t1 (a int) engine=blackhole;
-set autocommit=0;
-start transaction;
-insert into t1 values(1);
-commit;
-
-let $master_log_pos_1= query_get_value(SHOW MASTER STATUS, Position, 1);
-
-start transaction;
-insert into t1 values(2);
-rollback;
-
-let $master_log_pos_2= query_get_value(SHOW MASTER STATUS, Position, 1);
-if ($master_log_pos_2 != $master_log_pos_1)
-{
- echo $master_log_pos_1 $master_log_pos_2;
- die Rollbacked transaction has been binlogged;
-}
-
-set autocommit=1;
-drop table if exists t1;
-
-#
-# Bug#35178 INSERT_ID not written to binary log for inserts against BLACKHOLE backed tables
-#
-#
-# the test checks that explicitly prescribed with set insert_id= value
-# preceeds the following autoincrement insert in a blachhole
-#
-
-reset master;
-create table t1 (a int auto_increment, primary key (a)) engine=blackhole;
-
-# not insert_id prescribed insert binlogs with the default set insert_id 1
-insert into t1 values (11), (NULL), (NULL), (NULL);
-set insert_id= 3;
-insert into t1 values (NULL), (33), (NULL);
-set insert_id= 5;
-insert into t1 values (55), (NULL);
-source include/show_binlog_events2.inc;
-
-# cleanup
-drop table t1;
-
-
-# End of tests
diff --git a/mysql-test/extra/binlog_tests/ctype_cp932.test b/mysql-test/extra/binlog_tests/ctype_cp932.test
deleted file mode 100644
index f42bffd30df..00000000000
--- a/mysql-test/extra/binlog_tests/ctype_cp932.test
+++ /dev/null
@@ -1,468 +0,0 @@
--- source include/have_cp932.inc
-
---character_set cp932
---disable_warnings
-drop table if exists t1;
-drop table if exists t2;
-drop table if exists t3;
-drop table if exists t4;
---enable_warnings
-
-SET @test_character_set= 'cp932';
-SET @test_collation= 'cp932_japanese_ci';
--- source include/ctype_common.inc
-
-set names cp932;
-set character_set_database = cp932;
-
-CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
-
-#Characters which are converted to Unicode ambiguously
-INSERT INTO t1 VALUES
-(0x05),(0x7E),(0x815C),(0x815F),(0x8160),(0x8161),(0x817C),(0x8191),(0x8192),(0x81CA);
-
-#NEC ROW 13 characters (0x8740 - 0x879C)
-INSERT INTO t1 VALUES
-(0x8740),(0x8741),(0x8742),(0x8743),(0x8744),(0x8745),(0x8746),(0x8747),
-(0x8748),(0x8749),(0x874A),(0x874B),(0x874C),(0x874D),(0x874E),(0x874F),
-(0x8750),(0x8751),(0x8752),(0x8753),(0x8754),(0x8755),(0x8756),(0x8757),
-(0x8758),(0x8759),(0x875A),(0x875B),(0x875C),(0x875D),(0x875F),
-(0x8760),(0x8761),(0x8762),(0x8763),(0x8764),(0x8765),(0x8766),(0x8767),
-(0x8768),(0x8769),(0x876A),(0x876B),(0x876C),(0x876D),(0x876E),(0x876F),
-(0x8770),(0x8771),(0x8772),(0x8773),(0x8774),(0x8775),(0x877E),
-(0x8780),(0x8781),(0x8782),(0x8783),(0x8784),(0x8785),(0x8786),(0x8787),
-(0x8788),(0x8789),(0x878A),(0x878B),(0x878C),(0x878D),(0x878E),(0x878F),
-(0x8790),(0x8791),(0x8792),(0x8793),(0x8794),(0x8795),(0x8796),(0x8797),
-(0x8798),(0x8799),(0x879A),(0x879B),(0x879C);
-
-#IBM selected characters kanji & non-kanji, NEC implementation (0xED40 - 0xEEFC)
-INSERT INTO t1 VALUES
-(0xED40),(0xED41),(0xED42),(0xED43),(0xED44),(0xED45),(0xED46),(0xED47),
-(0xED48),(0xED49),(0xED4A),(0xED4B),(0xED4C),(0xED4D),(0xED4E),(0xED4F),
-(0xED50),(0xED51),(0xED52),(0xED53),(0xED54),(0xED55),(0xED56),(0xED57),
-(0xED58),(0xED59),(0xED5A),(0xED5B),(0xED5C),(0xED5D),(0xED5E),(0xED5F),
-(0xED60),(0xED61),(0xED62),(0xED63),(0xED64),(0xED65),(0xED66),(0xED67),
-(0xED68),(0xED69),(0xED6A),(0xED6B),(0xED6C),(0xED6D),(0xED6E),(0xED6F),
-(0xED70),(0xED71),(0xED72),(0xED73),(0xED74),(0xED75),(0xED76),(0xED77),
-(0xED78),(0xED79),(0xED7A),(0xED7B),(0xED7C),(0xED7D),(0xED7E),
-(0xED80),(0xED81),(0xED82),(0xED83),(0xED84),(0xED85),(0xED86),(0xED87),
-(0xED88),(0xED89),(0xED8A),(0xED8B),(0xED8C),(0xED8D),(0xED8E),(0xED8F),
-(0xED90),(0xED91),(0xED92),(0xED93),(0xED94),(0xED95),(0xED96),(0xED97),
-(0xED98),(0xED99),(0xED9A),(0xED9B),(0xED9C),(0xED9D),(0xED9E),(0xED9F),
-(0xEDA0),(0xEDA1),(0xEDA2),(0xEDA3),(0xEDA4),(0xEDA5),(0xEDA6),(0xEDA7),
-(0xEDA8),(0xEDA9),(0xEDAA),(0xEDAB),(0xEDAC),(0xEDAD),(0xEDAE),(0xEDAF),
-(0xEDB0),(0xEDB1),(0xEDB2),(0xEDB3),(0xEDB4),(0xEDB5),(0xEDB6),(0xEDB7),
-(0xEDB8),(0xEDB9),(0xEDBA),(0xEDBB),(0xEDBC),(0xEDBD),(0xEDBE),(0xEDBF),
-(0xEDC0),(0xEDC1),(0xEDC2),(0xEDC3),(0xEDC4),(0xEDC5),(0xEDC6),(0xEDC7),
-(0xEDC8),(0xEDC9),(0xEDCA),(0xEDCB),(0xEDCC),(0xEDCD),(0xEDCE),(0xEDCF),
-(0xEDD0),(0xEDD1),(0xEDD2),(0xEDD3),(0xEDD4),(0xEDD5),(0xEDD6),(0xEDD7),
-(0xEDD8),(0xEDD9),(0xEDDA),(0xEDDB),(0xEDDC),(0xEDDD),(0xEDDE),(0xEDDF),
-(0xEDE0),(0xEDE1),(0xEDE2),(0xEDE3),(0xEDE4),(0xEDE5),(0xEDE6),(0xEDE7),
-(0xEDE8),(0xEDE9),(0xEDEA),(0xEDEB),(0xEDEC),(0xEDED),(0xEDEE),(0xEDEF),
-(0xEDF0),(0xEDF1),(0xEDF2),(0xEDF3),(0xEDF4),(0xEDF5),(0xEDF6),(0xEDF7),
-(0xEDF8),(0xEDF9),(0xEDFA),(0xEDFB),(0xEDFC),
-(0xEE40),(0xEE41),(0xEE42),(0xEE43),(0xEE44),(0xEE45),(0xEE46),(0xEE47),
-(0xEE48),(0xEE49),(0xEE4A),(0xEE4B),(0xEE4C),(0xEE4D),(0xEE4E),(0xEE4F),
-(0xEE50),(0xEE51),(0xEE52),(0xEE53),(0xEE54),(0xEE55),(0xEE56),(0xEE57),
-(0xEE58),(0xEE59),(0xEE5A),(0xEE5B),(0xEE5C),(0xEE5D),(0xEE5E),(0xEE5F),
-(0xEE60),(0xEE61),(0xEE62),(0xEE63),(0xEE64),(0xEE65),(0xEE66),(0xEE67),
-(0xEE68),(0xEE69),(0xEE6A),(0xEE6B),(0xEE6C),(0xEE6D),(0xEE6E),(0xEE6F),
-(0xEE70),(0xEE71),(0xEE72),(0xEE73),(0xEE74),(0xEE75),(0xEE76),(0xEE77),
-(0xEE78),(0xEE79),(0xEE7A),(0xEE7B),(0xEE7C),(0xEE7D),(0xEE7E),
-(0xEE80),(0xEE81),(0xEE82),(0xEE83),(0xEE84),(0xEE85),(0xEE86),(0xEE87),
-(0xEE88),(0xEE89),(0xEE8A),(0xEE8B),(0xEE8C),(0xEE8D),(0xEE8E),(0xEE8F),
-(0xEE90),(0xEE91),(0xEE92),(0xEE93),(0xEE94),(0xEE95),(0xEE96),(0xEE97),
-(0xEE98),(0xEE99),(0xEE9A),(0xEE9B),(0xEE9C),(0xEE9D),(0xEE9E),(0xEE9F),
-(0xEEA0),(0xEEA1),(0xEEA2),(0xEEA3),(0xEEA4),(0xEEA5),(0xEEA6),(0xEEA7),
-(0xEEA8),(0xEEA9),(0xEEAA),(0xEEAB),(0xEEAC),(0xEEAD),(0xEEAE),(0xEEAF),
-(0xEEB0),(0xEEB1),(0xEEB2),(0xEEB3),(0xEEB4),(0xEEB5),(0xEEB6),(0xEEB7),
-(0xEEB8),(0xEEB9),(0xEEBA),(0xEEBB),(0xEEBC),(0xEEBD),(0xEEBE),(0xEEBF),
-(0xEEC0),(0xEEC1),(0xEEC2),(0xEEC3),(0xEEC4),(0xEEC5),(0xEEC6),(0xEEC7),
-(0xEEC8),(0xEEC9),(0xEECA),(0xEECB),(0xEECC),(0xEECD),(0xEECE),(0xEECF),
-(0xEED0),(0xEED1),(0xEED2),(0xEED3),(0xEED4),(0xEED5),(0xEED6),(0xEED7),
-(0xEED8),(0xEED9),(0xEEDA),(0xEEDB),(0xEEDC),(0xEEDD),(0xEEDE),(0xEEDF),
-(0xEEE0),(0xEEE1),(0xEEE2),(0xEEE3),(0xEEE4),(0xEEE5),(0xEEE6),(0xEEE7),
-(0xEEE8),(0xEEE9),(0xEEEA),(0xEEEB),(0xEEEC),(0xEEEF),
-(0xEEF0),(0xEEF1),(0xEEF2),(0xEEF3),(0xEEF4),(0xEEF5),(0xEEF6),(0xEEF7),
-(0xEEF8),(0xEEF9),(0xEEFA),(0xEEFB),(0xEEFC);
-
-#IBM selected kanji & non-kanji (0xFA40 - 0xFC4B)
-INSERT INTO t1 VALUES
-(0xFA40),(0xFA41),(0xFA42),(0xFA43),(0xFA44),(0xFA45),(0xFA46),(0xFA47),
-(0xFA48),(0xFA49),(0xFA4A),(0xFA4B),(0xFA4C),(0xFA4D),(0xFA4E),(0xFA4F),
-(0xFA50),(0xFA51),(0xFA52),(0xFA53),(0xFA54),(0xFA55),(0xFA56),(0xFA57),
-(0xFA58),(0xFA59),(0xFA5A),(0xFA5B),(0xFA5C),(0xFA5D),(0xFA5E),(0xFA5F),
-(0xFA60),(0xFA61),(0xFA62),(0xFA63),(0xFA64),(0xFA65),(0xFA66),(0xFA67),
-(0xFA68),(0xFA69),(0xFA6A),(0xFA6B),(0xFA6C),(0xFA6D),(0xFA6E),(0xFA6F),
-(0xFA70),(0xFA71),(0xFA72),(0xFA73),(0xFA74),(0xFA75),(0xFA76),(0xFA77),
-(0xFA78),(0xFA79),(0xFA7A),(0xFA7B),(0xFA7C),(0xFA7D),(0xFA7E),
-(0xFA80),(0xFA81),(0xFA82),(0xFA83),(0xFA84),(0xFA85),(0xFA86),(0xFA87),
-(0xFA88),(0xFA89),(0xFA8A),(0xFA8B),(0xFA8C),(0xFA8D),(0xFA8E),(0xFA8F),
-(0xFA90),(0xFA91),(0xFA92),(0xFA93),(0xFA94),(0xFA95),(0xFA96),(0xFA97),
-(0xFA98),(0xFA99),(0xFA9A),(0xFA9B),(0xFA9C),(0xFA9D),(0xFA9E),(0xFA9F),
-(0xFAA0),(0xFAA1),(0xFAA2),(0xFAA3),(0xFAA4),(0xFAA5),(0xFAA6),(0xFAA7),
-(0xFAA8),(0xFAA9),(0xFAAA),(0xFAAB),(0xFAAC),(0xFAAD),(0xFAAE),(0xFAAF),
-(0xFAB0),(0xFAB1),(0xFAB2),(0xFAB3),(0xFAB4),(0xFAB5),(0xFAB6),(0xFAB7),
-(0xFAB8),(0xFAB9),(0xFABA),(0xFABB),(0xFABC),(0xFABD),(0xFABE),(0xFABF),
-(0xFAC0),(0xFAC1),(0xFAC2),(0xFAC3),(0xFAC4),(0xFAC5),(0xFAC6),(0xFAC7),
-(0xFAC8),(0xFAC9),(0xFACA),(0xFACB),(0xFACC),(0xFACD),(0xFACE),(0xFACF),
-(0xFAD0),(0xFAD1),(0xFAD2),(0xFAD3),(0xFAD4),(0xFAD5),(0xFAD6),(0xFAD7),
-(0xFAD8),(0xFAD9),(0xFADA),(0xFADB),(0xFADC),(0xFADD),(0xFADE),(0xFADF),
-(0xFAE0),(0xFAE1),(0xFAE2),(0xFAE3),(0xFAE4),(0xFAE5),(0xFAE6),(0xFAE7),
-(0xFAE8),(0xFAE9),(0xFAEA),(0xFAEB),(0xFAEC),(0xFAED),(0xFAEE),(0xFAEF),
-(0xFAF0),(0xFAF1),(0xFAF2),(0xFAF3),(0xFAF4),(0xFAF5),(0xFAF6),(0xFAF7),
-(0xFAF8),(0xFAF9),(0xFAFA),(0xFAFB),(0xFAFC),
-(0xFB40),(0xFB41),(0xFB42),(0xFB43),(0xFB44),(0xFB45),(0xFB46),(0xFB47),
-(0xFB48),(0xFB49),(0xFB4A),(0xFB4B),(0xFB4C),(0xFB4D),(0xFB4E),(0xFB4F),
-(0xFB50),(0xFB51),(0xFB52),(0xFB53),(0xFB54),(0xFB55),(0xFB56),(0xFB57),
-(0xFB58),(0xFB59),(0xFB5A),(0xFB5B),(0xFB5C),(0xFB5D),(0xFB5E),(0xFB5F),
-(0xFB60),(0xFB61),(0xFB62),(0xFB63),(0xFB64),(0xFB65),(0xFB66),(0xFB67),
-(0xFB68),(0xFB69),(0xFB6A),(0xFB6B),(0xFB6C),(0xFB6D),(0xFB6E),(0xFB6F),
-(0xFB70),(0xFB71),(0xFB72),(0xFB73),(0xFB74),(0xFB75),(0xFB76),(0xFB77),
-(0xFB78),(0xFB79),(0xFB7A),(0xFB7B),(0xFB7C),(0xFB7D),(0xFB7E),
-(0xFB80),(0xFB81),(0xFB82),(0xFB83),(0xFB84),(0xFB85),(0xFB86),(0xFB87),
-(0xFB88),(0xFB89),(0xFB8A),(0xFB8B),(0xFB8C),(0xFB8D),(0xFB8E),(0xFB8F),
-(0xFB90),(0xFB91),(0xFB92),(0xFB93),(0xFB94),(0xFB95),(0xFB96),(0xFB97),
-(0xFB98),(0xFB99),(0xFB9A),(0xFB9B),(0xFB9C),(0xFB9D),(0xFB9E),(0xFB9F),
-(0xFBA0),(0xFBA1),(0xFBA2),(0xFBA3),(0xFBA4),(0xFBA5),(0xFBA6),(0xFBA7),
-(0xFBA8),(0xFBA9),(0xFBAA),(0xFBAB),(0xFBAC),(0xFBAD),(0xFBAE),(0xFBAF),
-(0xFBB0),(0xFBB1),(0xFBB2),(0xFBB3),(0xFBB4),(0xFBB5),(0xFBB6),(0xFBB7),
-(0xFBB8),(0xFBB9),(0xFBBA),(0xFBBB),(0xFBBC),(0xFBBD),(0xFBBE),(0xFBBF),
-(0xFBC0),(0xFBC1),(0xFBC2),(0xFBC3),(0xFBC4),(0xFBC5),(0xFBC6),(0xFBC7),
-(0xFBC8),(0xFBC9),(0xFBCA),(0xFBCB),(0xFBCC),(0xFBCD),(0xFBCE),(0xFBCF),
-(0xFBD0),(0xFBD1),(0xFBD2),(0xFBD3),(0xFBD4),(0xFBD5),(0xFBD6),(0xFBD7),
-(0xFBD8),(0xFBD9),(0xFBDA),(0xFBDB),(0xFBDC),(0xFBDD),(0xFBDE),(0xFBDF),
-(0xFBE0),(0xFBE1),(0xFBE2),(0xFBE3),(0xFBE4),(0xFBE5),(0xFBE6),(0xFBE7),
-(0xFBE8),(0xFBE9),(0xFBEA),(0xFBEB),(0xFBEC),(0xFBED),(0xFBEE),(0xFBEF),
-(0xFBF0),(0xFBF1),(0xFBF2),(0xFBF3),(0xFBF4),(0xFBF5),(0xFBF6),(0xFBF7),
-(0xFBF8),(0xFBF9),(0xFBFA),(0xFBFB),(0xFBFC),
-(0xFC40),(0xFC41),(0xFC42),(0xFC43),(0xFC44),(0xFC45),(0xFC46),(0xFC47),
-(0xFC48),(0xFC49),(0xFC4A),(0xFC4B);
-
-#User defined characters (0xF040-0xF9FC)
-INSERT INTO t1 VALUES
-(0xF040),(0xF041),(0xF042),(0xF043),(0xF044),(0xF045),(0xF046),(0xF047),
-(0xF048),(0xF049),(0xF04A),(0xF04B),(0xF04C),(0xF04D),(0xF04E),(0xF04F),
-(0xF050),(0xF051),(0xF052),(0xF053),(0xF054),(0xF055),(0xF056),(0xF057),
-(0xF058),(0xF059),(0xF05A),(0xF05B),(0xF05C),(0xF05D),(0xF05E),(0xF05F),
-(0xF060),(0xF061),(0xF062),(0xF063),(0xF064),(0xF065),(0xF066),(0xF067),
-(0xF068),(0xF069),(0xF06A),(0xF06B),(0xF06C),(0xF06D),(0xF06E),(0xF06F),
-(0xF070),(0xF071),(0xF072),(0xF073),(0xF074),(0xF075),(0xF076),(0xF077),
-(0xF078),(0xF079),(0xF07A),(0xF07B),(0xF07C),(0xF07D),(0xF07E),
-(0xF080),(0xF081),(0xF082),(0xF083),(0xF084),(0xF085),(0xF086),(0xF087),
-(0xF088),(0xF089),(0xF08A),(0xF08B),(0xF08C),(0xF08D),(0xF08E),(0xF08F),
-(0xF090),(0xF091),(0xF092),(0xF093),(0xF094),(0xF095),(0xF096),(0xF097),
-(0xF098),(0xF099),(0xF09A),(0xF09B),(0xF09C),(0xF09D),(0xF09E),(0xF09F),
-(0xF0A0),(0xF0A1),(0xF0A2),(0xF0A3),(0xF0A4),(0xF0A5),(0xF0A6),(0xF0A7),
-(0xF0A8),(0xF0A9),(0xF0AA),(0xF0AB),(0xF0AC),(0xF0AD),(0xF0AE),(0xF0AF),
-(0xF0B0),(0xF0B1),(0xF0B2),(0xF0B3),(0xF0B4),(0xF0B5),(0xF0B6),(0xF0B7),
-(0xF0B8),(0xF0B9),(0xF0BA),(0xF0BB),(0xF0BC),(0xF0BD),(0xF0BE),(0xF0BF),
-(0xF0C0),(0xF0C1),(0xF0C2),(0xF0C3),(0xF0C4),(0xF0C5),(0xF0C6),(0xF0C7),
-(0xF0C8),(0xF0C9),(0xF0CA),(0xF0CB),(0xF0CC),(0xF0CD),(0xF0CE),(0xF0CF),
-(0xF0D0),(0xF0D1),(0xF0D2),(0xF0D3),(0xF0D4),(0xF0D5),(0xF0D6),(0xF0D7),
-(0xF0D8),(0xF0D9),(0xF0DA),(0xF0DB),(0xF0DC),(0xF0DD),(0xF0DE),(0xF0DF),
-(0xF0E0),(0xF0E1),(0xF0E2),(0xF0E3),(0xF0E4),(0xF0E5),(0xF0E6),(0xF0E7),
-(0xF0E8),(0xF0E9),(0xF0EA),(0xF0EB),(0xF0EC),(0xF0ED),(0xF0EE),(0xF0EF),
-(0xF0F0),(0xF0F1),(0xF0F2),(0xF0F3),(0xF0F4),(0xF0F5),(0xF0F6),(0xF0F7),
-(0xF0F8),(0xF0F9),(0xF0FA),(0xF0FB),(0xF0FC),
-(0xF140),(0xF141),(0xF142),(0xF143),(0xF144),(0xF145),(0xF146),(0xF147),
-(0xF148),(0xF149),(0xF14A),(0xF14B),(0xF14C),(0xF14D),(0xF14E),(0xF14F),
-(0xF150),(0xF151),(0xF152),(0xF153),(0xF154),(0xF155),(0xF156),(0xF157),
-(0xF158),(0xF159),(0xF15A),(0xF15B),(0xF15C),(0xF15D),(0xF15E),(0xF15F),
-(0xF160),(0xF161),(0xF162),(0xF163),(0xF164),(0xF165),(0xF166),(0xF167),
-(0xF168),(0xF169),(0xF16A),(0xF16B),(0xF16C),(0xF16D),(0xF16E),(0xF16F),
-(0xF170),(0xF171),(0xF172),(0xF173),(0xF174),(0xF175),(0xF176),(0xF177),
-(0xF178),(0xF179),(0xF17A),(0xF17B),(0xF17C),(0xF17D),(0xF17E),
-(0xF180),(0xF181),(0xF182),(0xF183),(0xF184),(0xF185),(0xF186),(0xF187),
-(0xF188),(0xF189),(0xF18A),(0xF18B),(0xF18C),(0xF18D),(0xF18E),(0xF18F),
-(0xF190),(0xF191),(0xF192),(0xF193),(0xF194),(0xF195),(0xF196),(0xF197),
-(0xF198),(0xF199),(0xF19A),(0xF19B),(0xF19C),(0xF19D),(0xF19E),(0xF19F),
-(0xF1A0),(0xF1A1),(0xF1A2),(0xF1A3),(0xF1A4),(0xF1A5),(0xF1A6),(0xF1A7),
-(0xF1A8),(0xF1A9),(0xF1AA),(0xF1AB),(0xF1AC),(0xF1AD),(0xF1AE),(0xF1AF),
-(0xF1B0),(0xF1B1),(0xF1B2),(0xF1B3),(0xF1B4),(0xF1B5),(0xF1B6),(0xF1B7),
-(0xF1B8),(0xF1B9),(0xF1BA),(0xF1BB),(0xF1BC),(0xF1BD),(0xF1BE),(0xF1BF),
-(0xF1C0),(0xF1C1),(0xF1C2),(0xF1C3),(0xF1C4),(0xF1C5),(0xF1C6),(0xF1C7),
-(0xF1C8),(0xF1C9),(0xF1CA),(0xF1CB),(0xF1CC),(0xF1CD),(0xF1CE),(0xF1CF),
-(0xF1D0),(0xF1D1),(0xF1D2),(0xF1D3),(0xF1D4),(0xF1D5),(0xF1D6),(0xF1D7),
-(0xF1D8),(0xF1D9),(0xF1DA),(0xF1DB),(0xF1DC),(0xF1DD),(0xF1DE),(0xF1DF),
-(0xF1E0),(0xF1E1),(0xF1E2),(0xF1E3),(0xF1E4),(0xF1E5),(0xF1E6),(0xF1E7),
-(0xF1E8),(0xF1E9),(0xF1EA),(0xF1EB),(0xF1EC),(0xF1ED),(0xF1EE),(0xF1EF),
-(0xF1F0),(0xF1F1),(0xF1F2),(0xF1F3),(0xF1F4),(0xF1F5),(0xF1F6),(0xF1F7),
-(0xF1F8),(0xF1F9),(0xF1FA),(0xF1FB),(0xF1FC),
-(0xF240),(0xF241),(0xF242),(0xF243),(0xF244),(0xF245),(0xF246),(0xF247),
-(0xF248),(0xF249),(0xF24A),(0xF24B),(0xF24C),(0xF24D),(0xF24E),(0xF24F),
-(0xF250),(0xF251),(0xF252),(0xF253),(0xF254),(0xF255),(0xF256),(0xF257),
-(0xF258),(0xF259),(0xF25A),(0xF25B),(0xF25C),(0xF25D),(0xF25E),(0xF25F),
-(0xF260),(0xF261),(0xF262),(0xF263),(0xF264),(0xF265),(0xF266),(0xF267),
-(0xF268),(0xF269),(0xF26A),(0xF26B),(0xF26C),(0xF26D),(0xF26E),(0xF26F),
-(0xF270),(0xF271),(0xF272),(0xF273),(0xF274),(0xF275),(0xF276),(0xF277),
-(0xF278),(0xF279),(0xF27A),(0xF27B),(0xF27C),(0xF27D),(0xF27E),
-(0xF280),(0xF281),(0xF282),(0xF283),(0xF284),(0xF285),(0xF286),(0xF287),
-(0xF288),(0xF289),(0xF28A),(0xF28B),(0xF28C),(0xF28D),(0xF28E),(0xF28F),
-(0xF290),(0xF291),(0xF292),(0xF293),(0xF294),(0xF295),(0xF296),(0xF297),
-(0xF298),(0xF299),(0xF29A),(0xF29B),(0xF29C),(0xF29D),(0xF29E),(0xF29F),
-(0xF2A0),(0xF2A1),(0xF2A2),(0xF2A3),(0xF2A4),(0xF2A5),(0xF2A6),(0xF2A7),
-(0xF2A8),(0xF2A9),(0xF2AA),(0xF2AB),(0xF2AC),(0xF2AD),(0xF2AE),(0xF2AF),
-(0xF2B0),(0xF2B1),(0xF2B2),(0xF2B3),(0xF2B4),(0xF2B5),(0xF2B6),(0xF2B7),
-(0xF2B8),(0xF2B9),(0xF2BA),(0xF2BB),(0xF2BC),(0xF2BD),(0xF2BE),(0xF2BF),
-(0xF2C0),(0xF2C1),(0xF2C2),(0xF2C3),(0xF2C4),(0xF2C5),(0xF2C6),(0xF2C7),
-(0xF2C8),(0xF2C9),(0xF2CA),(0xF2CB),(0xF2CC),(0xF2CD),(0xF2CE),(0xF2CF),
-(0xF2D0),(0xF2D1),(0xF2D2),(0xF2D3),(0xF2D4),(0xF2D5),(0xF2D6),(0xF2D7),
-(0xF2D8),(0xF2D9),(0xF2DA),(0xF2DB),(0xF2DC),(0xF2DD),(0xF2DE),(0xF2DF),
-(0xF2E0),(0xF2E1),(0xF2E2),(0xF2E3),(0xF2E4),(0xF2E5),(0xF2E6),(0xF2E7),
-(0xF2E8),(0xF2E9),(0xF2EA),(0xF2EB),(0xF2EC),(0xF2ED),(0xF2EE),(0xF2EF),
-(0xF2F0),(0xF2F1),(0xF2F2),(0xF2F3),(0xF2F4),(0xF2F5),(0xF2F6),(0xF2F7),
-(0xF2F8),(0xF2F9),(0xF2FA),(0xF2FB),(0xF2FC),
-(0xF340),(0xF341),(0xF342),(0xF343),(0xF344),(0xF345),(0xF346),(0xF347),
-(0xF348),(0xF349),(0xF34A),(0xF34B),(0xF34C),(0xF34D),(0xF34E),(0xF34F),
-(0xF350),(0xF351),(0xF352),(0xF353),(0xF354),(0xF355),(0xF356),(0xF357),
-(0xF358),(0xF359),(0xF35A),(0xF35B),(0xF35C),(0xF35D),(0xF35E),(0xF35F),
-(0xF360),(0xF361),(0xF362),(0xF363),(0xF364),(0xF365),(0xF366),(0xF367),
-(0xF368),(0xF369),(0xF36A),(0xF36B),(0xF36C),(0xF36D),(0xF36E),(0xF36F),
-(0xF370),(0xF371),(0xF372),(0xF373),(0xF374),(0xF375),(0xF376),(0xF377),
-(0xF378),(0xF379),(0xF37A),(0xF37B),(0xF37C),(0xF37D),(0xF37E),
-(0xF380),(0xF381),(0xF382),(0xF383),(0xF384),(0xF385),(0xF386),(0xF387),
-(0xF388),(0xF389),(0xF38A),(0xF38B),(0xF38C),(0xF38D),(0xF38E),(0xF38F),
-(0xF390),(0xF391),(0xF392),(0xF393),(0xF394),(0xF395),(0xF396),(0xF397),
-(0xF398),(0xF399),(0xF39A),(0xF39B),(0xF39C),(0xF39D),(0xF39E),(0xF39F),
-(0xF3A0),(0xF3A1),(0xF3A2),(0xF3A3),(0xF3A4),(0xF3A5),(0xF3A6),(0xF3A7),
-(0xF3A8),(0xF3A9),(0xF3AA),(0xF3AB),(0xF3AC),(0xF3AD),(0xF3AE),(0xF3AF),
-(0xF3B0),(0xF3B1),(0xF3B2),(0xF3B3),(0xF3B4),(0xF3B5),(0xF3B6),(0xF3B7),
-(0xF3B8),(0xF3B9),(0xF3BA),(0xF3BB),(0xF3BC),(0xF3BD),(0xF3BE),(0xF3BF),
-(0xF3C0),(0xF3C1),(0xF3C2),(0xF3C3),(0xF3C4),(0xF3C5),(0xF3C6),(0xF3C7),
-(0xF3C8),(0xF3C9),(0xF3CA),(0xF3CB),(0xF3CC),(0xF3CD),(0xF3CE),(0xF3CF),
-(0xF3D0),(0xF3D1),(0xF3D2),(0xF3D3),(0xF3D4),(0xF3D5),(0xF3D6),(0xF3D7),
-(0xF3D8),(0xF3D9),(0xF3DA),(0xF3DB),(0xF3DC),(0xF3DD),(0xF3DE),(0xF3DF),
-(0xF3E0),(0xF3E1),(0xF3E2),(0xF3E3),(0xF3E4),(0xF3E5),(0xF3E6),(0xF3E7),
-(0xF3E8),(0xF3E9),(0xF3EA),(0xF3EB),(0xF3EC),(0xF3ED),(0xF3EE),(0xF3EF),
-(0xF3F0),(0xF3F1),(0xF3F2),(0xF3F3),(0xF3F4),(0xF3F5),(0xF3F6),(0xF3F7),
-(0xF3F8),(0xF3F9),(0xF3FA),(0xF3FB),(0xF3FC),
-(0xF440),(0xF441),(0xF442),(0xF443),(0xF444),(0xF445),(0xF446),(0xF447),
-(0xF448),(0xF449),(0xF44A),(0xF44B),(0xF44C),(0xF44D),(0xF44E),(0xF44F),
-(0xF450),(0xF451),(0xF452),(0xF453),(0xF454),(0xF455),(0xF456),(0xF457),
-(0xF458),(0xF459),(0xF45A),(0xF45B),(0xF45C),(0xF45D),(0xF45E),(0xF45F),
-(0xF460),(0xF461),(0xF462),(0xF463),(0xF464),(0xF465),(0xF466),(0xF467),
-(0xF468),(0xF469),(0xF46A),(0xF46B),(0xF46C),(0xF46D),(0xF46E),(0xF46F),
-(0xF470),(0xF471),(0xF472),(0xF473),(0xF474),(0xF475),(0xF476),(0xF477),
-(0xF478),(0xF479),(0xF47A),(0xF47B),(0xF47C),(0xF47D),(0xF47E),
-(0xF480),(0xF481),(0xF482),(0xF483),(0xF484),(0xF485),(0xF486),(0xF487),
-(0xF488),(0xF489),(0xF48A),(0xF48B),(0xF48C),(0xF48D),(0xF48E),(0xF48F),
-(0xF490),(0xF491),(0xF492),(0xF493),(0xF494),(0xF495),(0xF496),(0xF497),
-(0xF498),(0xF499),(0xF49A),(0xF49B),(0xF49C),(0xF49D),(0xF49E),(0xF49F),
-(0xF4A0),(0xF4A1),(0xF4A2),(0xF4A3),(0xF4A4),(0xF4A5),(0xF4A6),(0xF4A7),
-(0xF4A8),(0xF4A9),(0xF4AA),(0xF4AB),(0xF4AC),(0xF4AD),(0xF4AE),(0xF4AF),
-(0xF4B0),(0xF4B1),(0xF4B2),(0xF4B3),(0xF4B4),(0xF4B5),(0xF4B6),(0xF4B7),
-(0xF4B8),(0xF4B9),(0xF4BA),(0xF4BB),(0xF4BC),(0xF4BD),(0xF4BE),(0xF4BF),
-(0xF4C0),(0xF4C1),(0xF4C2),(0xF4C3),(0xF4C4),(0xF4C5),(0xF4C6),(0xF4C7),
-(0xF4C8),(0xF4C9),(0xF4CA),(0xF4CB),(0xF4CC),(0xF4CD),(0xF4CE),(0xF4CF),
-(0xF4D0),(0xF4D1),(0xF4D2),(0xF4D3),(0xF4D4),(0xF4D5),(0xF4D6),(0xF4D7),
-(0xF4D8),(0xF4D9),(0xF4DA),(0xF4DB),(0xF4DC),(0xF4DD),(0xF4DE),(0xF4DF),
-(0xF4E0),(0xF4E1),(0xF4E2),(0xF4E3),(0xF4E4),(0xF4E5),(0xF4E6),(0xF4E7),
-(0xF4E8),(0xF4E9),(0xF4EA),(0xF4EB),(0xF4EC),(0xF4ED),(0xF4EE),(0xF4EF),
-(0xF4F0),(0xF4F1),(0xF4F2),(0xF4F3),(0xF4F4),(0xF4F5),(0xF4F6),(0xF4F7),
-(0xF4F8),(0xF4F9),(0xF4FA),(0xF4FB),(0xF4FC),
-(0xF540),(0xF541),(0xF542),(0xF543),(0xF544),(0xF545),(0xF546),(0xF547),
-(0xF548),(0xF549),(0xF54A),(0xF54B),(0xF54C),(0xF54D),(0xF54E),(0xF54F),
-(0xF550),(0xF551),(0xF552),(0xF553),(0xF554),(0xF555),(0xF556),(0xF557),
-(0xF558),(0xF559),(0xF55A),(0xF55B),(0xF55C),(0xF55D),(0xF55E),(0xF55F),
-(0xF560),(0xF561),(0xF562),(0xF563),(0xF564),(0xF565),(0xF566),(0xF567),
-(0xF568),(0xF569),(0xF56A),(0xF56B),(0xF56C),(0xF56D),(0xF56E),(0xF56F),
-(0xF570),(0xF571),(0xF572),(0xF573),(0xF574),(0xF575),(0xF576),(0xF577),
-(0xF578),(0xF579),(0xF57A),(0xF57B),(0xF57C),(0xF57D),(0xF57E),
-(0xF580),(0xF581),(0xF582),(0xF583),(0xF584),(0xF585),(0xF586),(0xF587),
-(0xF588),(0xF589),(0xF58A),(0xF58B),(0xF58C),(0xF58D),(0xF58E),(0xF58F),
-(0xF590),(0xF591),(0xF592),(0xF593),(0xF594),(0xF595),(0xF596),(0xF597),
-(0xF598),(0xF599),(0xF59A),(0xF59B),(0xF59C),(0xF59D),(0xF59E),(0xF59F),
-(0xF5A0),(0xF5A1),(0xF5A2),(0xF5A3),(0xF5A4),(0xF5A5),(0xF5A6),(0xF5A7),
-(0xF5A8),(0xF5A9),(0xF5AA),(0xF5AB),(0xF5AC),(0xF5AD),(0xF5AE),(0xF5AF),
-(0xF5B0),(0xF5B1),(0xF5B2),(0xF5B3),(0xF5B4),(0xF5B5),(0xF5B6),(0xF5B7),
-(0xF5B8),(0xF5B9),(0xF5BA),(0xF5BB),(0xF5BC),(0xF5BD),(0xF5BE),(0xF5BF),
-(0xF5C0),(0xF5C1),(0xF5C2),(0xF5C3),(0xF5C4),(0xF5C5),(0xF5C6),(0xF5C7),
-(0xF5C8),(0xF5C9),(0xF5CA),(0xF5CB),(0xF5CC),(0xF5CD),(0xF5CE),(0xF5CF),
-(0xF5D0),(0xF5D1),(0xF5D2),(0xF5D3),(0xF5D4),(0xF5D5),(0xF5D6),(0xF5D7),
-(0xF5D8),(0xF5D9),(0xF5DA),(0xF5DB),(0xF5DC),(0xF5DD),(0xF5DE),(0xF5DF),
-(0xF5E0),(0xF5E1),(0xF5E2),(0xF5E3),(0xF5E4),(0xF5E5),(0xF5E6),(0xF5E7),
-(0xF5E8),(0xF5E9),(0xF5EA),(0xF5EB),(0xF5EC),(0xF5ED),(0xF5EE),(0xF5EF),
-(0xF5F0),(0xF5F1),(0xF5F2),(0xF5F3),(0xF5F4),(0xF5F5),(0xF5F6),(0xF5F7),
-(0xF5F8),(0xF5F9),(0xF5FA),(0xF5FB),(0xF5FC),
-(0xF640),(0xF641),(0xF642),(0xF643),(0xF644),(0xF645),(0xF646),(0xF647),
-(0xF648),(0xF649),(0xF64A),(0xF64B),(0xF64C),(0xF64D),(0xF64E),(0xF64F),
-(0xF650),(0xF651),(0xF652),(0xF653),(0xF654),(0xF655),(0xF656),(0xF657),
-(0xF658),(0xF659),(0xF65A),(0xF65B),(0xF65C),(0xF65D),(0xF65E),(0xF65F),
-(0xF660),(0xF661),(0xF662),(0xF663),(0xF664),(0xF665),(0xF666),(0xF667),
-(0xF668),(0xF669),(0xF66A),(0xF66B),(0xF66C),(0xF66D),(0xF66E),(0xF66F),
-(0xF670),(0xF671),(0xF672),(0xF673),(0xF674),(0xF675),(0xF676),(0xF677),
-(0xF678),(0xF679),(0xF67A),(0xF67B),(0xF67C),(0xF67D),(0xF67E),
-(0xF680),(0xF681),(0xF682),(0xF683),(0xF684),(0xF685),(0xF686),(0xF687),
-(0xF688),(0xF689),(0xF68A),(0xF68B),(0xF68C),(0xF68D),(0xF68E),(0xF68F),
-(0xF690),(0xF691),(0xF692),(0xF693),(0xF694),(0xF695),(0xF696),(0xF697),
-(0xF698),(0xF699),(0xF69A),(0xF69B),(0xF69C),(0xF69D),(0xF69E),(0xF69F),
-(0xF6A0),(0xF6A1),(0xF6A2),(0xF6A3),(0xF6A4),(0xF6A5),(0xF6A6),(0xF6A7),
-(0xF6A8),(0xF6A9),(0xF6AA),(0xF6AB),(0xF6AC),(0xF6AD),(0xF6AE),(0xF6AF),
-(0xF6B0),(0xF6B1),(0xF6B2),(0xF6B3),(0xF6B4),(0xF6B5),(0xF6B6),(0xF6B7),
-(0xF6B8),(0xF6B9),(0xF6BA),(0xF6BB),(0xF6BC),(0xF6BD),(0xF6BE),(0xF6BF),
-(0xF6C0),(0xF6C1),(0xF6C2),(0xF6C3),(0xF6C4),(0xF6C5),(0xF6C6),(0xF6C7),
-(0xF6C8),(0xF6C9),(0xF6CA),(0xF6CB),(0xF6CC),(0xF6CD),(0xF6CE),(0xF6CF),
-(0xF6D0),(0xF6D1),(0xF6D2),(0xF6D3),(0xF6D4),(0xF6D5),(0xF6D6),(0xF6D7),
-(0xF6D8),(0xF6D9),(0xF6DA),(0xF6DB),(0xF6DC),(0xF6DD),(0xF6DE),(0xF6DF),
-(0xF6E0),(0xF6E1),(0xF6E2),(0xF6E3),(0xF6E4),(0xF6E5),(0xF6E6),(0xF6E7),
-(0xF6E8),(0xF6E9),(0xF6EA),(0xF6EB),(0xF6EC),(0xF6ED),(0xF6EE),(0xF6EF),
-(0xF6F0),(0xF6F1),(0xF6F2),(0xF6F3),(0xF6F4),(0xF6F5),(0xF6F6),(0xF6F7),
-(0xF6F8),(0xF6F9),(0xF6FA),(0xF6FB),(0xF6FC),
-(0xF740),(0xF741),(0xF742),(0xF743),(0xF744),(0xF745),(0xF746),(0xF747),
-(0xF748),(0xF749),(0xF74A),(0xF74B),(0xF74C),(0xF74D),(0xF74E),(0xF74F),
-(0xF750),(0xF751),(0xF752),(0xF753),(0xF754),(0xF755),(0xF756),(0xF757),
-(0xF758),(0xF759),(0xF75A),(0xF75B),(0xF75C),(0xF75D),(0xF75E),(0xF75F),
-(0xF760),(0xF761),(0xF762),(0xF763),(0xF764),(0xF765),(0xF766),(0xF767),
-(0xF768),(0xF769),(0xF76A),(0xF76B),(0xF76C),(0xF76D),(0xF76E),(0xF76F),
-(0xF770),(0xF771),(0xF772),(0xF773),(0xF774),(0xF775),(0xF776),(0xF777),
-(0xF778),(0xF779),(0xF77A),(0xF77B),(0xF77C),(0xF77D),(0xF77E),
-(0xF780),(0xF781),(0xF782),(0xF783),(0xF784),(0xF785),(0xF786),(0xF787),
-(0xF788),(0xF789),(0xF78A),(0xF78B),(0xF78C),(0xF78D),(0xF78E),(0xF78F),
-(0xF790),(0xF791),(0xF792),(0xF793),(0xF794),(0xF795),(0xF796),(0xF797),
-(0xF798),(0xF799),(0xF79A),(0xF79B),(0xF79C),(0xF79D),(0xF79E),(0xF79F),
-(0xF7A0),(0xF7A1),(0xF7A2),(0xF7A3),(0xF7A4),(0xF7A5),(0xF7A6),(0xF7A7),
-(0xF7A8),(0xF7A9),(0xF7AA),(0xF7AB),(0xF7AC),(0xF7AD),(0xF7AE),(0xF7AF),
-(0xF7B0),(0xF7B1),(0xF7B2),(0xF7B3),(0xF7B4),(0xF7B5),(0xF7B6),(0xF7B7),
-(0xF7B8),(0xF7B9),(0xF7BA),(0xF7BB),(0xF7BC),(0xF7BD),(0xF7BE),(0xF7BF),
-(0xF7C0),(0xF7C1),(0xF7C2),(0xF7C3),(0xF7C4),(0xF7C5),(0xF7C6),(0xF7C7),
-(0xF7C8),(0xF7C9),(0xF7CA),(0xF7CB),(0xF7CC),(0xF7CD),(0xF7CE),(0xF7CF),
-(0xF7D0),(0xF7D1),(0xF7D2),(0xF7D3),(0xF7D4),(0xF7D5),(0xF7D6),(0xF7D7),
-(0xF7D8),(0xF7D9),(0xF7DA),(0xF7DB),(0xF7DC),(0xF7DD),(0xF7DE),(0xF7DF),
-(0xF7E0),(0xF7E1),(0xF7E2),(0xF7E3),(0xF7E4),(0xF7E5),(0xF7E6),(0xF7E7),
-(0xF7E8),(0xF7E9),(0xF7EA),(0xF7EB),(0xF7EC),(0xF7ED),(0xF7EE),(0xF7EF),
-(0xF7F0),(0xF7F1),(0xF7F2),(0xF7F3),(0xF7F4),(0xF7F5),(0xF7F6),(0xF7F7),
-(0xF7F8),(0xF7F9),(0xF7FA),(0xF7FB),(0xF7FC),
-(0xF840),(0xF841),(0xF842),(0xF843),(0xF844),(0xF845),(0xF846),(0xF847),
-(0xF848),(0xF849),(0xF84A),(0xF84B),(0xF84C),(0xF84D),(0xF84E),(0xF84F),
-(0xF850),(0xF851),(0xF852),(0xF853),(0xF854),(0xF855),(0xF856),(0xF857),
-(0xF858),(0xF859),(0xF85A),(0xF85B),(0xF85C),(0xF85D),(0xF85E),(0xF85F),
-(0xF860),(0xF861),(0xF862),(0xF863),(0xF864),(0xF865),(0xF866),(0xF867),
-(0xF868),(0xF869),(0xF86A),(0xF86B),(0xF86C),(0xF86D),(0xF86E),(0xF86F),
-(0xF870),(0xF871),(0xF872),(0xF873),(0xF874),(0xF875),(0xF876),(0xF877),
-(0xF878),(0xF879),(0xF87A),(0xF87B),(0xF87C),(0xF87D),(0xF87E),
-(0xF880),(0xF881),(0xF882),(0xF883),(0xF884),(0xF885),(0xF886),(0xF887),
-(0xF888),(0xF889),(0xF88A),(0xF88B),(0xF88C),(0xF88D),(0xF88E),(0xF88F),
-(0xF890),(0xF891),(0xF892),(0xF893),(0xF894),(0xF895),(0xF896),(0xF897),
-(0xF898),(0xF899),(0xF89A),(0xF89B),(0xF89C),(0xF89D),(0xF89E),(0xF89F),
-(0xF8A0),(0xF8A1),(0xF8A2),(0xF8A3),(0xF8A4),(0xF8A5),(0xF8A6),(0xF8A7),
-(0xF8A8),(0xF8A9),(0xF8AA),(0xF8AB),(0xF8AC),(0xF8AD),(0xF8AE),(0xF8AF),
-(0xF8B0),(0xF8B1),(0xF8B2),(0xF8B3),(0xF8B4),(0xF8B5),(0xF8B6),(0xF8B7),
-(0xF8B8),(0xF8B9),(0xF8BA),(0xF8BB),(0xF8BC),(0xF8BD),(0xF8BE),(0xF8BF),
-(0xF8C0),(0xF8C1),(0xF8C2),(0xF8C3),(0xF8C4),(0xF8C5),(0xF8C6),(0xF8C7),
-(0xF8C8),(0xF8C9),(0xF8CA),(0xF8CB),(0xF8CC),(0xF8CD),(0xF8CE),(0xF8CF),
-(0xF8D0),(0xF8D1),(0xF8D2),(0xF8D3),(0xF8D4),(0xF8D5),(0xF8D6),(0xF8D7),
-(0xF8D8),(0xF8D9),(0xF8DA),(0xF8DB),(0xF8DC),(0xF8DD),(0xF8DE),(0xF8DF),
-(0xF8E0),(0xF8E1),(0xF8E2),(0xF8E3),(0xF8E4),(0xF8E5),(0xF8E6),(0xF8E7),
-(0xF8E8),(0xF8E9),(0xF8EA),(0xF8EB),(0xF8EC),(0xF8ED),(0xF8EE),(0xF8EF),
-(0xF8F0),(0xF8F1),(0xF8F2),(0xF8F3),(0xF8F4),(0xF8F5),(0xF8F6),(0xF8F7),
-(0xF8F8),(0xF8F9),(0xF8FA),(0xF8FB),(0xF8FC),
-(0xF940),(0xF941),(0xF942),(0xF943),(0xF944),(0xF945),(0xF946),(0xF947),
-(0xF948),(0xF949),(0xF94A),(0xF94B),(0xF94C),(0xF94D),(0xF94E),(0xF94F),
-(0xF950),(0xF951),(0xF952),(0xF953),(0xF954),(0xF955),(0xF956),(0xF957),
-(0xF958),(0xF959),(0xF95A),(0xF95B),(0xF95C),(0xF95D),(0xF95E),(0xF95F),
-(0xF960),(0xF961),(0xF962),(0xF963),(0xF964),(0xF965),(0xF966),(0xF967),
-(0xF968),(0xF969),(0xF96A),(0xF96B),(0xF96C),(0xF96D),(0xF96E),(0xF96F),
-(0xF970),(0xF971),(0xF972),(0xF973),(0xF974),(0xF975),(0xF976),(0xF977),
-(0xF978),(0xF979),(0xF97A),(0xF97B),(0xF97C),(0xF97D),(0xF97E),
-(0xF980),(0xF981),(0xF982),(0xF983),(0xF984),(0xF985),(0xF986),(0xF987),
-(0xF988),(0xF989),(0xF98A),(0xF98B),(0xF98C),(0xF98D),(0xF98E),(0xF98F),
-(0xF990),(0xF991),(0xF992),(0xF993),(0xF994),(0xF995),(0xF996),(0xF997),
-(0xF998),(0xF999),(0xF99A),(0xF99B),(0xF99C),(0xF99D),(0xF99E),(0xF99F),
-(0xF9A0),(0xF9A1),(0xF9A2),(0xF9A3),(0xF9A4),(0xF9A5),(0xF9A6),(0xF9A7),
-(0xF9A8),(0xF9A9),(0xF9AA),(0xF9AB),(0xF9AC),(0xF9AD),(0xF9AE),(0xF9AF),
-(0xF9B0),(0xF9B1),(0xF9B2),(0xF9B3),(0xF9B4),(0xF9B5),(0xF9B6),(0xF9B7),
-(0xF9B8),(0xF9B9),(0xF9BA),(0xF9BB),(0xF9BC),(0xF9BD),(0xF9BE),(0xF9BF),
-(0xF9C0),(0xF9C1),(0xF9C2),(0xF9C3),(0xF9C4),(0xF9C5),(0xF9C6),(0xF9C7),
-(0xF9C8),(0xF9C9),(0xF9CA),(0xF9CB),(0xF9CC),(0xF9CD),(0xF9CE),(0xF9CF),
-(0xF9D0),(0xF9D1),(0xF9D2),(0xF9D3),(0xF9D4),(0xF9D5),(0xF9D6),(0xF9D7),
-(0xF9D8),(0xF9D9),(0xF9DA),(0xF9DB),(0xF9DC),(0xF9DD),(0xF9DE),(0xF9DF),
-(0xF9E0),(0xF9E1),(0xF9E2),(0xF9E3),(0xF9E4),(0xF9E5),(0xF9E6),(0xF9E7),
-(0xF9E8),(0xF9E9),(0xF9EA),(0xF9EB),(0xF9EC),(0xF9ED),(0xF9EE),(0xF9EF),
-(0xF9F0),(0xF9F1),(0xF9F2),(0xF9F3),(0xF9F4),(0xF9F5),(0xF9F6),(0xF9F7),
-(0xF9F8),(0xF9F9),(0xF9FA),(0xF9FB),(0xF9FC);
-
-#Test that all the characters are stored correctly
-SELECT HEX(c1) FROM t1;
-
-#Test conversion to ucs2
-CREATE TABLE t2 SELECT CONVERT(c1 USING ucs2) AS c1 FROM t1;
-SELECT HEX(c1) FROM t2;
-
-#Test round trip conversion
-CREATE TABLE t3 SELECT CONVERT(c1 USING cp932) AS c1 FROM t2;
-SELECT HEX(c1) FROM t3;
-
-#Test conversion to eucjpms
-CREATE TABLE t4 SELECT CONVERT(c1 USING eucjpms) AS c1 FROM t1;
-SELECT HEX(c1) FROM t4;
-
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-DROP TABLE t4;
-
-SET collation_connection='cp932_japanese_ci';
--- source include/ctype_filesort.inc
--- source include/ctype_like_range_f1f2.inc
-SET collation_connection='cp932_bin';
--- source include/ctype_filesort.inc
--- source include/ctype_like_range_f1f2.inc
-
-#
-# Bug#29333 myisam corruption with
-# character set cp932 collate cp932_japanese_ci
-#
-create table t2 (a char(1));
-insert into t2 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
-insert into t2 values ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
-create table t1 (
- a varchar(2) character set cp932
-) engine=myisam;
---disable_warnings
-insert into t1
-select unhex(concat(t24.a, t23.a, t22.a, t21.a))
-from t2 t21, t2 t22, t2 t23, t2 t24;
---enable_warnings
-delete from t1 where a='';
-alter table t1 add key(a);
-check table t1;
-drop table t1;
-drop table t2;
-
-
-#
-# Bug#12547: Inserting long string into varchar causes table crash in cp932
-#
-create table t1 (col1 varchar(1)) character set cp932;
-insert into t1 values ('a');
-insert ignore into t1 values ('ab');
-select * from t1;
-insert ignore into t1 values ('abc');
-select * from t1;
-drop table t1;
-
-#
-# Bug#25815 Data truncated for column TEXT
-#
-set names utf8;
-create table t1 (a text) default character set cp932;
-insert into t1 values (_utf8 0xE38182);
-show warnings;
-select * from t1;
-select hex(a) from t1;
-drop table t1;
-
-#
-# BUG#16217 - MySQL client misinterpretes multi-byte char as escape `\'
-#
-
-# new command \C or charset
---exec $MYSQL --default-character-set=utf8 test -e "\C cp932 \g"
---exec $MYSQL --default-character-set=cp932 test -e "charset utf8;"
-
-# its usage to switch internally in mysql to requested charset
---exec $MYSQL --default-character-set=utf8 test -e "charset cp932; select 'ƒ\'; create table t1 (c_cp932 TEXT CHARACTER SET cp932); insert into t1 values('ƒ\'); select * from t1; drop table t1;"
---exec $MYSQL --default-character-set=utf8 test -e "charset cp932; select 'ƒ\'"
---exec $MYSQL --default-character-set=utf8 test -e "/*charset cp932 */; set character_set_client= cp932; select 'ƒ\'"
---exec $MYSQL --default-character-set=utf8 test -e "/*!\C cp932 */; set character_set_client= cp932; select 'ƒ\'"
diff --git a/mysql-test/extra/binlog_tests/ctype_cp932_binlog.test b/mysql-test/extra/binlog_tests/ctype_cp932_binlog.test
deleted file mode 100644
index 5c172afd122..00000000000
--- a/mysql-test/extra/binlog_tests/ctype_cp932_binlog.test
+++ /dev/null
@@ -1,35 +0,0 @@
--- source include/not_embedded.inc
--- source include/have_cp932.inc
--- source include/have_log_bin.inc
-
---character_set cp932
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-set names cp932;
-set character_set_database = cp932;
-
-# Test prepared statement with 0x8300 sequence in parameter while
-# running with cp932 client character set.
-RESET MASTER;
-CREATE TABLE t1(f1 blob);
-PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)';
-SET @var1= x'8300';
-# TODO: Note that this doesn't actually test the code which was added for
-# bug#11338 because this syntax for prepared statements causes the PS to
-# be replicated differently than if we executed the PS from C or Java.
-# Using this syntax, variable names are inserted into the binlog instead
-# of values. The real goal of this test is to check the code that was
-# added to Item_param::query_val_str() in order to do hex encoding of
-# PS parameters when the client character set is cp932;
-# Bug#11338 has an example java program which can be used to verify this
-# code (and I have used it to test the fix) until there is some way to
-# exercise this code from mysql-test-run.
-EXECUTE stmt1 USING @var1;
-source include/show_binlog_events.inc;
-SELECT HEX(f1) FROM t1;
-DROP table t1;
-# end test for bug#11338
-
-# End of 4.1 tests
diff --git a/mysql-test/extra/binlog_tests/ctype_ucs_binlog.result b/mysql-test/extra/binlog_tests/ctype_ucs_binlog.result
deleted file mode 100644
index c358cfcd4f2..00000000000
--- a/mysql-test/extra/binlog_tests/ctype_ucs_binlog.result
+++ /dev/null
@@ -1,212 +0,0 @@
-SET TIMESTAMP=10000;
-create table t2 (c char(30)) charset=ucs2;
-set @v=convert('abc' using ucs2);
-reset master;
-insert into t2 values (@v);
-include/show_binlog_events.inc
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Gtid # # BEGIN GTID #-#-#
-master-bin.000001 # User var # # @`v`=_ucs2 X'006100620063' COLLATE ucs2_general_ci
-master-bin.000001 # Query # # use `test`; insert into t2 values (@v)
-master-bin.000001 # Query # # COMMIT
-flush logs;
-/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
-/*!40019 SET @@session.max_insert_delayed_threads=0*/;
-/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
-DELIMITER /*!*/;
-ROLLBACK/*!*/;
-BEGIN
-/*!*/;
-SET @`v`:=_ucs2 X'006100620063' COLLATE `ucs2_general_ci`/*!*/;
-use `test`/*!*/;
-SET TIMESTAMP=10000/*!*/;
-SET @@session.pseudo_thread_id=999999999/*!*/;
-SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
-SET @@session.sql_mode=1342177280/*!*/;
-SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C latin1 *//*!*/;
-SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
-SET @@session.lc_time_names=0/*!*/;
-SET @@session.collation_database=DEFAULT/*!*/;
-insert into t2 values (@v)
-/*!*/;
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
-DELIMITER ;
-# End of log file
-ROLLBACK /* added by mysqlbinlog */;
-/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
-/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
-drop table t2;
-#
-# Start of 10.2 tests
-#
-#
-# MDEV-10866 Extend PREPARE and EXECUTE IMMEDIATE to understand expressions
-#
-FLUSH LOGS;
-SET NAMES utf8;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8);
-EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (''ä(i1)'')';
-EXECUTE IMMEDIATE CONVERT('INSERT INTO t1 VALUES (''ä(i2)'')' USING ucs2);
-SET @stmt=CONVERT('INSERT INTO t1 VALUES (''ä(i3)'')' USING ucs2);
-EXECUTE IMMEDIATE @stmt;
-PREPARE stmt FROM 'INSERT INTO t1 VALUES (''ä(p1)'')';
-EXECUTE stmt;
-PREPARE stmt FROM CONVERT('INSERT INTO t1 VALUES (''ä(p2)'')' USING ucs2);
-EXECUTE stmt;
-SET @stmt=CONVERT('INSERT INTO t1 VALUES (''ä(p3)'')' USING ucs2);
-PREPARE stmt FROM @stmt;
-EXECUTE stmt;
-DEALLOCATE PREPARE stmt;
-SELECT * FROM t1;
-a
-ä(i1)
-ä(i2)
-ä(i3)
-ä(p1)
-ä(p2)
-ä(p3)
-DROP TABLE t1;
-FLUSH LOGS;
-/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
-/*!40019 SET @@session.max_insert_delayed_threads=0*/;
-/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
-DELIMITER /*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Start: binlog v 4, server v #.##.## created 700101 6:46:40
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Gtid list [#-#-#]
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Binlog checkpoint master-bin.000002
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Binlog checkpoint master-bin.000003
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-# ddl
-/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
-/*!100001 SET @@session.gtid_domain_id=#*//*!*/;
-/*!100001 SET @@session.server_id=#*//*!*/;
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-use `test`/*!*/;
-SET TIMESTAMP=10000/*!*/;
-SET @@session.pseudo_thread_id=#/*!*/;
-SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
-SET @@session.sql_mode=1342177280/*!*/;
-SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
-SET @@session.lc_time_names=0/*!*/;
-SET @@session.collation_database=DEFAULT/*!*/;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8)
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-#
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-BEGIN
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-INSERT INTO t1 VALUES ('ä(i1)')
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-#
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-BEGIN
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-INSERT INTO t1 VALUES ('ä(i2)')
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-#
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-BEGIN
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-INSERT INTO t1 VALUES ('ä(i3)')
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-#
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-BEGIN
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-INSERT INTO t1 VALUES ('ä(p1)')
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-#
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-BEGIN
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-INSERT INTO t1 VALUES ('ä(p2)')
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-#
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-BEGIN
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-INSERT INTO t1 VALUES ('ä(p3)')
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-COMMIT
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX GTID #-#-# ddl
-/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
-SET TIMESTAMP=10000/*!*/;
-DROP TABLE `t1` /* generated by server */
-/*!*/;
-# at #
-#700101 6:46:40 server id # end_log_pos # CRC32 XXX Rotate to master-bin.000004 pos: 4
-DELIMITER ;
-# End of log file
-ROLLBACK /* added by mysqlbinlog */;
-/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
-/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
-#
-# End of 10.2 tests
-#
diff --git a/mysql-test/extra/binlog_tests/ctype_ucs_binlog.test b/mysql-test/extra/binlog_tests/ctype_ucs_binlog.test
deleted file mode 100644
index 8a4df14d4b3..00000000000
--- a/mysql-test/extra/binlog_tests/ctype_ucs_binlog.test
+++ /dev/null
@@ -1,63 +0,0 @@
---source include/not_embedded.inc
---source include/have_ucs2.inc
---source include/have_log_bin.inc
-
-#
-# Check correct binlogging of UCS2 user variables (BUG#3875)
-#
-SET TIMESTAMP=10000;
-create table t2 (c char(30)) charset=ucs2;
-set @v=convert('abc' using ucs2);
-reset master;
-insert into t2 values (@v);
-source include/show_binlog_events.inc;
-# more important than SHOW BINLOG EVENTS, mysqlbinlog (where we
-# absolutely need variables names to be quoted and strings to be
-# escaped).
-flush logs;
-let $MYSQLD_DATADIR= `select @@datadir`;
---exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000001
-drop table t2;
-
-# End of 4.1 tests
-
-
---echo #
---echo # Start of 10.2 tests
---echo #
-
---echo #
---echo # MDEV-10866 Extend PREPARE and EXECUTE IMMEDIATE to understand expressions
---echo #
-
-SET TIMESTAMP=UNIX_TIMESTAMP('1970-01-01 06:46:40');
-
-FLUSH LOGS;
-SET NAMES utf8;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8);
-EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (''ä(i1)'')';
-EXECUTE IMMEDIATE CONVERT('INSERT INTO t1 VALUES (''ä(i2)'')' USING ucs2);
-SET @stmt=CONVERT('INSERT INTO t1 VALUES (''ä(i3)'')' USING ucs2);
-EXECUTE IMMEDIATE @stmt;
-
-PREPARE stmt FROM 'INSERT INTO t1 VALUES (''ä(p1)'')';
-EXECUTE stmt;
-PREPARE stmt FROM CONVERT('INSERT INTO t1 VALUES (''ä(p2)'')' USING ucs2);
-EXECUTE stmt;
-SET @stmt=CONVERT('INSERT INTO t1 VALUES (''ä(p3)'')' USING ucs2);
-PREPARE stmt FROM @stmt;
-EXECUTE stmt;
-DEALLOCATE PREPARE stmt;
-
-SELECT * FROM t1;
-DROP TABLE t1;
-FLUSH LOGS;
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /TIMESTAMP=[0-9]*/TIMESTAMP=XXX/ /# at [0-9]*/# at #/ /(exec_time=|end_log_pos |Xid = |thread_id=|server id |table id |mapped to number )[0-9]+/\1#/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/ /Gtid list [[][0-9]+-[0-9]+-[0-9]+[\]]/Gtid list [#-#-#]/ /session[.](gtid_domain_id|server_id|gtid_seq_no)=[0-9]+/session.\1=#/ /(^#|created )[0-9]{6} [ 1][0-9]:[0-9]{2}:[0-9]{2}/\1YYMMDD HH:MM:SS/
---exec $MYSQL_BINLOG --base64-output=decode-rows -vv $MYSQLD_DATADIR/master-bin.000003
-
-SET TIMESTAMP=DEFAULT;
-
---echo #
---echo # End of 10.2 tests
---echo #
diff --git a/mysql-test/extra/binlog_tests/database.test b/mysql-test/extra/binlog_tests/database.test
deleted file mode 100644
index 097a501cc34..00000000000
--- a/mysql-test/extra/binlog_tests/database.test
+++ /dev/null
@@ -1,94 +0,0 @@
-source include/have_log_bin.inc;
-source include/not_embedded.inc;
-
-# Checking that the drop of a database does not replicate anything in
-# addition to the drop of the database
-
-reset master;
-create database testing_1;
-use testing_1;
-create table t1 (a int);
-create function sf1 (a int) returns int return a+1;
-create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a);
-create procedure sp1 (a int) insert into t1 values(a);
-drop database testing_1;
-source include/show_binlog_events.inc;
-
-# BUG#38773: DROP DATABASE cause switch to stmt-mode when there are
-# temporary tables open
-
-use test;
-reset master;
-create temporary table tt1 (a int);
-create table t1 (a int);
-insert into t1 values (1);
-disable_warnings;
-drop database if exists mysqltest1;
-enable_warnings;
-insert into t1 values (1);
-drop table tt1, t1;
-source include/show_binlog_events.inc;
-
-FLUSH STATUS;
-
---echo
---echo # 'DROP TABLE IF EXISTS <deleted tables>' is binlogged
---echo # when 'DROP DATABASE' fails and at least one table is deleted
---echo # from the database.
-RESET MASTER;
-CREATE DATABASE testing_1;
-USE testing_1;
-CREATE TABLE t1(c1 INT);
-CREATE TABLE t2(c1 INT);
-
-let $prefix= `SELECT UUID()`;
---echo # Create a file in the database directory
---replace_result $prefix FAKE_FILE
-eval SELECT 'hello' INTO OUTFILE 'fake_file.$prefix';
-
---echo
---echo # 'DROP DATABASE' will fail if there is any other file in the the
---echo # database directory
-
-# Use '/' instead of '\' in the error message. On windows platform, dir is
-# formed with '\'.
---replace_regex /\\testing_1\\*/\/testing_1\// /66/39/ /93/39/ /17/39/ /247/39/ /File exists/Directory not empty/
---error 1010
-DROP DATABASE testing_1;
-let $wait_binlog_event= DROP TABLE IF EXIST;
-source include/wait_for_binlog_event.inc;
-let $MYSQLD_DATADIR= `SELECT @@datadir`;
-
---echo
---echo # Remove the fake file.
---remove_file $MYSQLD_DATADIR/testing_1/fake_file.$prefix
---echo # Now we can drop the database.
-DROP DATABASE testing_1;
-
-
---echo #
---echo # Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT
---echo # BASED REPLICATION
---echo #
-
-USE test;
---disable_warnings
-DROP DATABASE IF EXISTS db1;
-DROP TABLE IF EXISTS t3;
---enable_warnings
-
-CREATE DATABASE db1;
-CREATE TABLE db1.t1 (a INT);
-CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb;
-CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b))
- engine=innodb;
-RESET MASTER;
-
---error ER_ROW_IS_REFERENCED_2
-DROP DATABASE db1; # Fails because of the fk
-SHOW TABLES FROM db1; # t1 was dropped, t2 remains
---source include/show_binlog_events.inc # Check that the binlog drops t1
-
-# Cleanup
-DROP TABLE t3;
-DROP DATABASE db1;
diff --git a/mysql-test/extra/binlog_tests/drop_table.test b/mysql-test/extra/binlog_tests/drop_table.test
deleted file mode 100644
index c55cbb67560..00000000000
--- a/mysql-test/extra/binlog_tests/drop_table.test
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Bug#989: If DROP TABLE while there's an active transaction, wrong binlog order
-#
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-
-connection con1;
-RESET MASTER;
-CREATE TABLE t1 (a INT);
-SET AUTOCOMMIT=OFF;
-BEGIN;
-INSERT INTO t1 VALUES(1);
-
-connection con2;
---send DROP TABLE t1;
-
-connection con1;
-COMMIT;
-
-connection con2;
---reap
-
-connection default;
-
---disconnect con1
---disconnect con2
-
-let $VERSION=`select version()`;
-source include/show_binlog_events.inc;
diff --git a/mysql-test/extra/binlog_tests/drop_temp_table.test b/mysql-test/extra/binlog_tests/drop_temp_table.test
deleted file mode 100644
index c852ee4c8a0..00000000000
--- a/mysql-test/extra/binlog_tests/drop_temp_table.test
+++ /dev/null
@@ -1,102 +0,0 @@
-
---disable_warnings
-DROP DATABASE IF EXISTS `drop-temp+table-test`;
---enable_warnings
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-connection con1;
-RESET MASTER;
-CREATE DATABASE `drop-temp+table-test`;
-USE `drop-temp+table-test`;
-CREATE TEMPORARY TABLE shortn1 (a INT);
-CREATE TEMPORARY TABLE `table:name` (a INT);
-CREATE TEMPORARY TABLE shortn2 (a INT);
-
-##############################################################################
-# BUG#46572 DROP TEMPORARY table IF EXISTS does not have a consistent behavior
-# in ROW mode
-#
-# In RBR, 'DROP TEMPORARY TABLE ...' statement should never be binlogged no
-# matter if the tables exist or not. In contrast, both in SBR and MBR, the
-# statement should be always binlogged no matter if the tables exist or not.
-##############################################################################
-CREATE TEMPORARY TABLE tmp(c1 int);
-CREATE TEMPORARY TABLE tmp1(c1 int);
-CREATE TEMPORARY TABLE tmp2(c1 int);
-CREATE TEMPORARY TABLE tmp3(c1 int);
-CREATE TABLE t(c1 int);
-
-DROP TEMPORARY TABLE IF EXISTS tmp;
-
---disable_warnings
-# Before fixing BUG#46572, 'DROP TEMPORARY TABLE IF EXISTS...' statement was
-# binlogged when the table did not exist in RBR.
-DROP TEMPORARY TABLE IF EXISTS tmp;
-
-# In RBR, 'DROP TEMPORARY TABLE ...' statement is never binlogged no matter if
-# the tables exist or not.
-DROP TEMPORARY TABLE IF EXISTS tmp, tmp1;
-DROP TEMPORARY TABLE tmp3;
-
-#In RBR, tmp2 will NOT be binlogged, because it is a temporary table.
-DROP TABLE IF EXISTS tmp2, t;
-
-#In RBR, tmp2 will be binlogged, because it does not exist and master do not know
-# whether it is a temporary table or not.
-DROP TABLE IF EXISTS tmp2, t;
---enable_warnings
-
-SELECT GET_LOCK("a",10);
-
-#
-# BUG48216 Replication fails on all slaves after upgrade to 5.0.86 on master
-#
-# When the session is closed, any temporary tables of the session are dropped
-# and are binlogged. But it will be binlogged with a wrong database name when
-# the length of the database name('drop-temp-table-test') is greater than the
-# current database name('test').
-#
-USE test;
-disconnect con1;
-
-connection con2;
-# We want to SHOW BINLOG EVENTS, to know what was logged. But there is no
-# guarantee that logging of the terminated con1 has been done yet.
-# To be sure that logging has been done, we use a user lock.
-SELECT GET_LOCK("a",10);
-let $VERSION=`SELECT VERSION()`;
-source include/show_binlog_events.inc;
-DROP DATABASE `drop-temp+table-test`;
-
-
-#
-# Bug #54842: DROP TEMPORARY TABLE not binlogged after manual switching binlog format to ROW
-#
-# Sanity test. Checking that implicit DROP event is logged.
-#
-# After BUG#52616, the switch to ROW mode becomes effective even
-# if there are open temporary tables. As such the implicit drop
-# for temporary tables on session closing must be logged.
-#
-
-RESET MASTER;
-
-CREATE TABLE t1 ( i text );
-
---connect(con1,localhost,root,,)
-CREATE TEMPORARY TABLE ttmp1 ( i text );
-SET @@session.binlog_format=ROW;
-INSERT INTO t1 VALUES ('1');
-SELECT @@session.binlog_format;
---disconnect con1
-
--- connection default
---let $wait_binlog_event= DROP
---source include/wait_for_binlog_event.inc
--- source include/show_binlog_events.inc
-RESET MASTER;
-
-DROP TABLE t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/extra/binlog_tests/implicit.test b/mysql-test/extra/binlog_tests/implicit.test
deleted file mode 100644
index de906fc0605..00000000000
--- a/mysql-test/extra/binlog_tests/implicit.test
+++ /dev/null
@@ -1,28 +0,0 @@
-# First part: outside a transaction
-RESET MASTER;
-eval $prepare;
-
-INSERT INTO t1 VALUES (1);
-source include/show_binlog_events.inc;
-eval $statement;
-source include/show_binlog_events.inc;
-if ($cleanup) {
- eval $cleanup;
-}
-
-# Second part: inside a transaction
-RESET MASTER;
-eval $prepare;
-BEGIN;
-INSERT INTO t1 VALUES (2);
-source include/show_binlog_events.inc;
-eval $statement;
-source include/show_binlog_events.inc;
-INSERT INTO t1 VALUES (3);
-source include/show_binlog_events.inc;
-COMMIT;
-source include/show_binlog_events.inc;
-if ($cleanup) {
- eval $cleanup;
-}
-
diff --git a/mysql-test/extra/binlog_tests/insert_select-binlog.test b/mysql-test/extra/binlog_tests/insert_select-binlog.test
deleted file mode 100644
index ef22373a628..00000000000
--- a/mysql-test/extra/binlog_tests/insert_select-binlog.test
+++ /dev/null
@@ -1,38 +0,0 @@
-# Embedded server doesn't support binlog
--- source include/not_embedded.inc
--- source include/have_log_bin.inc
-
---disable_warnings
-drop table if exists t1,t2;
---enable_warnings
-
-# Check if a partly-completed INSERT SELECT in a MyISAM table goes into the
-# binlog
-
-create table t1(a int, unique(a));
-insert into t1 values(2);
-create table t2(a int);
-insert into t2 values(1),(2);
-reset master;
---error ER_DUP_ENTRY
-insert into t1 select * from t2;
-# The above should produce an error, but still be in the binlog;
-# verify the binlog :
-let $VERSION=`select version()`;
-source include/show_binlog_events.inc;
-select * from t1;
-drop table t1, t2;
-
-# Verify that a partly-completed CREATE TABLE .. SELECT does not
-# get into the binlog (Bug #6682)
-create table t1(a int);
-insert into t1 values(1),(1);
-reset master;
---error ER_DUP_ENTRY
-create table t2(unique(a)) select a from t1;
-# The above should produce an error, *and* not appear in the binlog
-let $VERSION=`select version()`;
-source include/show_binlog_events.inc;
-drop table t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test b/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
deleted file mode 100644
index 74fbe6b482a..00000000000
--- a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
+++ /dev/null
@@ -1,654 +0,0 @@
-# Check that binlog is ok when a transaction mixes updates to InnoDB and
-# MyISAM.
-# It would be nice to make this a replication test, but in 4.0 the
-# slave is always with --skip-innodb in the testsuite. I (Guilhem) however
-# did some tests manually on a slave; tables are replicated fine and
-# Exec_Master_Log_Pos advances as expected.
-
--- source include/have_log_bin.inc
--- source include/have_innodb.inc
-
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-
-connection con1;
-create table t1 (a int) engine=innodb;
-create table t2 (a int) engine=myisam;
-
-reset master;
-
-begin;
-insert into t1 values(1);
-insert into t2 select * from t1;
-commit;
-
-source include/show_binlog_events.inc;
-
-delete from t1;
-delete from t2;
-reset master;
-
-begin;
-insert into t1 values(2);
-insert into t2 select * from t1;
-# should say some changes to non-transact1onal tables couldn't be rolled back
-rollback;
-
-source include/show_binlog_events.inc;
-
-delete from t1;
-delete from t2;
-reset master;
-
-begin;
-insert into t1 values(3);
-savepoint my_savepoint;
-insert into t1 values(4);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-commit;
-
-source include/show_binlog_events.inc;
-
-delete from t1;
-delete from t2;
-reset master;
-
-begin;
-insert into t1 values(5);
-savepoint my_savepoint;
-insert into t1 values(6);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-insert into t1 values(7);
-commit;
-select a from t1 order by a; # check that savepoints work :)
-
-source include/show_binlog_events.inc;
-
-# and when ROLLBACK is not explicit?
-delete from t1;
-delete from t2;
-reset master;
-
-select get_lock("a",10);
-begin;
-insert into t1 values(8);
-insert into t2 select * from t1;
-disconnect con1;
-
-connection con2;
-# We want to SHOW BINLOG EVENTS, to know what was logged. But there is no
-# guarantee that logging of the terminated con1 has been done yet (it may not
-# even be started, so con1 may have not even attempted to lock the binlog yet;
-# so SHOW BINLOG EVENTS may come before con1 does the loggin. To be sure that
-# logging has been done, we use a user lock.
-select get_lock("a",10);
-source include/show_binlog_events.inc;
-
-# and when not in a transact1on?
-delete from t1;
-delete from t2;
-reset master;
-
-insert into t1 values(9);
-insert into t2 select * from t1;
-
-source include/show_binlog_events.inc;
-
-# Check that when the query updat1ng the MyISAM table is the first in the
-# transaction, we log it immediately.
-delete from t1;
-delete from t2;
-reset master;
-
-insert into t1 values(10); # first make t1 non-empty
-begin;
-insert into t2 select * from t1;
-source include/show_binlog_events.inc;
-insert into t1 values(11);
-commit;
-
-source include/show_binlog_events.inc;
-
-# Check that things work like before this BEGIN/ROLLBACK code was added,
-# when t2 is INNODB
-
-alter table t2 engine=INNODB;
-
-delete from t1;
-delete from t2;
-reset master;
-
-begin;
-insert into t1 values(12);
-insert into t2 select * from t1;
-commit;
-
-source include/show_binlog_events.inc;
-
-delete from t1;
-delete from t2;
-reset master;
-
-begin;
-insert into t1 values(13);
-insert into t2 select * from t1;
-rollback;
-
-source include/show_binlog_events.inc;
-
-delete from t1;
-delete from t2;
-reset master;
-
-begin;
-insert into t1 values(14);
-savepoint my_savepoint;
-insert into t1 values(15);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-commit;
-
-source include/show_binlog_events.inc;
-
-delete from t1;
-delete from t2;
-reset master;
-
-begin;
-insert into t1 values(16);
-savepoint my_savepoint;
-insert into t1 values(17);
-insert into t2 select * from t1;
-rollback to savepoint my_savepoint;
-insert into t1 values(18);
-commit;
-select a from t1 order by a; # check that savepoints work :)
-
-source include/show_binlog_events.inc;
-
-# Test for BUG#5714, where a MyISAM update in the transaction used to
-# release row-level locks in InnoDB
-
-connect (con3,localhost,root,,);
-
-connection con3;
-delete from t1;
-delete from t2;
---disable_warnings
-alter table t2 engine=MyISAM;
---enable_warnings
-insert into t1 values (1);
-begin;
-select * from t1 for update;
-
-connection con2;
-select (@before:=unix_timestamp())*0; # always give repeatable output
-begin;
-send select * from t1 for update;
-
-connection con3;
-insert into t2 values (20);
-
-connection con2;
---error 1205
-reap;
-select (@after:=unix_timestamp())*0; # always give repeatable output
-# verify that innodb_lock_wait_timeout was exceeded. When there was
-# the bug, the reap would return immediately after the insert into t2.
-select (@after-@before) >= 2;
-
-connection con3;
-commit;
-
-connection con2;
-drop table t1,t2;
-commit;
-
-# test for BUG#7947 - DO RELEASE_LOCK() not written to binlog on rollback in
-# the middle of a transaction
-
-connection con2;
-begin;
-create temporary table ti (a int) engine=innodb;
-rollback;
-insert into ti values(1);
-set autocommit=0;
-create temporary table t1 (a int) engine=myisam;
-commit;
-insert t1 values (1);
-rollback;
-create table t0 (n int);
-insert t0 select * from t1;
-set autocommit=1;
-insert into t0 select GET_LOCK("lock1",0);
-set autocommit=0;
-create table t2 (n int) engine=innodb;
-insert into t2 values (3);
-disconnect con2;
-connection con3;
-select get_lock("lock1",60);
-source include/show_binlog_events.inc;
-do release_lock("lock1");
-drop table t0,t2;
-
-# End of 4.1 tests
-
-#
-# Test behaviour of CREATE ... SELECT when mixing MyISAM and InnoDB tables
-#
-
-set autocommit=0;
-CREATE TABLE t1 (a int, b int) engine=myisam;
-reset master;
-INSERT INTO t1 values (1,1),(1,2);
---error ER_DUP_ENTRY
-CREATE TABLE t2 (primary key (a)) engine=innodb select * from t1;
-# This should give warning
-DROP TABLE if exists t2;
-INSERT INTO t1 values (3,3);
---error ER_DUP_ENTRY
-CREATE TEMPORARY TABLE t2 (primary key (a)) engine=innodb select * from t1;
-ROLLBACK;
-# This should give warning
-DROP TABLE IF EXISTS t2;
-
-CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb;
-INSERT INTO t1 VALUES (4,4);
-CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
-SELECT * from t2;
-TRUNCATE table t2;
-INSERT INTO t1 VALUES (5,5);
---error ER_DUP_ENTRY
-INSERT INTO t2 select * from t1;
-SELECT * FROM t2;
-DROP TABLE t2;
-
-INSERT INTO t1 values (6,6);
-CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb ;
-INSERT INTO t1 values (7,7);
-ROLLBACK;
-INSERT INTO t1 values (8,8);
-CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
-COMMIT;
-INSERT INTO t1 values (9,9);
-CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
-ROLLBACK;
-SELECT * from t2;
-TRUNCATE table t2;
-INSERT INTO t1 values (10,10);
---error ER_DUP_ENTRY
-INSERT INTO t2 select * from t1;
-SELECT * from t1;
-INSERT INTO t2 values (100,100);
-CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
-COMMIT;
-INSERT INTO t2 values (101,101);
-CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
-ROLLBACK;
-SELECT * from t2;
-DROP TABLE t1,t2;
-source include/show_binlog_events.inc;
-
-# Test for BUG#16559 (ROLLBACK should always have a zero error code in
-# binlog). Has to be here and not earlier, as the SELECTs influence
-# XIDs differently between normal and ps-protocol (and SHOW BINLOG
-# EVENTS above read XIDs).
-
-connect (con4,localhost,root,,);
-connection con3;
-reset master;
-create table t1 (a int) engine=innodb;
-create table t2 (a int) engine=myisam;
-select get_lock("a",10);
-begin;
-insert into t1 values(8);
-insert into t2 select * from t1;
-
-disconnect con3;
-
-connection con4;
-select get_lock("a",10); # wait for rollback to finish
-if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
-{
- --let $binlog_rollback= query_get_value(SHOW BINLOG EVENTS, Pos, 11)
- --let $binlog_query= query_get_value(SHOW BINLOG EVENTS, Info, 11)
- if ($binlog_query != ROLLBACK) {
- --echo Wrong query from SHOW BINLOG EVENTS. Expected ROLLBACK, got '$binlog_query'
- --source include/show_rpl_debug_info.inc
- --die Wrong value for slave parameter
- }
-}
-flush logs;
-
-let $MYSQLD_DATADIR= `select @@datadir`;
-# we check that the error code of the "ROLLBACK" event is 0 and not
-# ER_SERVER_SHUTDOWN (i.e. disconnection just rolls back transaction
-# and does not make slave to stop)
-
--- source include/binlog_start_pos.inc
-
-if (`select @@binlog_format = 'ROW'`)
-{
- --echo There is nothing to roll back; transactional changes are removed from the trans cache.
-}
-
-if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
-{
- --exec $MYSQL_BINLOG --start-position=$binlog_rollback $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
-
- --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
- eval select
- (@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
- is not null;
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- eval select
- @a like "%#%error_code=0%ROLLBACK\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
- @a like "%#%error_code=0%ROLLBACK\\r\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
- @a not like "%#%error_code=%error_code=%";
-}
-drop table t1, t2;
-
-#
-# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
-# bug #28960 non-trans temp table changes with insert .. select
-# not binlogged after rollback
-#
-# testing appearence of insert into temp_table in binlog.
-# There are two branches of execution that require different setup.
-
-## send_eof() branch
-
-# prepare
-
-create temporary table tt (a int unique);
-create table ti (a int) engine=innodb;
-reset master;
-
-# action
-
-begin;
-insert into ti values (1);
-insert into ti values (2) ;
-# This is SAFE because --binlog-direct-non-transactional-updates=FALSE
-insert into tt select * from ti;
-rollback;
-
-# check
-
-select count(*) from tt /* 2 */;
-source include/show_binlog_events.inc;
-select count(*) from ti /* zero */;
-insert into ti select * from tt;
-select * from ti /* that is what slave would miss - a bug */;
-
-
-## send_error() branch
-delete from ti;
-delete from tt where a=1;
-reset master;
-
-# action
-
-begin;
-insert into ti values (1);
-insert into ti values (2) /* to make the dup error in the following */;
---error ER_DUP_ENTRY
-insert into tt select * from ti /* one affected and error */;
-rollback;
-
-# check
-
-source include/show_binlog_events.inc;
-select count(*) from ti /* zero */;
-insert into ti select * from tt;
-select * from tt /* that is what otherwise slave missed - the bug */;
-
-drop table ti, tt;
-
-
-#
-# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
-#
-# Testing asserts: if there is a side effect of modifying non-transactional
-# table thd->no_trans_update.stmt must be TRUE;
-# the assert is active with debug build
-#
-
---disable_warnings
-drop function if exists bug27417;
-drop table if exists t1,t2;
---enable_warnings
-# side effect table
-CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
-# target tables
-CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
-
-delimiter |;
-create function bug27417(n int)
-RETURNS int(11)
-begin
- insert into t1 values (null);
- return n;
-end|
-delimiter ;|
-
-reset master;
-
-# execute
-
-insert into t2 values (bug27417(1));
-insert into t2 select bug27417(2);
-reset master;
-
---error ER_DUP_ENTRY
-insert into t2 values (bug27417(2));
-source include/show_binlog_events.inc; /* only (!) with fixes for #23333 will show there is the query */;
-select count(*) from t1 /* must be 3 */;
-
-reset master;
-select count(*) from t2;
-delete from t2 where a=bug27417(3);
-select count(*) from t2 /* nothing got deleted */;
-source include/show_binlog_events.inc; /* the query must be in regardless of #23333 */;
-select count(*) from t1 /* must be 5 */;
-
---enable_info
-delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
---disable_info
-select count(*) from t1 /* must be 7 */;
-
-# function bug27417 remains for the following testing of bug#23333
-drop table t1,t2;
-
-#
-# Bug#23333 using the patch (and the test) for bug#27471
-#
-# throughout the bug tests
-# t1 - non-trans side effects gatherer;
-# t2 - transactional table;
-#
-
-CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
-CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
-CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
-CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
-CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
-
-
-#
-# INSERT
-#
-
-# prepare
-
- insert into t2 values (1);
- reset master;
-
-# execute
-
- --error ER_DUP_ENTRY
- insert into t2 values (bug27417(1));
-
-# check
-
- source include/show_binlog_events.inc; /* the output must denote there is the query */;
- select count(*) from t1 /* must be 1 */;
-
-#
-# INSERT SELECT
-#
-
-# prepare
- delete from t1;
- delete from t2;
- insert into t2 values (2);
- reset master;
-
-# execute
-
- --error ER_DUP_ENTRY
- insert into t2 select bug27417(1) union select bug27417(2);
-
-# check
-
- source include/show_binlog_events.inc; /* the output must denote there is the query */;
- select count(*) from t1 /* must be 2 */;
-
-#
-# UPDATE inc multi-update
-#
-
-# prepare
- delete from t1;
- insert into t3 values (1,1),(2,3),(3,4);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- update t3 set b=b+bug27417(1);
-
-# check
- source include/show_binlog_events.inc; /* the output must denote there is the query */;
- select count(*) from t1 /* must be 2 */;
-
-## multi_update::send_eof() branch
-
-# prepare
- delete from t3;
- delete from t4;
- insert into t3 values (1,1);
- insert into t4 values (1,1),(2,2);
-
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
-
-# check
- source include/show_binlog_events.inc; /* the output must denote there is the query */;
- select count(*) from t1 /* must be 4 */;
-
-## send_error() branch of multi_update
-
-# prepare
- delete from t1;
- delete from t3;
- delete from t4;
- insert into t3 values (1,1),(2,2);
- insert into t4 values (1,1),(2,2);
-
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- UPDATE t3,t4 SET t3.a=t4.a + bug27417(1);
-
-# check
- select count(*) from t1 /* must be 1 */;
-
-# cleanup
- drop table t4;
-
-
-#
-# DELETE incl multi-delete
-#
-
-# prepare
- delete from t1;
- delete from t2;
- delete from t3;
- insert into t2 values (1);
- insert into t3 values (1,1);
- create trigger trg_del before delete on t2 for each row
- insert into t3 values (bug27417(1), 2);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- delete from t2;
-# check
- source include/show_binlog_events.inc; /* the output must denote there is the query */;
- select count(*) from t1 /* must be 1 */;
-
-# cleanup
- drop trigger trg_del;
-
-# prepare
- delete from t1;
- delete from t2;
- delete from t5;
- create trigger trg_del_t2 after delete on t2 for each row
- insert into t1 values (1);
- insert into t2 values (2),(3);
- insert into t5 values (1),(2);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- delete t2.* from t2,t5 where t2.a=t5.a + 1;
-
-# check
- source include/show_binlog_events.inc; /* the output must denote there is the query */;
- select count(*) from t1 /* must be 1 */;
-
-
-#
-# LOAD DATA
-#
-
-# prepare
- delete from t1;
- create table t4 (a int default 0, b int primary key) engine=innodb;
- insert into t4 values (0, 17);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- load data infile '../../std_data/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
-# check
- select * from t4;
- select count(*) from t1 /* must be 2 */;
- source include/show_binlog_events.inc; /* the output must denote there is the query */;
-
-#
-# bug#23333 cleanup
-#
-
-
-drop trigger trg_del_t2;
-drop table t1,t2,t3,t4,t5;
-drop function bug27417;
-
-
---echo end of tests
-
diff --git a/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test b/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test
deleted file mode 100644
index 7eca19bc834..00000000000
--- a/mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test
+++ /dev/null
@@ -1,295 +0,0 @@
-# the file to be sourced from binlog.binlog_mix_innodb_myisam
-
-#
-# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
-# bug #28960 non-trans temp table changes with insert .. select
-# not binlogged after rollback
-#
-# testing appearence of insert into temp_table in binlog.
-# There are two branches of execution that require different setup.
-
-# checking binlog content filled with row-based events due to
-# a used stored function modifies non-transactional table
-
-## send_eof() branch
-
-# prepare
-
-create temporary table tt (a int unique);
-create table ti (a int) engine=innodb;
-reset master;
-
-# action
-
-begin;
-insert into ti values (1);
-insert into ti values (2) ;
-# This is SAFE because --binlog-direct-non-transactional-updates=FALSE
-insert into tt select * from ti;
-rollback;
-
-# check
-
-select count(*) from tt /* 2 */;
-source include/show_binlog_events.inc;
-select count(*) from ti /* zero */;
-insert into ti select * from tt;
-select * from ti /* that is what slave would miss - bug#28960 */;
-
-
-## send_error() branch
-delete from ti;
-delete from tt where a=1;
-reset master;
-
-# action
-
-begin;
-insert into ti values (1);
-insert into ti values (2) /* to make the dup error in the following */;
---error ER_DUP_ENTRY
-insert into tt select * from ti /* one affected and error */;
-rollback;
-
-# check
-
-source include/show_binlog_events.inc; # nothing in binlog with row bilog format
-select count(*) from ti /* zero */;
-insert into ti select * from tt;
-select * from tt /* that is what otherwise slave missed - the bug */;
-
-drop table ti;
-
-
-#
-# Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
-#
-# Testing asserts: if there is a side effect of modifying non-transactional
-# table thd->no_trans_update.stmt must be TRUE;
-# the assert is active with debug build
-#
-
---disable_warnings
-drop function if exists bug27417;
-drop table if exists t1,t2;
---enable_warnings
-# side effect table
-CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
-# target tables
-CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));
-
-delimiter |;
-create function bug27417(n int)
-RETURNS int(11)
-begin
- insert into t1 values (null);
- return n;
-end|
-delimiter ;|
-
-reset master;
-
-# execute
-
-insert into t2 values (bug27417(1));
-insert into t2 select bug27417(2);
-reset master;
-
---error ER_DUP_ENTRY
-insert into t2 values (bug27417(2));
-source include/show_binlog_events.inc; #only (!) with fixes for #23333 will show there is the query
-select count(*) from t1 /* must be 3 */;
-
-reset master;
-select count(*) from t2;
-delete from t2 where a=bug27417(3);
-select count(*) from t2 /* nothing got deleted */;
-source include/show_binlog_events.inc; # the query must be in regardless of #23333
-select count(*) from t1 /* must be 5 */;
-
---enable_info
-delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
---disable_info
-select count(*) from t1 /* must be 7 */;
-
-# function bug27417 remains for the following testing of bug#23333
-drop table t1,t2;
-
-#
-# Bug#23333 using the patch (and the test) for bug#27471
-# throughout the bug tests
-# t1 - non-trans side effects gatherer;
-# t2 - transactional table;
-#
-CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;
-CREATE TABLE t2 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
-CREATE TABLE t3 (a int, PRIMARY KEY (a), b int unique) ENGINE=MyISAM;
-CREATE TABLE t4 (a int, PRIMARY KEY (a), b int unique) ENGINE=Innodb;
-CREATE TABLE t5 (a int, PRIMARY KEY (a)) ENGINE=InnoDB;
-
-
-#
-# INSERT
-#
-
-# prepare
-
- insert into t2 values (1);
- reset master;
-
-# execute
-
- --error ER_DUP_ENTRY
- insert into t2 values (bug27417(1));
-
-# check
-
- source include/show_binlog_events.inc; # must be event of the query
- select count(*) from t1 /* must be 1 */;
-
-#
-# INSERT SELECT
-#
-
-# prepare
- delete from t1;
- delete from t2;
- insert into t2 values (2);
- reset master;
-
-# execute
-
- --error ER_DUP_ENTRY
- insert into t2 select bug27417(1) union select bug27417(2);
-
-# check
-
- source include/show_binlog_events.inc; # must be events of the query
- select count(*) from t1 /* must be 2 */;
-
-#
-# UPDATE inc multi-update
-#
-
-# prepare
- delete from t1;
- insert into t3 values (1,1),(2,3),(3,4);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- update t3 set b=b+bug27417(1);
-
-# check
- source include/show_binlog_events.inc; # must be events of the query
- select count(*) from t1 /* must be 2 */;
-
-## multi_update::send_eof() branch
-
-# prepare
- delete from t3;
- delete from t4;
- insert into t3 values (1,1);
- insert into t4 values (1,1),(2,2);
-
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
-
-# check
- source include/show_binlog_events.inc; # the offset must denote there is the query
- select count(*) from t1 /* must be 4 */;
-
-## send_error() branch of multi_update
-
-# prepare
- delete from t1;
- delete from t3;
- delete from t4;
- insert into t3 values (1,1),(2,2);
- insert into t4 values (1,1),(2,2);
-
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- UPDATE t3,t4 SET t3.a = t4.a + bug27417(1) where t3.a = 1;
-
-# check
- select count(*) from t1 /* must be 1 */;
-
-# cleanup
- drop table t4;
-
-
-#
-# DELETE incl multi-delete
-#
-
-# prepare
- delete from t1;
- delete from t2;
- delete from t3;
- insert into t2 values (1);
- insert into t3 values (1,1);
- create trigger trg_del before delete on t2 for each row
- insert into t3 values (bug27417(1), 2);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- delete from t2;
-# check
- source include/show_binlog_events.inc; # the offset must denote there is the query
- select count(*) from t1 /* must be 1 */;
-
-# cleanup
- drop trigger trg_del;
-
-# prepare
- delete from t1;
- delete from t2;
- delete from t5;
- create trigger trg_del_t2 after delete on t2 for each row
- insert into t1 values (1);
- insert into t2 values (2),(3);
- insert into t5 values (1),(2);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- delete t2.* from t2,t5 where t2.a=t5.a + 1;
-
-# check
- source include/show_binlog_events.inc; # must be events of the query
- select count(*) from t1 /* must be 1 */;
-
-
-#
-# LOAD DATA
-#
-
-# prepare
- delete from t1;
- create table t4 (a int default 0, b int primary key) engine=innodb;
- insert into t4 values (0, 17);
- reset master;
-
-# execute
- --error ER_DUP_ENTRY
- load data infile '../../std_data/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2);
-# check
- select * from t4;
- select count(*) from t1 /* must be 2 */;
- source include/show_binlog_events.inc; # must be events of the query
-
-#
-# bug#23333 cleanup
-#
-
-
-drop trigger trg_del_t2;
-drop table t1,t2,t3,t4,t5;
-drop function bug27417;
diff --git a/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc b/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc
deleted file mode 100644
index 8cc56caaec6..00000000000
--- a/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc
+++ /dev/null
@@ -1,1923 +0,0 @@
-# mysqlbinlog_row.test
-#
-# Show that mysqlbinlog displays human readable comments to
-# row-based log events.
-#
-# Procedure:
-# Create a table that represents all-known types in 5.1.
-# Write rows that contain the mins, maxes, and NULL for each type.
-# Write a random or "problematic" value (i.e. one that might require
-# escaping if it's represented as a string-y type) for each type.
-# Update each of these rows.
-# Delete each of these rows.
-# Inspect the binlog.
-#
-# Bug#31455 - mysqlbinlog don't print user readable info about RBR events
-#
-
---source include/have_log_bin.inc
-set sql_mode="";
-
-SET NAMES 'utf8';
-#SHOW VARIABLES LIKE 'character_set%';
-
-
---echo #
---echo # Preparatory cleanup.
---echo #
---disable_warnings
-DROP TABLE IF EXISTS t1, t2, t3;
---enable_warnings
-
---echo #
---echo # We need a fixed timestamp to avoid varying results.
---echo #
-SET timestamp=1000000000;
-
---echo #
---echo # ===================================================
---echo # Test #1 - Insert/update/delete with all data types.
---echo # ===================================================
---echo #
---echo # Delete all existing binary logs.
---echo #
-RESET MASTER;
-
---echo #
---echo # Create a test table with all data types.
---echo #
-eval CREATE TABLE t1 (
- c01 BIT,
- c02 BIT(64),
- c03 TINYINT,
- c04 TINYINT UNSIGNED,
- c05 TINYINT ZEROFILL,
- c06 BOOL,
- c07 SMALLINT,
- c08 SMALLINT UNSIGNED,
- c09 SMALLINT ZEROFILL,
- c10 MEDIUMINT,
- c11 MEDIUMINT UNSIGNED,
- c12 MEDIUMINT ZEROFILL,
- c13 INT,
- c14 INT UNSIGNED,
- c15 INT ZEROFILL,
- c16 BIGINT,
- c17 BIGINT UNSIGNED,
- c18 BIGINT ZEROFILL,
- c19 FLOAT,
- c20 FLOAT UNSIGNED,
- c21 FLOAT ZEROFILL,
- c22 DOUBLE,
- c23 DOUBLE UNSIGNED,
- c24 DOUBLE ZEROFILL,
- c25 DECIMAL,
- c26 DECIMAL UNSIGNED,
- c27 DECIMAL ZEROFILL,
- #
- c28 DATE,
- c29 DATETIME,
- c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- c31 TIME,
- c32 YEAR,
- #
- c33 CHAR,
- c34 CHAR(0),
- c35 CHAR(1),
- c36 CHAR(255),
- c37 NATIONAL CHAR,
- c38 NATIONAL CHAR(0),
- c39 NATIONAL CHAR(1),
- c40 NATIONAL CHAR(255),
- c41 CHAR CHARACTER SET UCS2,
- c42 CHAR(0) CHARACTER SET UCS2,
- c43 CHAR(1) CHARACTER SET UCS2,
- c44 CHAR(255) CHARACTER SET UCS2,
- #
- c45 VARCHAR(0),
- c46 VARCHAR(1),
- c47 VARCHAR(255),
- c48 VARCHAR(261),
- c49 NATIONAL VARCHAR(0),
- c50 NATIONAL VARCHAR(1),
- c51 NATIONAL VARCHAR(255),
- c52 NATIONAL VARCHAR(261),
- c53 VARCHAR(0) CHARACTER SET UCS2,
- c54 VARCHAR(1) CHARACTER SET UCS2,
- c55 VARCHAR(255) CHARACTER SET UCS2,
- c56 VARCHAR(261) CHARACTER SET UCS2,
- #
- c57 BINARY,
- c58 BINARY(0),
- c59 BINARY(1),
- c60 BINARY(255),
- #
- c61 VARBINARY(0),
- c62 VARBINARY(1),
- c63 VARBINARY(255),
- c64 VARBINARY(261),
- #
- c65 TINYBLOB,
- c66 TINYTEXT,
- c67 TINYTEXT CHARACTER SET UCS2,
- c68 BLOB,
- c69 TEXT,
- c70 TEXT CHARACTER SET UCS2,
- c71 MEDIUMBLOB,
- c72 MEDIUMTEXT,
- c73 MEDIUMTEXT CHARACTER SET UCS2,
- c74 LONGBLOB,
- c75 LONGTEXT,
- c76 LONGTEXT CHARACTER SET UCS2,
- #
- c77 ENUM('a','b','c'),
- c78 SET('a','b','c'),
- #
- crn INT -- row number
- ) ENGINE=$engine_type DEFAULT CHARSET latin1;
-
---echo #
---echo # Insert minimum values.
---echo #
-INSERT INTO t1 VALUES (
- b'0', -- c01
- b'0000000000000000000000000000000000000000000000000000000000000000', -- c02
- -128, -- c03
- 0, -- c04
- 000, -- c05
- false, -- c06
- -32768, -- c07
- 0, -- c08
- 00000, -- c09
- -8388608, -- c10
- 0, -- c11
- 00000000, -- c12
- -2147483648, -- c13
- 0, -- c14
- 0000000000, -- c15
- -9223372036854775808, -- c16
- 0, -- c17
- 00000000000000000000, -- c18
- -3.402823466E+38, -- c19
- 1.175494351E-38, -- c20
- 000000000000, -- c21
- -1.7976931348623E+308, -- c22 three digits cut for ps-protocol
- 2.2250738585072E-308, -- c23 three digits cut for ps-protocol
- 0000000000000000000000, -- c24
- -9999999999, -- c25
- 0, -- c26
- 0000000000, -- c27
- #
- '1000-01-01', -- c28
- '1000-01-01 00:00:00', -- c29
- '1970-01-02 00:00:01', -- c30 one day later due to timezone issues
- '-838:59:59', -- c31
- '1901', -- c32
- #
- '', -- c33
- '', -- c34
- '', -- c35
- '', -- c36
- '', -- c37
- '', -- c38
- '', -- c39
- '', -- c40
- '', -- c41
- '', -- c42
- '', -- c43
- '', -- c44
- #
- '', -- c45
- '', -- c46
- '', -- c47
- '', -- c48
- '', -- c49
- '', -- c50
- '', -- c51
- '', -- c52
- '', -- c53
- '', -- c54
- '', -- c55
- '', -- c56
- #
- '', -- c57
- '', -- c58
- '', -- c59
- '', -- c60
- #
- '', -- c61
- '', -- c62
- '', -- c63
- '', -- c64
- #
- '', -- c65
- '', -- c66
- '', -- c67
- '', -- c68
- '', -- c69
- '', -- c70
- '', -- c71
- '', -- c72
- '', -- c73
- '', -- c74
- '', -- c75
- '', -- c76
- #
- 'a', -- c77
- '', -- c78
- #
- 1 -- crn -- row number
- );
-
---echo #
---echo # Insert maximum values.
---echo #
-INSERT INTO t1 VALUES (
- b'1', -- c01
- b'1111111111111111111111111111111111111111111111111111111111111111', -- c02
- 127, -- c03
- 255, -- c04
- 255, -- c05
- true, -- c06
- 32767, -- c07
- 65535, -- c08
- 65535, -- c09
- 8388607, -- c10
- 16777215, -- c11
- 16777215, -- c12
- 2147483647, -- c13
- 4294967295, -- c14
- 4294967295, -- c15
- 9223372036854775807, -- c16
- 18446744073709551615, -- c17
- 18446744073709551615, -- c18
- 3.402823466E+38, -- c19
- 3.402823466E+38, -- c20
- 3.402823466E+38, -- c21
- 1.7976931348623E+308, -- c22 three digits cut for ps-protocol
- 1.7976931348623E+308, -- c23 three digits cut for ps-protocol
- 1.7976931348623E+308, -- c24 three digits cut for ps-protocol
- 9999999999, -- c25
- 9999999999, -- c26
- 9999999999, -- c27
- #
- '9999-12-31', -- c28
- '9999-12-31 23:59:59', -- c29
- '2038-01-08 03:14:07', -- c30 one day earlier due to timezone issues
- '838:59:59', -- c31
- '2155', -- c32
- #
- x'ff', -- c33
- '', -- c34
- x'ff', -- c35
- REPEAT(x'ff',255), -- c36
- _utf8 x'efbfbf', -- c37
- '', -- c38
- _utf8 x'efbfbf', -- c39
- REPEAT(_utf8 x'efbfbf',255), -- c40
- _ucs2 x'ffff', -- c41
- '', -- c42
- _ucs2 x'ffff', -- c43
- REPEAT(_ucs2 x'ffff',255), -- c44
- #
- '', -- c45
- x'ff', -- c46
- REPEAT(x'ff',255), -- c47
- REPEAT(x'ff',261), -- c48
- '', -- c49
- _utf8 x'efbfbf', -- c50
- REPEAT(_utf8 x'efbfbf',255), -- c51
- REPEAT(_utf8 x'efbfbf',261), -- c52
- '', -- c53
- _ucs2 x'ffff', -- c54
- REPEAT(_ucs2 x'ffff',255), -- c55
- REPEAT(_ucs2 x'ffff',261), -- c56
- #
- x'ff', -- c57
- '', -- c58
- x'ff', -- c59
- REPEAT(x'ff',255), -- c60
- #
- '', -- c61
- x'ff', -- c62
- REPEAT(x'ff',255), -- c63
- REPEAT(x'ff',261), -- c64
- #
- 'tinyblob', -- c65 not using maximum value here
- 'tinytext', -- c66 not using maximum value here
- 'tinytext-ucs2', -- c67 not using maximum value here
- 'blob', -- c68 not using maximum value here
- 'text', -- c69 not using maximum value here
- 'text-ucs2', -- c70 not using maximum value here
- 'mediumblob', -- c71 not using maximum value here
- 'mediumtext', -- c72 not using maximum value here
- 'mediumtext-ucs2', -- c73 not using maximum value here
- 'longblob', -- c74 not using maximum value here
- 'longtext', -- c75 not using maximum value here
- 'longtext-ucs2', -- c76 not using maximum value here
- #
- 'c', -- c77
- 'a,b,c', -- c78
- #
- 2 -- crn -- row number
- );
-
---echo #
---echo # Insert a row with NULL values and one with arbitrary values.
---echo #
-INSERT INTO t1 VALUES (
- NULL, -- c01
- NULL, -- c02
- NULL, -- c03
- NULL, -- c04
- NULL, -- c05
- NULL, -- c06
- NULL, -- c07
- NULL, -- c08
- NULL, -- c09
- NULL, -- c10
- NULL, -- c11
- NULL, -- c12
- NULL, -- c13
- NULL, -- c14
- NULL, -- c15
- NULL, -- c16
- NULL, -- c17
- NULL, -- c18
- NULL, -- c19
- NULL, -- c20
- NULL, -- c21
- NULL, -- c22
- NULL, -- c23
- NULL, -- c24
- NULL, -- c25
- NULL, -- c26
- NULL, -- c27
- #
- NULL, -- c28
- NULL, -- c29
- NULL, -- c30
- NULL, -- c31
- NULL, -- c32
- #
- NULL, -- c33
- NULL, -- c34
- NULL, -- c35
- NULL, -- c36
- NULL, -- c37
- NULL, -- c38
- NULL, -- c39
- NULL, -- c40
- NULL, -- c41
- NULL, -- c42
- NULL, -- c43
- NULL, -- c44
- #
- NULL, -- c45
- NULL, -- c46
- NULL, -- c47
- NULL, -- c48
- NULL, -- c49
- NULL, -- c50
- NULL, -- c51
- NULL, -- c52
- NULL, -- c53
- NULL, -- c54
- NULL, -- c55
- NULL, -- c56
- #
- NULL, -- c57
- NULL, -- c58
- NULL, -- c59
- NULL, -- c60
- #
- NULL, -- c61
- NULL, -- c62
- NULL, -- c63
- NULL, -- c64
- #
- NULL, -- c65
- NULL, -- c66
- NULL, -- c67
- NULL, -- c68
- NULL, -- c69
- NULL, -- c70
- NULL, -- c71
- NULL, -- c72
- NULL, -- c73
- NULL, -- c74
- NULL, -- c75
- NULL, -- c76
- #
- NULL, -- c77
- NULL, -- c78
- #
- 3 -- crn -- row number
- ), (
- b'1', -- c01
- b'1111111111111111111111111111111111111111111111111111111111111111', -- c02
- 127, -- c03
- 0, -- c04
- 001, -- c05
- true, -- c06
- 32767, -- c07
- 0, -- c08
- 00001, -- c09
- 8388607, -- c10
- 0, -- c11
- 00000001, -- c12
- 2147483647, -- c13
- 0, -- c14
- 0000000001, -- c15
- 9223372036854775807, -- c16
- 0, -- c17
- 00000000000000000001, -- c18
- -1.175494351E-38, -- c19
- 1.175494351E-38, -- c20
- 000000000000001, -- c21
- -2.2250738585072E-308, -- c22
- 2.2250738585072E-308, -- c23
- 00000000000000000000001, -- c24
- -9999999999, -- c25
- 9999999999, -- c26
- 0000000001, -- c27
- #
- '2008-08-04', -- c28
- '2008-08-04 16:18:06', -- c29
- '2008-08-04 16:18:24', -- c30
- '16:18:47', -- c31
- '2008', -- c32
- #
- 'a', -- c33
- '', -- c34
- 'e', -- c35
- REPEAT('i',255), -- c36
- _utf8 x'c3a4', -- c37
- '', -- c38
- _utf8 x'c3b6', -- c39
- REPEAT(_utf8 x'c3bc',255), -- c40
- _ucs2 x'00e4', -- c41
- '', -- c42
- _ucs2 x'00f6', -- c43
- REPEAT(_ucs2 x'00fc',255), -- c44
- #
- '', -- c45
- 'a', -- c46
- REPEAT('e',255), -- c47
- REPEAT('i',261), -- c48
- '', -- c49
- _utf8 x'c3a4', -- c50
- REPEAT(_utf8 x'c3b6',255), -- c51
- REPEAT(_utf8 x'c3bc',261), -- c52
- '', -- c53
- _ucs2 x'00e4', -- c54
- REPEAT(_ucs2 x'00f6',255), -- c55
- REPEAT(_ucs2 x'00fc',261), -- c56
- #
- '0', -- c57
- '', -- c58
- '1', -- c59
- REPEAT('1',255), -- c60
- #
- '', -- c61
- 'b', -- c62
- REPEAT('c',255), -- c63
- REPEAT('\'',261), -- c64
- #
- 'tinyblob', -- c65
- 'tinytext', -- c66
- 'tinytext-ucs2', -- c67
- 'blob', -- c68
- 'text', -- c69
- 'text-ucs2', -- c70
- 'mediumblob', -- c71
- 'mediumtext', -- c72
- 'mediumtext-ucs2', -- c73
- 'longblob', -- c74
- 'longtext', -- c75
- 'longtext-ucs2', -- c76
- #
- 'b', -- c77
- 'b,c', -- c78
- #
- 4 -- crn -- row number
- );
-
---echo #
---echo # Show what we have in the table.
---echo # Do not display bit type output. It's binary and confuses diff.
---echo # Also BINARY with nul-bytes should be avoided.
---echo #
---replace_column 1 # 2 # 57 # 58 # 59 # 60 #
-query_vertical SELECT * FROM t1;
-
---echo #
---echo # NOTE: For matching FLOAT and DOUBLE values in WHERE conditions,
---echo # don't use exact match, but < or > and tweak the numbers a bit.
---echo #
---echo # Show how much rows are affected by each statement.
---echo #
---enable_info
-
---echo #
---echo # Update min values to max values.
---echo #
-UPDATE t1 SET
- c01 = b'1',
- c02 = b'1111111111111111111111111111111111111111111111111111111111111111',
- c03 = 127,
- c04 = 255,
- c05 = 255,
- c06 = true,
- c07 = 32767,
- c08 = 65535,
- c09 = 65535,
- c10 = 8388607,
- c11 = 16777215,
- c12 = 16777215,
- c13 = 2147483647,
- c14 = 4294967295,
- c15 = 4294967295,
- c16 = 9223372036854775807,
- c17 = 18446744073709551615,
- c18 = 18446744073709551615,
- c19 = 3.402823466E+38,
- c20 = 3.402823466E+38,
- c21 = 3.402823466E+38,
- c22 = 1.7976931348623E+308,
- c23 = 1.7976931348623E+308,
- c24 = 1.7976931348623E+308,
- c25 = 9999999999,
- c26 = 9999999999,
- c27 = 9999999999,
- #
- c28 = '9999-12-31',
- c29 = '9999-12-31 23:59:59',
- c30 = '2038-01-08 03:14:07',
- c31 = '838:59:59',
- c32 = '2155',
- #
- c33 = x'ff',
- c34 = '',
- c35 = x'ff',
- c36 = REPEAT(x'ff',255),
- c37 = _utf8 x'efbfbf',
- c38 = '',
- c39 = _utf8 x'efbfbf',
- c40 = REPEAT(_utf8 x'efbfbf',255),
- c41 = _ucs2 x'ffff',
- c42 = '',
- c43 = _ucs2 x'ffff',
- c44 = REPEAT(_ucs2 x'ffff',255),
- #
- c45 = '',
- c46 = x'ff',
- c47 = REPEAT(x'ff',255),
- c48 = REPEAT(x'ff',261),
- c49 = '',
- c50 = _utf8 x'efbfbf',
- c51 = REPEAT(_utf8 x'efbfbf',255),
- c52 = REPEAT(_utf8 x'efbfbf',261),
- c53 = '',
- c54 = _ucs2 x'ffff',
- c55 = REPEAT(_ucs2 x'ffff',255),
- c56 = REPEAT(_ucs2 x'ffff',261),
- #
- c57 = x'ff',
- c58 = '',
- c59 = x'ff',
- c60 = REPEAT(x'ff',255),
- #
- c61 = '',
- c62 = x'ff',
- c63 = REPEAT(x'ff',255),
- c64 = REPEAT(x'ff',261),
- #
- c65 = 'tinyblob',
- c66 = 'tinytext',
- c67 = 'tinytext-ucs2',
- c68 = 'blob',
- c69 = 'text',
- c70 = 'text-ucs2',
- c71 = 'mediumblob',
- c72 = 'mediumtext',
- c73 = 'mediumtext-ucs2',
- c74 = 'longblob',
- c75 = 'longtext',
- c76 = 'longtext-ucs2',
- #
- c77 = 'c',
- c78 = 'a,b,c',
- #
- crn = crn
- #
- WHERE
- #
- c01 = b'0' AND
- c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND
- c03 = -128 AND
- c04 = 0 AND
- c05 = 000 AND
- c06 = false AND
- c07 = -32768 AND
- c08 = 0 AND
- c09 = 00000 AND
- c10 = -8388608 AND
- c11 = 0 AND
- c12 = 00000000 AND
- c13 = -2147483648 AND
- c14 = 0 AND
- c15 = 0000000000 AND
- c16 = -9223372036854775808 AND
- c17 = 0 AND
- c18 = 00000000000000000000 AND
- c19 < -3.402823465E+38 AND
- c20 < 1.175494352E-38 AND
- c21 = 000000000000 AND
- c22 < -1.7976931348622E+308 AND
- c23 < 2.2250738585073E-308 AND
- c24 = 0000000000000000000000 AND
- c25 = -9999999999 AND
- c26 = 0 AND
- c27 = 0000000000 AND
- #
- c28 = '1000-01-01' AND
- c29 = '1000-01-01 00:00:00' AND
- c30 = '1970-01-02 00:00:01' AND
- c31 = '-838:59:59' AND
- c32 = '1901' AND
- #
- c33 = '' AND
- c34 = '' AND
- c35 = '' AND
- c36 = '' AND
- c37 = '' AND
- c38 = '' AND
- c39 = '' AND
- c40 = '' AND
- c41 = '' AND
- c42 = '' AND
- c43 = '' AND
- c44 = '' AND
- #
- c45 = '' AND
- c46 = '' AND
- c47 = '' AND
- c48 = '' AND
- c49 = '' AND
- c50 = '' AND
- c51 = '' AND
- c52 = '' AND
- c53 = '' AND
- c54 = '' AND
- c55 = '' AND
- c56 = '' AND
- #
- # this does not reproduce the inserted value: c57 = '' AND
- c58 = '' AND
- # this does not reproduce the inserted value: c59 = '' AND
- # this does not reproduce the inserted value: c60 = '' AND
- #
- c61 = '' AND
- c62 = '' AND
- c63 = '' AND
- c64 = '' AND
- #
- c65 = '' AND
- c66 = '' AND
- c67 = '' AND
- c68 = '' AND
- c69 = '' AND
- c70 = '' AND
- c71 = '' AND
- c72 = '' AND
- c73 = '' AND
- c74 = '' AND
- c75 = '' AND
- c76 = '' AND
- #
- c77 = 'a' AND
- c78 = '' AND
- #
- crn = 1;
-
---echo #
---echo # Update max values to min values.
---echo #
-UPDATE t1 SET
- c01 = b'0',
- c02 = b'0000000000000000000000000000000000000000000000000000000000000000',
- c03 = -128,
- c04 = 0,
- c05 = 000,
- c06 = false,
- c07 = -32768,
- c08 = 0,
- c09 = 00000,
- c10 = -8388608,
- c11 = 0,
- c12 = 00000000,
- c13 = -2147483648,
- c14 = 0,
- c15 = 0000000000,
- c16 = -9223372036854775808,
- c17 = 0,
- c18 = 00000000000000000000,
- c19 = -3.402823466E+38,
- c20 = 1.175494351E-38,
- c21 = 000000000000,
- c22 = -1.7976931348623E+308,
- c23 = 2.2250738585072E-308,
- c24 = 0000000000000000000000,
- c25 = -9999999999,
- c26 = 0,
- c27 = 0000000000,
- #
- c28 = '1000-01-01',
- c29 = '1000-01-01 00:00:00',
- c30 = '1970-01-02 00:00:01',
- c31 = '-838:59:59',
- c32 = '1901',
- #
- c33 = '',
- c34 = '',
- c35 = '',
- c36 = '',
- c37 = '',
- c38 = '',
- c39 = '',
- c40 = '',
- c41 = '',
- c42 = '',
- c43 = '',
- c44 = '',
- #
- c45 = '',
- c46 = '',
- c47 = '',
- c48 = '',
- c49 = '',
- c50 = '',
- c51 = '',
- c52 = '',
- c53 = '',
- c54 = '',
- c55 = '',
- c56 = '',
- #
- c57 = '',
- c58 = '',
- c59 = '',
- c60 = '',
- #
- c61 = '',
- c62 = '',
- c63 = '',
- c64 = '',
- #
- c65 = '',
- c66 = '',
- c67 = '',
- c68 = '',
- c69 = '',
- c70 = '',
- c71 = '',
- c72 = '',
- c73 = '',
- c74 = '',
- c75 = '',
- c76 = '',
- #
- c77 = 'a',
- c78 = '',
- #
- crn = crn
- #
- WHERE
- #
- c01 = b'1' AND
- # the below does not reproduce the inserted value:
- #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND
- c03 = 127 AND
- c04 = 255 AND
- c05 = 255 AND
- c06 = true AND
- c07 = 32767 AND
- c08 = 65535 AND
- c09 = 65535 AND
- c10 = 8388607 AND
- c11 = 16777215 AND
- c12 = 16777215 AND
- c13 = 2147483647 AND
- c14 = 4294967295 AND
- c15 = 4294967295 AND
- c16 = 9223372036854775807 AND
- c17 = 18446744073709551615 AND
- c18 = 18446744073709551615 AND
- c19 > 3.402823465E+38 AND
- c20 > 3.402823465E+38 AND
- c21 > 3.402823465E+38 AND
- c22 > 1.7976931348622E+308 AND
- c23 > 1.7976931348622E+308 AND
- c24 > 1.7976931348622E+308 AND
- c25 = 9999999999 AND
- c26 = 9999999999 AND
- c27 = 9999999999 AND
- #
- c28 = '9999-12-31' AND
- c29 = '9999-12-31 23:59:59' AND
- c30 = '2038-01-08 03:14:07' AND
- c31 = '838:59:59' AND
- c32 = '2155' AND
- #
- c33 = x'ff' AND
- c34 = '' AND
- c35 = x'ff' AND
- c36 = REPEAT(x'ff',255) AND
- c37 = _utf8 x'efbfbf' AND
- c38 = '' AND
- c39 = _utf8 x'efbfbf' AND
- c40 = REPEAT(_utf8 x'efbfbf',255) AND
- c41 = _ucs2 x'ffff' AND
- c42 = '' AND
- c43 = _ucs2 x'ffff' AND
- c44 = REPEAT(_ucs2 x'ffff',255) AND
- #
- c45 = '' AND
- c46 = x'ff' AND
- c47 = REPEAT(x'ff',255) AND
- c48 = REPEAT(x'ff',261) AND
- c49 = '' AND
- c50 = _utf8 x'efbfbf' AND
- c51 = REPEAT(_utf8 x'efbfbf',255) AND
- c52 = REPEAT(_utf8 x'efbfbf',261) AND
- c53 = '' AND
- c54 = _ucs2 x'ffff' AND
- c55 = REPEAT(_ucs2 x'ffff',255) AND
- c56 = REPEAT(_ucs2 x'ffff',261) AND
- #
- c57 = x'ff' AND
- c58 = '' AND
- c59 = x'ff' AND
- c60 = REPEAT(x'ff',255) AND
- #
- c61 = '' AND
- c62 = x'ff' AND
- c63 = REPEAT(x'ff',255) AND
- c64 = REPEAT(x'ff',261) AND
- #
- c65 = 'tinyblob' AND
- c66 = 'tinytext' AND
- c67 = 'tinytext-ucs2' AND
- c68 = 'blob' AND
- c69 = 'text' AND
- c70 = 'text-ucs2' AND
- c71 = 'mediumblob' AND
- c72 = 'mediumtext' AND
- c73 = 'mediumtext-ucs2' AND
- c74 = 'longblob' AND
- c75 = 'longtext' AND
- c76 = 'longtext-ucs2' AND
- #
- c77 = 'c' AND
- c78 = 'a,b,c' AND
- #
- crn = 2;
-
---echo #
---echo # Update NULL values to arbitrary values.
---echo #
-UPDATE t1 SET
- c01 = b'1',
- c02 = b'1111111111111111111111111111111111111111111111111111111111111111',
- c03 = 127,
- c04 = 0,
- c05 = 001,
- c06 = true,
- c07 = 32767,
- c08 = 0,
- c09 = 00001,
- c10 = 8388607,
- c11 = 0,
- c12 = 00000001,
- c13 = 2147483647,
- c14 = 0,
- c15 = 0000000001,
- c16 = 9223372036854775807,
- c17 = 0,
- c18 = 00000000000000000001,
- c19 = -1.175494351E-38,
- c20 = 1.175494351E-38,
- c21 = 000000000000001,
- c22 = -2.2250738585072E-308,
- c23 = 2.2250738585072E-308,
- c24 = 00000000000000000000001,
- c25 = -9999999999,
- c26 = 9999999999,
- c27 = 0000000001,
- #
- c28 = '2008-08-04',
- c29 = '2008-08-04 16:18:06',
- c30 = '2008-08-04 16:18:24',
- c31 = '16:18:47',
- c32 = '2008',
- #
- c33 = 'a',
- c34 = '',
- c35 = 'e',
- c36 = REPEAT('i',255),
- c37 = _utf8 x'c3a4',
- c38 = '',
- c39 = _utf8 x'c3b6',
- c40 = REPEAT(_utf8 x'c3bc',255),
- c41 = _ucs2 x'00e4',
- c42 = '',
- c43 = _ucs2 x'00f6',
- c44 = REPEAT(_ucs2 x'00fc',255),
- #
- c45 = '',
- c46 = 'a',
- c47 = REPEAT('e',255),
- c48 = REPEAT('i',261),
- c49 = '',
- c50 = _utf8 x'c3a4',
- c51 = REPEAT(_utf8 x'c3b6',255),
- c52 = REPEAT(_utf8 x'c3bc',261),
- c53 = '',
- c54 = _ucs2 x'00e4',
- c55 = REPEAT(_ucs2 x'00f6',255),
- c56 = REPEAT(_ucs2 x'00fc',261),
- #
- c57 = '0',
- c58 = '',
- c59 = '1',
- c60 = REPEAT('1',255),
- #
- c61 = '',
- c62 = 'b',
- c63 = REPEAT('c',255),
- c64 = REPEAT('\'',261),
- #
- c65 = 'tinyblob',
- c66 = 'tinytext',
- c67 = 'tinytext-ucs2',
- c68 = 'blob',
- c69 = 'text',
- c70 = 'text-ucs2',
- c71 = 'mediumblob',
- c72 = 'mediumtext',
- c73 = 'mediumtext-ucs2',
- c74 = 'longblob',
- c75 = 'longtext',
- c76 = 'longtext-ucs2',
- #
- c77 = 'b',
- c78 = 'b,c',
- #
- crn = crn
- #
- WHERE
- #
- c01 IS NULL AND
- c02 IS NULL AND
- c03 IS NULL AND
- c04 IS NULL AND
- c05 IS NULL AND
- c06 IS NULL AND
- c07 IS NULL AND
- c08 IS NULL AND
- c09 IS NULL AND
- c10 IS NULL AND
- c11 IS NULL AND
- c12 IS NULL AND
- c13 IS NULL AND
- c14 IS NULL AND
- c15 IS NULL AND
- c16 IS NULL AND
- c17 IS NULL AND
- c18 IS NULL AND
- c19 IS NULL AND
- c20 IS NULL AND
- c21 IS NULL AND
- c22 IS NULL AND
- c23 IS NULL AND
- c24 IS NULL AND
- c25 IS NULL AND
- c26 IS NULL AND
- c27 IS NULL AND
- #
- c28 IS NULL AND
- c29 IS NULL AND
- # this got a timestamp instead of NULL: c30 IS NULL AND
- c31 IS NULL AND
- c32 IS NULL AND
- #
- c33 IS NULL AND
- c34 IS NULL AND
- c35 IS NULL AND
- c36 IS NULL AND
- c37 IS NULL AND
- c38 IS NULL AND
- c39 IS NULL AND
- c40 IS NULL AND
- c41 IS NULL AND
- c42 IS NULL AND
- c43 IS NULL AND
- c44 IS NULL AND
- #
- c45 IS NULL AND
- c46 IS NULL AND
- c47 IS NULL AND
- c48 IS NULL AND
- c49 IS NULL AND
- c50 IS NULL AND
- c51 IS NULL AND
- c52 IS NULL AND
- c53 IS NULL AND
- c54 IS NULL AND
- c55 IS NULL AND
- c56 IS NULL AND
- #
- c57 IS NULL AND
- c58 IS NULL AND
- c59 IS NULL AND
- c60 IS NULL AND
- #
- c61 IS NULL AND
- c62 IS NULL AND
- c63 IS NULL AND
- c64 IS NULL AND
- #
- c65 IS NULL AND
- c66 IS NULL AND
- c67 IS NULL AND
- c68 IS NULL AND
- c69 IS NULL AND
- c70 IS NULL AND
- c71 IS NULL AND
- c72 IS NULL AND
- c73 IS NULL AND
- c74 IS NULL AND
- c75 IS NULL AND
- c76 IS NULL AND
- #
- c77 IS NULL AND
- c78 IS NULL AND
- #
- crn = 3;
-
---echo #
---echo # Update arbitrary values to NULL values.
---echo #
-UPDATE t1 SET
- c01 = NULL,
- c02 = NULL,
- c03 = NULL,
- c04 = NULL,
- c05 = NULL,
- c06 = NULL,
- c07 = NULL,
- c08 = NULL,
- c09 = NULL,
- c10 = NULL,
- c11 = NULL,
- c12 = NULL,
- c13 = NULL,
- c14 = NULL,
- c15 = NULL,
- c16 = NULL,
- c17 = NULL,
- c18 = NULL,
- c19 = NULL,
- c20 = NULL,
- c21 = NULL,
- c22 = NULL,
- c23 = NULL,
- c24 = NULL,
- c25 = NULL,
- c26 = NULL,
- c27 = NULL,
- #
- c28 = NULL,
- c29 = NULL,
- c30 = NULL,
- c31 = NULL,
- c32 = NULL,
- #
- c33 = NULL,
- c34 = NULL,
- c35 = NULL,
- c36 = NULL,
- c37 = NULL,
- c38 = NULL,
- c39 = NULL,
- c40 = NULL,
- c41 = NULL,
- c42 = NULL,
- c43 = NULL,
- c44 = NULL,
- #
- c45 = NULL,
- c46 = NULL,
- c47 = NULL,
- c48 = NULL,
- c49 = NULL,
- c50 = NULL,
- c51 = NULL,
- c52 = NULL,
- c53 = NULL,
- c54 = NULL,
- c55 = NULL,
- c56 = NULL,
- #
- c57 = NULL,
- c58 = NULL,
- c59 = NULL,
- c60 = NULL,
- #
- c61 = NULL,
- c62 = NULL,
- c63 = NULL,
- c64 = NULL,
- #
- c65 = NULL,
- c66 = NULL,
- c67 = NULL,
- c68 = NULL,
- c69 = NULL,
- c70 = NULL,
- c71 = NULL,
- c72 = NULL,
- c73 = NULL,
- c74 = NULL,
- c75 = NULL,
- c76 = NULL,
- #
- c77 = NULL,
- c78 = NULL,
- #
- crn = crn
- #
- WHERE
- #
- c01 = b'1' AND
- # the below does not reproduce the inserted value:
- #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND
- c03 = 127 AND
- c04 = 0 AND
- c05 = 001 AND
- c06 = true AND
- c07 = 32767 AND
- c08 = 0 AND
- c09 = 00001 AND
- c10 = 8388607 AND
- c11 = 0 AND
- c12 = 00000001 AND
- c13 = 2147483647 AND
- c14 = 0 AND
- c15 = 0000000001 AND
- c16 = 9223372036854775807 AND
- c17 = 0 AND
- c18 = 00000000000000000001 AND
- c19 > -1.175494352E-38 AND
- c20 < 1.175494352E-38 AND
- c21 = 000000000000001 AND
- c22 > -2.2250738585073E-308 AND
- c23 < 2.2250738585073E-308 AND
- c24 = 00000000000000000000001 AND
- c25 = -9999999999 AND
- c26 = 9999999999 AND
- c27 = 0000000001 AND
- #
- c28 = '2008-08-04' AND
- c29 = '2008-08-04 16:18:06' AND
- c30 = '2008-08-04 16:18:24' AND
- c31 = '16:18:47' AND
- c32 = '2008' AND
- #
- c33 = 'a' AND
- c34 = '' AND
- c35 = 'e' AND
- c36 = REPEAT('i',255) AND
- c37 = _utf8 x'c3a4' AND
- c38 = '' AND
- c39 = _utf8 x'c3b6' AND
- c40 = REPEAT(_utf8 x'c3bc',255) AND
- c41 = _ucs2 x'00e4' AND
- c42 = '' AND
- c43 = _ucs2 x'00f6' AND
- c44 = REPEAT(_ucs2 x'00fc',255) AND
- #
- c45 = '' AND
- c46 = 'a' AND
- c47 = REPEAT('e',255) AND
- c48 = REPEAT('i',261) AND
- c49 = '' AND
- c50 = _utf8 x'c3a4' AND
- c51 = REPEAT(_utf8 x'c3b6',255) AND
- c52 = REPEAT(_utf8 x'c3bc',261) AND
- c53 = '' AND
- c54 = _ucs2 x'00e4' AND
- c55 = REPEAT(_ucs2 x'00f6',255) AND
- c56 = REPEAT(_ucs2 x'00fc',261) AND
- #
- c57 = '0' AND
- c58 = '' AND
- c59 = '1' AND
- c60 = REPEAT('1',255) AND
- #
- c61 = '' AND
- c62 = 'b' AND
- c63 = REPEAT('c',255) AND
- c64 = REPEAT('\'',261) AND
- #
- c65 = 'tinyblob' AND
- c66 = 'tinytext' AND
- c67 = 'tinytext-ucs2' AND
- c68 = 'blob' AND
- c69 = 'text' AND
- c70 = 'text-ucs2' AND
- c71 = 'mediumblob' AND
- c72 = 'mediumtext' AND
- c73 = 'mediumtext-ucs2' AND
- c74 = 'longblob' AND
- c75 = 'longtext' AND
- c76 = 'longtext-ucs2' AND
- #
- c77 = 'b' AND
- c78 = 'b,c' AND
- #
- crn = 4;
-
---echo #
---echo # Show what we have in the table.
---echo # Do not display bit type output. It's binary and confuses diff.
---echo # Also BINARY with nul-bytes should be avoided.
---echo #
---replace_column 1 # 2 # 57 # 58 # 59 # 60 #
-query_vertical SELECT * FROM t1;
-
---echo #
---echo # Delete the row that has max values now.
---echo #
-DELETE FROM t1 WHERE
- #
- c01 = b'1' AND
- # the below does not reproduce the inserted value:
- #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND
- c03 = 127 AND
- c04 = 255 AND
- c05 = 255 AND
- c06 = true AND
- c07 = 32767 AND
- c08 = 65535 AND
- c09 = 65535 AND
- c10 = 8388607 AND
- c11 = 16777215 AND
- c12 = 16777215 AND
- c13 = 2147483647 AND
- c14 = 4294967295 AND
- c15 = 4294967295 AND
- c16 = 9223372036854775807 AND
- c17 = 18446744073709551615 AND
- c18 = 18446744073709551615 AND
- c19 > 3.402823465E+38 AND
- c20 > 3.402823465E+38 AND
- c21 > 3.402823465E+38 AND
- c22 > 1.7976931348622E+308 AND
- c23 > 1.7976931348622E+308 AND
- c24 > 1.7976931348622E+308 AND
- c25 = 9999999999 AND
- c26 = 9999999999 AND
- c27 = 9999999999 AND
- #
- c28 = '9999-12-31' AND
- c29 = '9999-12-31 23:59:59' AND
- c30 = '2038-01-08 03:14:07' AND
- c31 = '838:59:59' AND
- c32 = '2155' AND
- #
- c33 = x'ff' AND
- c34 = '' AND
- c35 = x'ff' AND
- c36 = REPEAT(x'ff',255) AND
- c37 = _utf8 x'efbfbf' AND
- c38 = '' AND
- c39 = _utf8 x'efbfbf' AND
- c40 = REPEAT(_utf8 x'efbfbf',255) AND
- c41 = _ucs2 x'ffff' AND
- c42 = '' AND
- c43 = _ucs2 x'ffff' AND
- c44 = REPEAT(_ucs2 x'ffff',255) AND
- #
- c45 = '' AND
- c46 = x'ff' AND
- c47 = REPEAT(x'ff',255) AND
- c48 = REPEAT(x'ff',261) AND
- c49 = '' AND
- c50 = _utf8 x'efbfbf' AND
- c51 = REPEAT(_utf8 x'efbfbf',255) AND
- c52 = REPEAT(_utf8 x'efbfbf',261) AND
- c53 = '' AND
- c54 = _ucs2 x'ffff' AND
- c55 = REPEAT(_ucs2 x'ffff',255) AND
- c56 = REPEAT(_ucs2 x'ffff',261) AND
- #
- c57 = x'ff' AND
- c58 = '' AND
- c59 = x'ff' AND
- c60 = REPEAT(x'ff',255) AND
- #
- c61 = '' AND
- c62 = x'ff' AND
- c63 = REPEAT(x'ff',255) AND
- c64 = REPEAT(x'ff',261) AND
- #
- c65 = 'tinyblob' AND
- c66 = 'tinytext' AND
- c67 = 'tinytext-ucs2' AND
- c68 = 'blob' AND
- c69 = 'text' AND
- c70 = 'text-ucs2' AND
- c71 = 'mediumblob' AND
- c72 = 'mediumtext' AND
- c73 = 'mediumtext-ucs2' AND
- c74 = 'longblob' AND
- c75 = 'longtext' AND
- c76 = 'longtext-ucs2' AND
- #
- c77 = 'c' AND
- c78 = 'a,b,c' AND
- #
- crn = 1;
-
---echo #
---echo # Delete the row that has min values now.
---echo #
-DELETE FROM t1 WHERE
- #
- c01 = b'0' AND
- c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND
- c03 = -128 AND
- c04 = 0 AND
- c05 = 000 AND
- c06 = false AND
- c07 = -32768 AND
- c08 = 0 AND
- c09 = 00000 AND
- c10 = -8388608 AND
- c11 = 0 AND
- c12 = 00000000 AND
- c13 = -2147483648 AND
- c14 = 0 AND
- c15 = 0000000000 AND
- c16 = -9223372036854775808 AND
- c17 = 0 AND
- c18 = 00000000000000000000 AND
- c19 < -3.402823465E+38 AND
- c20 < 1.175494352E-38 AND
- c21 = 000000000000 AND
- c22 < -1.7976931348622E+308 AND
- c23 < 2.2250738585073E-308 AND
- c24 = 0000000000000000000000 AND
- c25 = -9999999999 AND
- c26 = 0 AND
- c27 = 0000000000 AND
- #
- c28 = '1000-01-01' AND
- c29 = '1000-01-01 00:00:00' AND
- c30 = '1970-01-02 00:00:01' AND
- c31 = '-838:59:59' AND
- c32 = '1901' AND
- #
- c33 = '' AND
- c34 = '' AND
- c35 = '' AND
- c36 = '' AND
- c37 = '' AND
- c38 = '' AND
- c39 = '' AND
- c40 = '' AND
- c41 = '' AND
- c42 = '' AND
- c43 = '' AND
- c44 = '' AND
- #
- c45 = '' AND
- c46 = '' AND
- c47 = '' AND
- c48 = '' AND
- c49 = '' AND
- c50 = '' AND
- c51 = '' AND
- c52 = '' AND
- c53 = '' AND
- c54 = '' AND
- c55 = '' AND
- c56 = '' AND
- #
- # this does not reproduce the inserted value: c57 = '' AND
- c58 = '' AND
- # this does not reproduce the inserted value: c59 = '' AND
- # this does not reproduce the inserted value: c60 = '' AND
- #
- c61 = '' AND
- c62 = '' AND
- c63 = '' AND
- c64 = '' AND
- #
- c65 = '' AND
- c66 = '' AND
- c67 = '' AND
- c68 = '' AND
- c69 = '' AND
- c70 = '' AND
- c71 = '' AND
- c72 = '' AND
- c73 = '' AND
- c74 = '' AND
- c75 = '' AND
- c76 = '' AND
- #
- c77 = 'a' AND
- c78 = '' AND
- #
- crn = 2;
-
---echo #
---echo # Delete the row that has arbitrary values now.
---echo #
-DELETE FROM t1 WHERE
- #
- c01 = b'1' AND
- # the below does not reproduce the inserted value:
- #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND
- c03 = 127 AND
- c04 = 0 AND
- c05 = 001 AND
- c06 = true AND
- c07 = 32767 AND
- c08 = 0 AND
- c09 = 00001 AND
- c10 = 8388607 AND
- c11 = 0 AND
- c12 = 00000001 AND
- c13 = 2147483647 AND
- c14 = 0 AND
- c15 = 0000000001 AND
- c16 = 9223372036854775807 AND
- c17 = 0 AND
- c18 = 00000000000000000001 AND
- c19 > -1.175494352E-38 AND
- c20 < 1.175494352E-38 AND
- c21 = 000000000000001 AND
- c22 > -2.2250738585073E-308 AND
- c23 < 2.2250738585073E-308 AND
- c24 = 00000000000000000000001 AND
- c25 = -9999999999 AND
- c26 = 9999999999 AND
- c27 = 0000000001 AND
- #
- c28 = '2008-08-04' AND
- c29 = '2008-08-04 16:18:06' AND
- c30 = '2008-08-04 16:18:24' AND
- c31 = '16:18:47' AND
- c32 = '2008' AND
- #
- c33 = 'a' AND
- c34 = '' AND
- c35 = 'e' AND
- c36 = REPEAT('i',255) AND
- c37 = _utf8 x'c3a4' AND
- c38 = '' AND
- c39 = _utf8 x'c3b6' AND
- c40 = REPEAT(_utf8 x'c3bc',255) AND
- c41 = _ucs2 x'00e4' AND
- c42 = '' AND
- c43 = _ucs2 x'00f6' AND
- c44 = REPEAT(_ucs2 x'00fc',255) AND
- #
- c45 = '' AND
- c46 = 'a' AND
- c47 = REPEAT('e',255) AND
- c48 = REPEAT('i',261) AND
- c49 = '' AND
- c50 = _utf8 x'c3a4' AND
- c51 = REPEAT(_utf8 x'c3b6',255) AND
- c52 = REPEAT(_utf8 x'c3bc',261) AND
- c53 = '' AND
- c54 = _ucs2 x'00e4' AND
- c55 = REPEAT(_ucs2 x'00f6',255) AND
- c56 = REPEAT(_ucs2 x'00fc',261) AND
- #
- c57 = '0' AND
- c58 = '' AND
- c59 = '1' AND
- c60 = REPEAT('1',255) AND
- #
- c61 = '' AND
- c62 = 'b' AND
- c63 = REPEAT('c',255) AND
- c64 = REPEAT('\'',261) AND
- #
- c65 = 'tinyblob' AND
- c66 = 'tinytext' AND
- c67 = 'tinytext-ucs2' AND
- c68 = 'blob' AND
- c69 = 'text' AND
- c70 = 'text-ucs2' AND
- c71 = 'mediumblob' AND
- c72 = 'mediumtext' AND
- c73 = 'mediumtext-ucs2' AND
- c74 = 'longblob' AND
- c75 = 'longtext' AND
- c76 = 'longtext-ucs2' AND
- #
- c77 = 'b' AND
- c78 = 'b,c' AND
- #
- crn = 3;
-
---echo #
---echo # Delete the row that has NULL values now.
---echo #
-DELETE FROM t1 WHERE
- #
- c01 IS NULL AND
- c02 IS NULL AND
- c03 IS NULL AND
- c04 IS NULL AND
- c05 IS NULL AND
- c06 IS NULL AND
- c07 IS NULL AND
- c08 IS NULL AND
- c09 IS NULL AND
- c10 IS NULL AND
- c11 IS NULL AND
- c12 IS NULL AND
- c13 IS NULL AND
- c14 IS NULL AND
- c15 IS NULL AND
- c16 IS NULL AND
- c17 IS NULL AND
- c18 IS NULL AND
- c19 IS NULL AND
- c20 IS NULL AND
- c21 IS NULL AND
- c22 IS NULL AND
- c23 IS NULL AND
- c24 IS NULL AND
- c25 IS NULL AND
- c26 IS NULL AND
- c27 IS NULL AND
- #
- c28 IS NULL AND
- c29 IS NULL AND
- # this got a timestamp instead of NULL: c30 IS NULL AND
- c31 IS NULL AND
- c32 IS NULL AND
- #
- c33 IS NULL AND
- c34 IS NULL AND
- c35 IS NULL AND
- c36 IS NULL AND
- c37 IS NULL AND
- c38 IS NULL AND
- c39 IS NULL AND
- c40 IS NULL AND
- c41 IS NULL AND
- c42 IS NULL AND
- c43 IS NULL AND
- c44 IS NULL AND
- #
- c45 IS NULL AND
- c46 IS NULL AND
- c47 IS NULL AND
- c48 IS NULL AND
- c49 IS NULL AND
- c50 IS NULL AND
- c51 IS NULL AND
- c52 IS NULL AND
- c53 IS NULL AND
- c54 IS NULL AND
- c55 IS NULL AND
- c56 IS NULL AND
- #
- c57 IS NULL AND
- c58 IS NULL AND
- c59 IS NULL AND
- c60 IS NULL AND
- #
- c61 IS NULL AND
- c62 IS NULL AND
- c63 IS NULL AND
- c64 IS NULL AND
- #
- c65 IS NULL AND
- c66 IS NULL AND
- c67 IS NULL AND
- c68 IS NULL AND
- c69 IS NULL AND
- c70 IS NULL AND
- c71 IS NULL AND
- c72 IS NULL AND
- c73 IS NULL AND
- c74 IS NULL AND
- c75 IS NULL AND
- c76 IS NULL AND
- #
- c77 IS NULL AND
- c78 IS NULL AND
- #
- crn = 4;
-
---echo #
---echo # Show what we have in the table. Should be empty now.
---echo #
-query_vertical SELECT * FROM t1;
-
---echo #
---echo # Hide how much rows are affected by each statement.
---echo #
---disable_info
-
---echo #
---echo # Flush all log buffers to the log file.
---echo #
-FLUSH LOGS;
-
---echo #
---echo # Call mysqlbinlog to display the log file contents.
---echo #
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
---exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
-
---echo #
---echo # Cleanup.
---echo #
-DROP TABLE t1;
-
---echo #
---echo # =========================================
---echo # Test #2 - Multi-row insert/update/delete.
---echo # =========================================
---echo #
---echo # Delete all existing binary logs.
---echo #
-RESET MASTER;
-
---echo #
---echo # Create a test table with selected data types.
---echo #
-eval CREATE TABLE t1 (
- c28 DATE,
- c47 VARCHAR(24),
- crn INT -- row number
- ) ENGINE=$engine_type DEFAULT CHARSET latin1;
-
---echo #
---echo # Show how much rows are affected by each statement.
---echo #
---enable_info
-
---echo #
---echo # Multi-row insert.
---echo #
-INSERT INTO t1 VALUES
- ('2008-08-01','VARCHAR-01',1),
- ('2008-08-02','VARCHAR-02',2),
- ('2008-08-03','VARCHAR-03',3),
- ('2008-08-04','VARCHAR-04',4),
- ('2008-08-05','VARCHAR-05',5),
- ('2008-08-06','VARCHAR-06',6),
- ('2008-08-07','VARCHAR-07',7),
- ('2008-08-08','VARCHAR-08',8),
- ('2008-08-09','VARCHAR-09',9);
-
---echo #
---echo # Multi-row update.
---echo #
-UPDATE t1 SET c28 = ADDDATE(c28,10) WHERE crn < 8;
-
---echo #
---echo # Show what we have in the table.
---echo #
-SELECT * FROM t1;
-
---echo #
---echo # Multi-row delete.
---echo #
-DELETE FROM t1 WHERE crn < 8;
-
---echo #
---echo # Show what we have in the table.
---echo #
-SELECT * FROM t1;
-
---echo #
---echo # Hide how much rows are affected by each statement.
---echo #
---disable_info
-
---echo #
---echo # Flush all log buffers to the log file.
---echo #
-FLUSH LOGS;
-
---echo #
---echo # Call mysqlbinlog to display the log file contents.
---echo #
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
---exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
-
---echo #
---echo # Cleanup.
---echo #
-DROP TABLE t1;
-
---echo #
---echo # ====================================
---echo # Test #3 - Multi-table update/delete.
---echo # ====================================
---echo #
---echo # Delete all existing binary logs.
---echo #
-RESET MASTER;
-
---echo #
---echo # Create test tables with selected data types.
---echo #
-eval CREATE TABLE t1 (
- c_1_1 DATE,
- c_1_2 VARCHAR(255),
- c_1_n INT -- row number
- ) ENGINE=$engine_type DEFAULT CHARSET latin1;
-#
-eval CREATE TABLE t2 (
- c_2_1 DATE,
- c_2_2 VARCHAR(255),
- c_2_n INT -- row number
- ) ENGINE=$engine_type DEFAULT CHARSET latin1;
-#
-eval CREATE TABLE t3 (
- c_3_1 DATE,
- c_3_2 VARCHAR(255),
- c_3_n INT -- row number
- ) ENGINE=$engine_type DEFAULT CHARSET latin1;
-
---echo #
---echo # Show how much rows are affected by each statement.
---echo #
---enable_info
-
---echo #
---echo # Insert data.
---echo #
-INSERT INTO t1 VALUES
- ('2008-01-01','VARCHAR-01-01',11),
- ('2008-01-02','VARCHAR-01-02',2),
- ('2008-01-03','VARCHAR-01-03',3),
- ('2008-01-04','VARCHAR-01-04',4),
- ('2008-01-05','VARCHAR-01-05',5),
- ('2008-01-06','VARCHAR-01-06',6),
- ('2008-01-07','VARCHAR-01-07',7),
- ('2008-01-08','VARCHAR-01-08',18),
- ('2008-01-09','VARCHAR-01-09',19);
-#
-INSERT INTO t2 VALUES
- ('2008-02-01','VARCHAR-02-01',21),
- ('2008-02-02','VARCHAR-02-02',2),
- ('2008-02-03','VARCHAR-02-03',3),
- ('2008-02-04','VARCHAR-02-04',4),
- ('2008-02-05','VARCHAR-02-05',5),
- ('2008-02-06','VARCHAR-02-06',6),
- ('2008-02-07','VARCHAR-02-07',7),
- ('2008-02-08','VARCHAR-02-08',28),
- ('2008-02-09','VARCHAR-02-09',29);
-#
-INSERT INTO t3 VALUES
- ('2008-03-01','VARCHAR-03-01',31),
- ('2008-03-02','VARCHAR-03-02',2),
- ('2008-03-03','VARCHAR-03-03',3),
- ('2008-03-04','VARCHAR-03-04',4),
- ('2008-03-05','VARCHAR-03-05',5),
- ('2008-03-06','VARCHAR-03-06',6),
- ('2008-03-07','VARCHAR-03-07',7),
- ('2008-03-08','VARCHAR-03-08',38),
- ('2008-03-09','VARCHAR-03-09',39);
-
---echo #
---echo # Multi-table update.
---echo #
-UPDATE t1,t2,t3 SET
- c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
- c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
- c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
- WHERE c_1_n = c_2_n AND c_2_n = c_3_n;
-
---echo #
---echo # Show what we have in the tables.
---echo #
-SELECT * FROM t1;
-SELECT * FROM t2;
-SELECT * FROM t3;
-
---echo #
---echo # Multi-table delete.
---echo #
-DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
- WHERE c_1_n = c_2_n AND c_2_n = c_3_n;
-
---echo #
---echo # Show what we have in the tables.
---echo #
-SELECT * FROM t1;
-SELECT * FROM t2;
-SELECT * FROM t3;
-
---echo #
---echo # Hide how much rows are affected by each statement.
---echo #
---disable_info
-
---echo #
---echo # Flush all log buffers to the log file.
---echo #
-FLUSH LOGS;
-
---echo #
---echo # Call mysqlbinlog to display the log file contents.
---echo #
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
---exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
-
---echo #
---echo # Cleanup.
---echo #
-DROP TABLE t1, t2, t3;
-
---echo #
---echo # ===========================
---echo # Test #4 - LOAD DATA INFILE.
---echo # ===========================
---echo #
---echo # Delete all existing binary logs.
---echo #
-RESET MASTER;
-
---echo #
---echo # Create a test table with selected data types.
---echo #
-eval CREATE TABLE t1 (
- c1 INT DEFAULT 100,
- c2 INT,
- c3 VARCHAR(60)
- ) ENGINE=$engine_type DEFAULT CHARSET latin1;
-
---echo #
---echo # Show how much rows are affected by each statement.
---echo #
---enable_info
-
---echo #
---echo # Load data.
---echo #
-LOAD DATA INFILE '../../std_data/loaddata5.dat'
- INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
- SET c3 = 'Wow';
-
---echo #
---echo # Show what we have in the table.
---echo #
-SELECT * FROM t1;
-
---echo #
---echo # Hide how much rows are affected by each statement.
---echo #
---disable_info
-
---echo #
---echo # Flush all log buffers to the log file.
---echo #
-FLUSH LOGS;
-
---echo #
---echo # Call mysqlbinlog to display the log file contents.
---echo #
-let $MYSQLD_DATADIR= `select @@datadir`;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
---exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
-
---echo #
---echo # Cleanup.
---echo #
-DROP TABLE t1;
-
-