Below is the list of changes that have just been committed into a local
4.1 repository of lars. When lars does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2295 05/05/27 04:17:33 lars@stripped +7 -0
BUG#6883: Added implicit commit for CREATE TABLE, TRUNCATE TABLE and DROP/CREATE
DATABASE
mysql-test/t/rpl_ddl.test
1.1 05/05/27 04:17:27 lars@stripped +268 -0
mysql-test/r/rpl_ddl.result
1.1 05/05/27 04:17:27 lars@stripped +1394 -0
mysql-test/t/rpl_ddl.test
1.0 05/05/27 04:17:27 lars@stripped +0 -0
BitKeeper file /home/bk/b6883-mysql-4.1/mysql-test/t/rpl_ddl.test
mysql-test/r/rpl_ddl.result
1.0 05/05/27 04:17:27 lars@stripped +0 -0
BitKeeper file /home/bk/b6883-mysql-4.1/mysql-test/r/rpl_ddl.result
mysql-test/include/rpl_stmt_seq.inc
1.1 05/05/27 04:17:26 lars@stripped +155 -0
sql/sql_parse.cc
1.436 05/05/27 04:17:26 lars@stripped +20 -0
Added implicit commit for temp table CREATE TABLE, TRUNCATE TABLE, CREATE/DROP
DATABASE.
mysql-test/t/innodb.test
1.69 05/05/27 04:17:26 lars@stripped +0 -1
Truncate table now succeed even if there is an open transaction
mysql-test/r/innodb_cache.result
1.12 05/05/27 04:17:26 lars@stripped +1 -1
One query in cache
mysql-test/r/innodb.result
1.100 05/05/27 04:17:26 lars@stripped +3 -4
Truncate table now work even if there is open trx
mysql-test/include/rpl_stmt_seq.inc
1.0 05/05/27 04:17:26 lars@stripped +0 -0
BitKeeper file /home/bk/b6883-mysql-4.1/mysql-test/include/rpl_stmt_seq.inc
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: lars
# Host: goldfish.site
# Root: /home/bk/b6883-mysql-4.1
--- 1.435/sql/sql_parse.cc 2005-05-24 14:38:32 +02:00
+++ 1.436/sql/sql_parse.cc 2005-05-27 04:17:26 +02:00
@@ -2409,6 +2409,11 @@
case SQLCOM_CREATE_TABLE:
{
+ /* If CREATE TABLE of non-temporary table, do implicit commit */
+ if (!(lex->create_info.options & HA_LEX_CREATE_TMP_TABLE) &&
+ end_active_trans(thd))
+ res= -1;
+
/* Skip first table, which is the table we are creating */
TABLE_LIST *create_table, *create_table_local;
tables= lex->unlink_first_table(tables, &create_table,
@@ -2855,6 +2860,11 @@
break;
}
case SQLCOM_TRUNCATE:
+ if (end_active_trans(thd))
+ {
+ res= -1;
+ break;
+ }
if (check_one_table_access(thd, DELETE_ACL, tables))
goto error;
/*
@@ -3213,6 +3223,11 @@
break;
case SQLCOM_CREATE_DB:
{
+ if (end_active_trans(thd))
+ {
+ res= -1;
+ break;
+ }
char *alias;
if (!(alias=thd->strdup(lex->name)) || check_db_name(lex->name))
{
@@ -3243,6 +3258,11 @@
}
case SQLCOM_DROP_DB:
{
+ if (end_active_trans(thd))
+ {
+ res= -1;
+ break;
+ }
char *alias;
if (!(alias=thd->strdup(lex->name)) || check_db_name(lex->name))
{
--- New file ---
+++ mysql-test/include/rpl_stmt_seq.inc 05/05/27 04:17:26
# include/rpl_stmt_seq.inc
#
# Please be very careful when editing this routine, because the handling of
# the $variables is extreme sensitive.
#
######## The typical test sequence
# 1. INSERT without commit
# check table content of master and slave
# 2. EXECUTE the statement
# check table content of master and slave
# 3. ROLLBACK
# check table content of master and slave
# 4. flush the logs
let $VERSION=`select version()`;
--disable_query_log
# SELECT '######## new test sequence ########' as "";
eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
--enable_query_log
### Predict the number of the current log
# Disable the logging of the log number computation.
--disable_query_log
# $_log_num_n should contain the number of the current binlog in numeric style.
# If this routine is called for the first time, $_log_num will not initialized
# and contain the value '' instead of '1'. So we will correct it here.
#
eval set @aux= IF('$_log_num_n' = '', '1', '$_log_num_n');
let $_log_num_n= `SELECT @aux`;
eval set @aux= LPAD('$_log_num_n',6,'0');
# SELECT @aux AS "@aux is";
#
# $_log_num_s should contain the number of the current binlog in string style.
let $_log_num_s= `select @aux`;
# eval SELECT '$log_num' ;
--enable_query_log
# INSERT + command to be tested + ROLLBACK
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
# Maybe it would be smarter to use a table with autoincrement column.
let $MAX= `SELECT MAX(f1) FROM t1` ;
eval INSERT INTO t1 SET f1= $MAX + 1;
# results before DDL(to be tested)
SELECT MAX(f1) FROM t1;
--replace_result $VERSION VERSION
eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results before DDL(to be tested)
SELECT MAX(f1) FROM t1;
--replace_result $VERSION VERSION
eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
eval $my_stmt;
# Devaluate $my_stmt, to detect script bugs
let $my_stmt= ERROR: YOU FORGOT TO FILL IN THE STATEMENT;
# results after DDL(to be tested)
SELECT MAX(f1) FROM t1;
--replace_result $VERSION VERSION
eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results after DDL(to be tested)
SELECT MAX(f1) FROM t1;
--replace_result $VERSION VERSION
eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
ROLLBACK;
# results after final ROLLBACK
SELECT MAX(f1) FROM t1;
# Try to detect if the DDL command caused that the INSERT is committed
# $MAX holds the highest/last value just before the insert of MAX + 1
--disable_query_log
eval SELECT CONCAT('TEST-INFO: MASTER: The INSERT is ',
IF(MAX(f1) = $MAX + 1, 'committed', 'not committed')) AS ""
FROM d1.t1;
--enable_query_log
--replace_result $VERSION VERSION
eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results after final ROLLBACK
SELECT MAX(f1) FROM t1;
--disable_query_log
eval SELECT CONCAT('TEST-INFO: SLAVE: The INSERT is ',
IF(MAX(f1) = $MAX + 1, 'committed', 'not committed')) AS ""
FROM d1.t1;
--enable_query_log
--replace_result $VERSION VERSION
eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
#let $manipulate= 0;
let $manipulate= 1;
while ($manipulate)
{
#### Manipulate the binary logs,
# so that the output of SHOW BINLOG EVENTS IN <current log>
# contains only commands of the current test sequence.
# - flush the master and the slave log
# ---> both start to write into new logs with incremented number
# - increment $_log_num_n
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
flush logs;
# sleep 1;
# eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# the final content of the binary log
flush logs;
# The next sleep is urgent needed.
# Without this sleep the slaves crashes often, when the SHOW BINLOG
# is executed. :-(
# sleep 1;
# eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
inc $_log_num_n;
let $manipulate= 0;
}
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
--- New file ---
+++ mysql-test/r/rpl_ddl.result 05/05/27 04:17:27
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
SET AUTOCOMMIT = 1;
DROP DATABASE IF EXISTS d1;
DROP DATABASE IF EXISTS d2;
DROP DATABASE IF EXISTS d3;
CREATE DATABASE d1;
CREATE DATABASE d2;
CREATE TABLE d1.t1 (f1 BIGINT) ENGINE= "InnoDB";
INSERT INTO d1.t1 SET f1= 0;
CREATE TABLE d1.t2 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t3 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t4 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t5 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t6 (f1 BIGINT) ENGINE= "InnoDB";
CREATE INDEX my_idx6 ON d1.t6(f1);
CREATE TABLE d1.t7 (f1 BIGINT) ENGINE= "InnoDB";
INSERT INTO d1.t7 SET f1= 0;
CREATE TABLE d1.t8 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t9 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t10 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t11 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t12 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t13 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t14 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t15 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t16 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t17 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t18 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t19 (f1 BIGINT) ENGINE= "InnoDB";
COMMIT;
SET AUTOCOMMIT = 0;
use d1;
-------- switch to slave --------
SET AUTOCOMMIT = 1;
use d1;
-------- switch to master -------
######## COMMIT ########
-------- switch to master -------
INSERT INTO t1 SET f1= 0 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
1
SHOW BINLOG EVENTS IN 'master-bin.000001';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000001 4 Start 1 4 Server ver: VERSION, Binlog ver: 3
master-bin.000001 79 Query 1 79 DROP DATABASE IF EXISTS d1
master-bin.000001 138 Query 1 138 DROP DATABASE IF EXISTS d2
master-bin.000001 197 Query 1 197 DROP DATABASE IF EXISTS d3
master-bin.000001 256 Query 1 256 CREATE DATABASE d1
master-bin.000001 307 Query 1 307 CREATE DATABASE d2
master-bin.000001 358 Query 1 358 use `test`; CREATE TABLE d1.t1 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 440 Query 1 440 use `test`; INSERT INTO d1.t1 SET f1= 0
master-bin.000001 502 Query 1 502 use `test`; CREATE TABLE d1.t2 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 584 Query 1 584 use `test`; CREATE TABLE d1.t3 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 666 Query 1 666 use `test`; CREATE TABLE d1.t4 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 748 Query 1 748 use `test`; CREATE TABLE d1.t5 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 830 Query 1 830 use `test`; CREATE TABLE d1.t6 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 912 Query 1 912 use `test`; CREATE INDEX my_idx6 ON d1.t6(f1)
master-bin.000001 980 Query 1 980 use `test`; CREATE TABLE d1.t7 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1062 Query 1 1062 use `test`; INSERT INTO d1.t7 SET f1= 0
master-bin.000001 1124 Query 1 1124 use `test`; CREATE TABLE d1.t8 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1206 Query 1 1206 use `test`; CREATE TABLE d1.t9 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1288 Query 1 1288 use `test`; CREATE TABLE d1.t10 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1371 Query 1 1371 use `test`; CREATE TABLE d1.t11 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1454 Query 1 1454 use `test`; CREATE TABLE d1.t12 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1537 Query 1 1537 use `test`; CREATE TABLE d1.t13 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1620 Query 1 1620 use `test`; CREATE TABLE d1.t14 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1703 Query 1 1703 use `test`; CREATE TABLE d1.t15 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1786 Query 1 1786 use `test`; CREATE TABLE d1.t16 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1869 Query 1 1869 use `test`; CREATE TABLE d1.t17 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1952 Query 1 1952 use `test`; CREATE TABLE d1.t18 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 2035 Query 1 2035 use `test`; CREATE TABLE d1.t19 (f1 BIGINT) ENGINE=
"InnoDB"
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
0
SHOW BINLOG EVENTS IN 'slave-bin.000001';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000001 4 Start 2 4 Server ver: VERSION, Binlog ver: 3
slave-bin.000001 79 Query 2 79 use `test`; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9
slave-bin.000001 161 Query 1 161 DROP DATABASE IF EXISTS d1
slave-bin.000001 220 Query 1 220 DROP DATABASE IF EXISTS d2
slave-bin.000001 279 Query 1 279 DROP DATABASE IF EXISTS d3
slave-bin.000001 338 Query 1 338 CREATE DATABASE d1
slave-bin.000001 389 Query 1 389 CREATE DATABASE d2
slave-bin.000001 440 Query 1 440 use `test`; CREATE TABLE d1.t1 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 522 Query 1 522 use `test`; INSERT INTO d1.t1 SET f1= 0
slave-bin.000001 584 Query 1 584 use `test`; CREATE TABLE d1.t2 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 666 Query 1 666 use `test`; CREATE TABLE d1.t3 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 748 Query 1 748 use `test`; CREATE TABLE d1.t4 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 830 Query 1 830 use `test`; CREATE TABLE d1.t5 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 912 Query 1 912 use `test`; CREATE TABLE d1.t6 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 994 Query 1 994 use `test`; CREATE INDEX my_idx6 ON d1.t6(f1)
slave-bin.000001 1062 Query 1 1062 use `test`; CREATE TABLE d1.t7 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1144 Query 1 1144 use `test`; INSERT INTO d1.t7 SET f1= 0
slave-bin.000001 1206 Query 1 1206 use `test`; CREATE TABLE d1.t8 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1288 Query 1 1288 use `test`; CREATE TABLE d1.t9 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1370 Query 1 1370 use `test`; CREATE TABLE d1.t10 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1453 Query 1 1453 use `test`; CREATE TABLE d1.t11 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1536 Query 1 1536 use `test`; CREATE TABLE d1.t12 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1619 Query 1 1619 use `test`; CREATE TABLE d1.t13 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1702 Query 1 1702 use `test`; CREATE TABLE d1.t14 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1785 Query 1 1785 use `test`; CREATE TABLE d1.t15 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1868 Query 1 1868 use `test`; CREATE TABLE d1.t16 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1951 Query 1 1951 use `test`; CREATE TABLE d1.t17 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2034 Query 1 2034 use `test`; CREATE TABLE d1.t18 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2117 Query 1 2117 use `test`; CREATE TABLE d1.t19 (f1 BIGINT) ENGINE=
"InnoDB"
-------- switch to master -------
COMMIT;
SELECT MAX(f1) FROM t1;
MAX(f1)
1
SHOW BINLOG EVENTS IN 'master-bin.000001';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000001 4 Start 1 4 Server ver: VERSION, Binlog ver: 3
master-bin.000001 79 Query 1 79 DROP DATABASE IF EXISTS d1
master-bin.000001 138 Query 1 138 DROP DATABASE IF EXISTS d2
master-bin.000001 197 Query 1 197 DROP DATABASE IF EXISTS d3
master-bin.000001 256 Query 1 256 CREATE DATABASE d1
master-bin.000001 307 Query 1 307 CREATE DATABASE d2
master-bin.000001 358 Query 1 358 use `test`; CREATE TABLE d1.t1 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 440 Query 1 440 use `test`; INSERT INTO d1.t1 SET f1= 0
master-bin.000001 502 Query 1 502 use `test`; CREATE TABLE d1.t2 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 584 Query 1 584 use `test`; CREATE TABLE d1.t3 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 666 Query 1 666 use `test`; CREATE TABLE d1.t4 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 748 Query 1 748 use `test`; CREATE TABLE d1.t5 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 830 Query 1 830 use `test`; CREATE TABLE d1.t6 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 912 Query 1 912 use `test`; CREATE INDEX my_idx6 ON d1.t6(f1)
master-bin.000001 980 Query 1 980 use `test`; CREATE TABLE d1.t7 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1062 Query 1 1062 use `test`; INSERT INTO d1.t7 SET f1= 0
master-bin.000001 1124 Query 1 1124 use `test`; CREATE TABLE d1.t8 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1206 Query 1 1206 use `test`; CREATE TABLE d1.t9 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1288 Query 1 1288 use `test`; CREATE TABLE d1.t10 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1371 Query 1 1371 use `test`; CREATE TABLE d1.t11 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1454 Query 1 1454 use `test`; CREATE TABLE d1.t12 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1537 Query 1 1537 use `test`; CREATE TABLE d1.t13 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1620 Query 1 1620 use `test`; CREATE TABLE d1.t14 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1703 Query 1 1703 use `test`; CREATE TABLE d1.t15 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1786 Query 1 1786 use `test`; CREATE TABLE d1.t16 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1869 Query 1 1869 use `test`; CREATE TABLE d1.t17 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1952 Query 1 1952 use `test`; CREATE TABLE d1.t18 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 2035 Query 1 2035 use `test`; CREATE TABLE d1.t19 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 2118 Query 1 2118 use `d1`; BEGIN
master-bin.000001 2156 Query 1 2118 use `d1`; INSERT INTO t1 SET f1= 0 + 1
master-bin.000001 2217 Query 1 2217 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
1
SHOW BINLOG EVENTS IN 'slave-bin.000001';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000001 4 Start 2 4 Server ver: VERSION, Binlog ver: 3
slave-bin.000001 79 Query 2 79 use `test`; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9
slave-bin.000001 161 Query 1 161 DROP DATABASE IF EXISTS d1
slave-bin.000001 220 Query 1 220 DROP DATABASE IF EXISTS d2
slave-bin.000001 279 Query 1 279 DROP DATABASE IF EXISTS d3
slave-bin.000001 338 Query 1 338 CREATE DATABASE d1
slave-bin.000001 389 Query 1 389 CREATE DATABASE d2
slave-bin.000001 440 Query 1 440 use `test`; CREATE TABLE d1.t1 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 522 Query 1 522 use `test`; INSERT INTO d1.t1 SET f1= 0
slave-bin.000001 584 Query 1 584 use `test`; CREATE TABLE d1.t2 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 666 Query 1 666 use `test`; CREATE TABLE d1.t3 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 748 Query 1 748 use `test`; CREATE TABLE d1.t4 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 830 Query 1 830 use `test`; CREATE TABLE d1.t5 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 912 Query 1 912 use `test`; CREATE TABLE d1.t6 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 994 Query 1 994 use `test`; CREATE INDEX my_idx6 ON d1.t6(f1)
slave-bin.000001 1062 Query 1 1062 use `test`; CREATE TABLE d1.t7 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1144 Query 1 1144 use `test`; INSERT INTO d1.t7 SET f1= 0
slave-bin.000001 1206 Query 1 1206 use `test`; CREATE TABLE d1.t8 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1288 Query 1 1288 use `test`; CREATE TABLE d1.t9 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1370 Query 1 1370 use `test`; CREATE TABLE d1.t10 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1453 Query 1 1453 use `test`; CREATE TABLE d1.t11 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1536 Query 1 1536 use `test`; CREATE TABLE d1.t12 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1619 Query 1 1619 use `test`; CREATE TABLE d1.t13 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1702 Query 1 1702 use `test`; CREATE TABLE d1.t14 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1785 Query 1 1785 use `test`; CREATE TABLE d1.t15 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1868 Query 1 1868 use `test`; CREATE TABLE d1.t16 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1951 Query 1 1951 use `test`; CREATE TABLE d1.t17 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2034 Query 1 2034 use `test`; CREATE TABLE d1.t18 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2117 Query 1 2117 use `test`; CREATE TABLE d1.t19 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2200 Query 1 2200 use `d1`; INSERT INTO t1 SET f1= 0 + 1
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
1
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000001';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000001 4 Start 1 4 Server ver: VERSION, Binlog ver: 3
master-bin.000001 79 Query 1 79 DROP DATABASE IF EXISTS d1
master-bin.000001 138 Query 1 138 DROP DATABASE IF EXISTS d2
master-bin.000001 197 Query 1 197 DROP DATABASE IF EXISTS d3
master-bin.000001 256 Query 1 256 CREATE DATABASE d1
master-bin.000001 307 Query 1 307 CREATE DATABASE d2
master-bin.000001 358 Query 1 358 use `test`; CREATE TABLE d1.t1 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 440 Query 1 440 use `test`; INSERT INTO d1.t1 SET f1= 0
master-bin.000001 502 Query 1 502 use `test`; CREATE TABLE d1.t2 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 584 Query 1 584 use `test`; CREATE TABLE d1.t3 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 666 Query 1 666 use `test`; CREATE TABLE d1.t4 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 748 Query 1 748 use `test`; CREATE TABLE d1.t5 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 830 Query 1 830 use `test`; CREATE TABLE d1.t6 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 912 Query 1 912 use `test`; CREATE INDEX my_idx6 ON d1.t6(f1)
master-bin.000001 980 Query 1 980 use `test`; CREATE TABLE d1.t7 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1062 Query 1 1062 use `test`; INSERT INTO d1.t7 SET f1= 0
master-bin.000001 1124 Query 1 1124 use `test`; CREATE TABLE d1.t8 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1206 Query 1 1206 use `test`; CREATE TABLE d1.t9 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1288 Query 1 1288 use `test`; CREATE TABLE d1.t10 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1371 Query 1 1371 use `test`; CREATE TABLE d1.t11 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1454 Query 1 1454 use `test`; CREATE TABLE d1.t12 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1537 Query 1 1537 use `test`; CREATE TABLE d1.t13 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1620 Query 1 1620 use `test`; CREATE TABLE d1.t14 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1703 Query 1 1703 use `test`; CREATE TABLE d1.t15 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1786 Query 1 1786 use `test`; CREATE TABLE d1.t16 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1869 Query 1 1869 use `test`; CREATE TABLE d1.t17 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 1952 Query 1 1952 use `test`; CREATE TABLE d1.t18 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 2035 Query 1 2035 use `test`; CREATE TABLE d1.t19 (f1 BIGINT) ENGINE=
"InnoDB"
master-bin.000001 2118 Query 1 2118 use `d1`; BEGIN
master-bin.000001 2156 Query 1 2118 use `d1`; INSERT INTO t1 SET f1= 0 + 1
master-bin.000001 2217 Query 1 2217 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
1
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000001';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000001 4 Start 2 4 Server ver: VERSION, Binlog ver: 3
slave-bin.000001 79 Query 2 79 use `test`; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9
slave-bin.000001 161 Query 1 161 DROP DATABASE IF EXISTS d1
slave-bin.000001 220 Query 1 220 DROP DATABASE IF EXISTS d2
slave-bin.000001 279 Query 1 279 DROP DATABASE IF EXISTS d3
slave-bin.000001 338 Query 1 338 CREATE DATABASE d1
slave-bin.000001 389 Query 1 389 CREATE DATABASE d2
slave-bin.000001 440 Query 1 440 use `test`; CREATE TABLE d1.t1 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 522 Query 1 522 use `test`; INSERT INTO d1.t1 SET f1= 0
slave-bin.000001 584 Query 1 584 use `test`; CREATE TABLE d1.t2 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 666 Query 1 666 use `test`; CREATE TABLE d1.t3 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 748 Query 1 748 use `test`; CREATE TABLE d1.t4 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 830 Query 1 830 use `test`; CREATE TABLE d1.t5 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 912 Query 1 912 use `test`; CREATE TABLE d1.t6 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 994 Query 1 994 use `test`; CREATE INDEX my_idx6 ON d1.t6(f1)
slave-bin.000001 1062 Query 1 1062 use `test`; CREATE TABLE d1.t7 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1144 Query 1 1144 use `test`; INSERT INTO d1.t7 SET f1= 0
slave-bin.000001 1206 Query 1 1206 use `test`; CREATE TABLE d1.t8 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1288 Query 1 1288 use `test`; CREATE TABLE d1.t9 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1370 Query 1 1370 use `test`; CREATE TABLE d1.t10 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1453 Query 1 1453 use `test`; CREATE TABLE d1.t11 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1536 Query 1 1536 use `test`; CREATE TABLE d1.t12 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1619 Query 1 1619 use `test`; CREATE TABLE d1.t13 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1702 Query 1 1702 use `test`; CREATE TABLE d1.t14 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1785 Query 1 1785 use `test`; CREATE TABLE d1.t15 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1868 Query 1 1868 use `test`; CREATE TABLE d1.t16 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 1951 Query 1 1951 use `test`; CREATE TABLE d1.t17 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2034 Query 1 2034 use `test`; CREATE TABLE d1.t18 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2117 Query 1 2117 use `test`; CREATE TABLE d1.t19 (f1 BIGINT) ENGINE=
"InnoDB"
slave-bin.000001 2200 Query 1 2200 use `d1`; INSERT INTO t1 SET f1= 0 + 1
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
######## ROLLBACK ########
-------- switch to master -------
INSERT INTO t1 SET f1= 1 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
2
SHOW BINLOG EVENTS IN 'master-bin.000002';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
1
SHOW BINLOG EVENTS IN 'slave-bin.000002';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
1
SHOW BINLOG EVENTS IN 'master-bin.000002';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
1
SHOW BINLOG EVENTS IN 'slave-bin.000002';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
1
TEST-INFO: MASTER: The INSERT is not committed
SHOW BINLOG EVENTS IN 'master-bin.000002';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
1
TEST-INFO: SLAVE: The INSERT is not committed
SHOW BINLOG EVENTS IN 'slave-bin.000002';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
######## SET AUTOCOMMIT=1 ########
-------- switch to master -------
INSERT INTO t1 SET f1= 1 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
2
SHOW BINLOG EVENTS IN 'master-bin.000003';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
1
SHOW BINLOG EVENTS IN 'slave-bin.000003';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
SET AUTOCOMMIT=1;
SELECT MAX(f1) FROM t1;
MAX(f1)
2
SHOW BINLOG EVENTS IN 'master-bin.000003';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000003 4 Query 1 4 use `d1`; BEGIN
master-bin.000003 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 1 + 1
master-bin.000003 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
2
SHOW BINLOG EVENTS IN 'slave-bin.000003';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000003 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 1 + 1
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
2
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000003';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000003 4 Query 1 4 use `d1`; BEGIN
master-bin.000003 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 1 + 1
master-bin.000003 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
2
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000003';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000003 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 1 + 1
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SET AUTOCOMMIT=0;
######## START TRANSACTION ########
-------- switch to master -------
INSERT INTO t1 SET f1= 2 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
3
SHOW BINLOG EVENTS IN 'master-bin.000004';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
2
SHOW BINLOG EVENTS IN 'slave-bin.000004';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
START TRANSACTION;
SELECT MAX(f1) FROM t1;
MAX(f1)
3
SHOW BINLOG EVENTS IN 'master-bin.000004';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000004 4 Query 1 4 use `d1`; BEGIN
master-bin.000004 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 2 + 1
master-bin.000004 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
3
SHOW BINLOG EVENTS IN 'slave-bin.000004';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000004 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 2 + 1
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
3
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000004';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000004 4 Query 1 4 use `d1`; BEGIN
master-bin.000004 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 2 + 1
master-bin.000004 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
3
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000004';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000004 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 2 + 1
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
######## BEGIN ########
-------- switch to master -------
INSERT INTO t1 SET f1= 3 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
4
SHOW BINLOG EVENTS IN 'master-bin.000005';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
3
SHOW BINLOG EVENTS IN 'slave-bin.000005';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
BEGIN;
SELECT MAX(f1) FROM t1;
MAX(f1)
4
SHOW BINLOG EVENTS IN 'master-bin.000005';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000005 4 Query 1 4 use `d1`; BEGIN
master-bin.000005 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 3 + 1
master-bin.000005 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
4
SHOW BINLOG EVENTS IN 'slave-bin.000005';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000005 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 3 + 1
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
4
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000005';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000005 4 Query 1 4 use `d1`; BEGIN
master-bin.000005 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 3 + 1
master-bin.000005 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
4
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000005';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000005 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 3 + 1
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
######## DROP TABLE d1.t2 ########
-------- switch to master -------
INSERT INTO t1 SET f1= 4 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
5
SHOW BINLOG EVENTS IN 'master-bin.000006';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
4
SHOW BINLOG EVENTS IN 'slave-bin.000006';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
DROP TABLE d1.t2;
SELECT MAX(f1) FROM t1;
MAX(f1)
5
SHOW BINLOG EVENTS IN 'master-bin.000006';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000006 4 Query 1 4 use `d1`; BEGIN
master-bin.000006 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 4 + 1
master-bin.000006 103 Query 1 103 use `d1`; COMMIT
master-bin.000006 142 Query 1 142 use `d1`; DROP TABLE d1.t2
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
5
SHOW BINLOG EVENTS IN 'slave-bin.000006';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000006 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 4 + 1
slave-bin.000006 65 Query 1 65 use `d1`; DROP TABLE d1.t2
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
5
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000006';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000006 4 Query 1 4 use `d1`; BEGIN
master-bin.000006 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 4 + 1
master-bin.000006 103 Query 1 103 use `d1`; COMMIT
master-bin.000006 142 Query 1 142 use `d1`; DROP TABLE d1.t2
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
5
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000006';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000006 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 4 + 1
slave-bin.000006 65 Query 1 65 use `d1`; DROP TABLE d1.t2
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SHOW TABLES LIKE 't2';
Tables_in_d1 (t2)
-------- switch to slave --------
SHOW TABLES LIKE 't2';
Tables_in_d1 (t2)
-------- switch to master -------
######## RENAME TABLE d1.t3 to d1.t20 ########
-------- switch to master -------
INSERT INTO t1 SET f1= 5 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
6
SHOW BINLOG EVENTS IN 'master-bin.000007';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
5
SHOW BINLOG EVENTS IN 'slave-bin.000007';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
RENAME TABLE d1.t3 to d1.t20;
SELECT MAX(f1) FROM t1;
MAX(f1)
6
SHOW BINLOG EVENTS IN 'master-bin.000007';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000007 4 Query 1 4 use `d1`; BEGIN
master-bin.000007 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 5 + 1
master-bin.000007 103 Query 1 103 use `d1`; COMMIT
master-bin.000007 142 Query 1 142 use `d1`; RENAME TABLE d1.t3 to d1.t20
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
6
SHOW BINLOG EVENTS IN 'slave-bin.000007';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000007 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 5 + 1
slave-bin.000007 65 Query 1 65 use `d1`; RENAME TABLE d1.t3 to d1.t20
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
6
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000007';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000007 4 Query 1 4 use `d1`; BEGIN
master-bin.000007 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 5 + 1
master-bin.000007 103 Query 1 103 use `d1`; COMMIT
master-bin.000007 142 Query 1 142 use `d1`; RENAME TABLE d1.t3 to d1.t20
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
6
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000007';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000007 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 5 + 1
slave-bin.000007 65 Query 1 65 use `d1`; RENAME TABLE d1.t3 to d1.t20
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SHOW TABLES LIKE 't20';
Tables_in_d1 (t20)
t20
-------- switch to slave --------
SHOW TABLES LIKE 't20';
Tables_in_d1 (t20)
t20
-------- switch to master -------
######## ALTER TABLE d1.t4 ADD column f2 BIGINT ########
-------- switch to master -------
INSERT INTO t1 SET f1= 6 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
7
SHOW BINLOG EVENTS IN 'master-bin.000008';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
6
SHOW BINLOG EVENTS IN 'slave-bin.000008';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
ALTER TABLE d1.t4 ADD column f2 BIGINT;
SELECT MAX(f1) FROM t1;
MAX(f1)
7
SHOW BINLOG EVENTS IN 'master-bin.000008';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000008 4 Query 1 4 use `d1`; BEGIN
master-bin.000008 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 6 + 1
master-bin.000008 103 Query 1 103 use `d1`; COMMIT
master-bin.000008 142 Query 1 142 use `d1`; ALTER TABLE d1.t4 ADD column f2 BIGINT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
7
SHOW BINLOG EVENTS IN 'slave-bin.000008';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000008 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 6 + 1
slave-bin.000008 65 Query 1 65 use `d1`; ALTER TABLE d1.t4 ADD column f2 BIGINT
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
7
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000008';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000008 4 Query 1 4 use `d1`; BEGIN
master-bin.000008 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 6 + 1
master-bin.000008 103 Query 1 103 use `d1`; COMMIT
master-bin.000008 142 Query 1 142 use `d1`; ALTER TABLE d1.t4 ADD column f2 BIGINT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
7
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000008';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000008 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 6 + 1
slave-bin.000008 65 Query 1 65 use `d1`; ALTER TABLE d1.t4 ADD column f2 BIGINT
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
describe d1.t4;
Field Type Null Key Default Extra
f1 bigint(20) YES NULL
f2 bigint(20) YES NULL
-------- switch to slave --------
describe d1.t4;
Field Type Null Key Default Extra
f1 bigint(20) YES NULL
f2 bigint(20) YES NULL
-------- switch to master -------
######## CREATE TABLE d1.t21 (f1 BIGINT) ENGINE= "InnoDB" ########
-------- switch to master -------
INSERT INTO t1 SET f1= 7 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
8
SHOW BINLOG EVENTS IN 'master-bin.000009';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
7
SHOW BINLOG EVENTS IN 'slave-bin.000009';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
CREATE TABLE d1.t21 (f1 BIGINT) ENGINE= "InnoDB";
SELECT MAX(f1) FROM t1;
MAX(f1)
8
SHOW BINLOG EVENTS IN 'master-bin.000009';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000009 4 Query 1 4 use `d1`; BEGIN
master-bin.000009 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 7 + 1
master-bin.000009 103 Query 1 103 use `d1`; COMMIT
master-bin.000009 142 Query 1 142 use `d1`; CREATE TABLE d1.t21 (f1 BIGINT) ENGINE=
"InnoDB"
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
8
SHOW BINLOG EVENTS IN 'slave-bin.000009';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000009 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 7 + 1
slave-bin.000009 65 Query 1 65 use `d1`; CREATE TABLE d1.t21 (f1 BIGINT) ENGINE= "InnoDB"
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
8
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000009';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000009 4 Query 1 4 use `d1`; BEGIN
master-bin.000009 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 7 + 1
master-bin.000009 103 Query 1 103 use `d1`; COMMIT
master-bin.000009 142 Query 1 142 use `d1`; CREATE TABLE d1.t21 (f1 BIGINT) ENGINE=
"InnoDB"
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
8
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000009';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000009 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 7 + 1
slave-bin.000009 65 Query 1 65 use `d1`; CREATE TABLE d1.t21 (f1 BIGINT) ENGINE= "InnoDB"
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
######## TRUNCATE TABLE d1.t7 ########
-------- switch to master -------
INSERT INTO t1 SET f1= 8 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
9
SHOW BINLOG EVENTS IN 'master-bin.000010';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
8
SHOW BINLOG EVENTS IN 'slave-bin.000010';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
TRUNCATE TABLE d1.t7;
SELECT MAX(f1) FROM t1;
MAX(f1)
9
SHOW BINLOG EVENTS IN 'master-bin.000010';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000010 4 Query 1 4 use `d1`; BEGIN
master-bin.000010 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 8 + 1
master-bin.000010 103 Query 1 103 use `d1`; COMMIT
master-bin.000010 142 Query 1 142 use `d1`; TRUNCATE TABLE d1.t7
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
9
SHOW BINLOG EVENTS IN 'slave-bin.000010';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000010 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 8 + 1
slave-bin.000010 65 Query 1 65 use `d1`; TRUNCATE TABLE d1.t7
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
9
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000010';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000010 4 Query 1 4 use `d1`; BEGIN
master-bin.000010 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 8 + 1
master-bin.000010 103 Query 1 103 use `d1`; COMMIT
master-bin.000010 142 Query 1 142 use `d1`; TRUNCATE TABLE d1.t7
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
9
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000010';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000010 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 8 + 1
slave-bin.000010 65 Query 1 65 use `d1`; TRUNCATE TABLE d1.t7
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SELECT * FROM d1.t7;
f1
-------- switch to slave --------
SELECT * FROM d1.t7;
f1
-------- switch to master -------
######## LOCK TABLES d1.t1 WRITE, d1.t8 READ ########
-------- switch to master -------
INSERT INTO t1 SET f1= 9 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
10
SHOW BINLOG EVENTS IN 'master-bin.000011';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
9
SHOW BINLOG EVENTS IN 'slave-bin.000011';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
LOCK TABLES d1.t1 WRITE, d1.t8 READ;
SELECT MAX(f1) FROM t1;
MAX(f1)
10
SHOW BINLOG EVENTS IN 'master-bin.000011';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000011 4 Query 1 4 use `d1`; BEGIN
master-bin.000011 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 9 + 1
master-bin.000011 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
10
SHOW BINLOG EVENTS IN 'slave-bin.000011';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000011 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 9 + 1
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
10
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000011';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000011 4 Query 1 4 use `d1`; BEGIN
master-bin.000011 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 9 + 1
master-bin.000011 103 Query 1 103 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
10
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000011';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000011 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 9 + 1
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
UNLOCK TABLES;
LOCK TABLES d1.t1 WRITE, d1.t8 READ;
######## UNLOCK TABLES ########
-------- switch to master -------
INSERT INTO t1 SET f1= 10 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
11
SHOW BINLOG EVENTS IN 'master-bin.000012';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
10
SHOW BINLOG EVENTS IN 'slave-bin.000012';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
UNLOCK TABLES;
SELECT MAX(f1) FROM t1;
MAX(f1)
11
SHOW BINLOG EVENTS IN 'master-bin.000012';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000012 4 Query 1 4 use `d1`; BEGIN
master-bin.000012 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 10 + 1
master-bin.000012 104 Query 1 104 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
11
SHOW BINLOG EVENTS IN 'slave-bin.000012';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000012 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 10 + 1
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
11
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000012';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000012 4 Query 1 4 use `d1`; BEGIN
master-bin.000012 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 10 + 1
master-bin.000012 104 Query 1 104 use `d1`; COMMIT
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
11
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000012';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000012 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 10 + 1
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
######## DROP INDEX my_idx6 ON d1.t6 ########
-------- switch to master -------
INSERT INTO t1 SET f1= 11 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
12
SHOW BINLOG EVENTS IN 'master-bin.000013';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
11
SHOW BINLOG EVENTS IN 'slave-bin.000013';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
DROP INDEX my_idx6 ON d1.t6;
SELECT MAX(f1) FROM t1;
MAX(f1)
12
SHOW BINLOG EVENTS IN 'master-bin.000013';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000013 4 Query 1 4 use `d1`; BEGIN
master-bin.000013 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 11 + 1
master-bin.000013 104 Query 1 104 use `d1`; COMMIT
master-bin.000013 143 Query 1 143 use `d1`; DROP INDEX my_idx6 ON d1.t6
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
12
SHOW BINLOG EVENTS IN 'slave-bin.000013';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000013 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 11 + 1
slave-bin.000013 66 Query 1 66 use `d1`; DROP INDEX my_idx6 ON d1.t6
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
12
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000013';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000013 4 Query 1 4 use `d1`; BEGIN
master-bin.000013 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 11 + 1
master-bin.000013 104 Query 1 104 use `d1`; COMMIT
master-bin.000013 143 Query 1 143 use `d1`; DROP INDEX my_idx6 ON d1.t6
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
12
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000013';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000013 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 11 + 1
slave-bin.000013 66 Query 1 66 use `d1`; DROP INDEX my_idx6 ON d1.t6
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SHOW INDEX FROM d1.t6;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-------- switch to slave --------
SHOW INDEX FROM d1.t6;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
-------- switch to master -------
######## CREATE INDEX my_idx5 ON d1.t5(f1) ########
-------- switch to master -------
INSERT INTO t1 SET f1= 12 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
13
SHOW BINLOG EVENTS IN 'master-bin.000014';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
12
SHOW BINLOG EVENTS IN 'slave-bin.000014';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
CREATE INDEX my_idx5 ON d1.t5(f1);
SELECT MAX(f1) FROM t1;
MAX(f1)
13
SHOW BINLOG EVENTS IN 'master-bin.000014';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000014 4 Query 1 4 use `d1`; BEGIN
master-bin.000014 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 12 + 1
master-bin.000014 104 Query 1 104 use `d1`; COMMIT
master-bin.000014 143 Query 1 143 use `d1`; CREATE INDEX my_idx5 ON d1.t5(f1)
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
13
SHOW BINLOG EVENTS IN 'slave-bin.000014';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000014 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 12 + 1
slave-bin.000014 66 Query 1 66 use `d1`; CREATE INDEX my_idx5 ON d1.t5(f1)
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
13
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000014';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000014 4 Query 1 4 use `d1`; BEGIN
master-bin.000014 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 12 + 1
master-bin.000014 104 Query 1 104 use `d1`; COMMIT
master-bin.000014 143 Query 1 143 use `d1`; CREATE INDEX my_idx5 ON d1.t5(f1)
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
13
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000014';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000014 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 12 + 1
slave-bin.000014 66 Query 1 66 use `d1`; CREATE INDEX my_idx5 ON d1.t5(f1)
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SHOW INDEX FROM d1.t5;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE
-------- switch to slave --------
SHOW INDEX FROM d1.t5;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
t5 1 my_idx5 1 f1 A NULL NULL NULL YES BTREE
-------- switch to master -------
######## DROP DATABASE d2 ########
-------- switch to master -------
INSERT INTO t1 SET f1= 13 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
14
SHOW BINLOG EVENTS IN 'master-bin.000015';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
13
SHOW BINLOG EVENTS IN 'slave-bin.000015';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
DROP DATABASE d2;
SELECT MAX(f1) FROM t1;
MAX(f1)
14
SHOW BINLOG EVENTS IN 'master-bin.000015';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000015 4 Query 1 4 use `d1`; BEGIN
master-bin.000015 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 13 + 1
master-bin.000015 104 Query 1 104 use `d1`; COMMIT
master-bin.000015 143 Query 1 143 DROP DATABASE d2
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
14
SHOW BINLOG EVENTS IN 'slave-bin.000015';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000015 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 13 + 1
slave-bin.000015 66 Query 1 66 DROP DATABASE d2
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
14
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000015';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000015 4 Query 1 4 use `d1`; BEGIN
master-bin.000015 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 13 + 1
master-bin.000015 104 Query 1 104 use `d1`; COMMIT
master-bin.000015 143 Query 1 143 DROP DATABASE d2
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
14
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000015';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000015 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 13 + 1
slave-bin.000015 66 Query 1 66 DROP DATABASE d2
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SHOW DATABASES LIKE "d2";
Database (d2)
-------- switch to slave --------
SHOW DATABASES LIKE "d2";
Database (d2)
-------- switch to master -------
######## CREATE DATABASE d3 ########
-------- switch to master -------
INSERT INTO t1 SET f1= 14 + 1;
SELECT MAX(f1) FROM t1;
MAX(f1)
15
SHOW BINLOG EVENTS IN 'master-bin.000016';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
14
SHOW BINLOG EVENTS IN 'slave-bin.000016';
Log_name Pos Event_type Server_id Orig_log_pos Info
-------- switch to master -------
CREATE DATABASE d3;
SELECT MAX(f1) FROM t1;
MAX(f1)
15
SHOW BINLOG EVENTS IN 'master-bin.000016';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000016 4 Query 1 4 use `d1`; BEGIN
master-bin.000016 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 14 + 1
master-bin.000016 104 Query 1 104 use `d1`; COMMIT
master-bin.000016 143 Query 1 143 CREATE DATABASE d3
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
15
SHOW BINLOG EVENTS IN 'slave-bin.000016';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000016 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 14 + 1
slave-bin.000016 66 Query 1 66 CREATE DATABASE d3
-------- switch to master -------
ROLLBACK;
SELECT MAX(f1) FROM t1;
MAX(f1)
15
TEST-INFO: MASTER: The INSERT is committed
SHOW BINLOG EVENTS IN 'master-bin.000016';
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000016 4 Query 1 4 use `d1`; BEGIN
master-bin.000016 42 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 14 + 1
master-bin.000016 104 Query 1 104 use `d1`; COMMIT
master-bin.000016 143 Query 1 143 CREATE DATABASE d3
-------- switch to slave --------
SELECT MAX(f1) FROM t1;
MAX(f1)
15
TEST-INFO: SLAVE: The INSERT is committed
SHOW BINLOG EVENTS IN 'slave-bin.000016';
Log_name Pos Event_type Server_id Orig_log_pos Info
slave-bin.000016 4 Query 1 4 use `d1`; INSERT INTO t1 SET f1= 14 + 1
slave-bin.000016 66 Query 1 66 CREATE DATABASE d3
-------- switch to master -------
flush logs;
-------- switch to slave --------
flush logs;
-------- switch to master -------
SHOW DATABASES LIKE "d3";
Database (d3)
d3
-------- switch to slave --------
SHOW DATABASES LIKE "d3";
Database (d3)
d3
-------- switch to master -------
DROP DATABASE IF EXISTS d1;
DROP DATABASE IF EXISTS d2;
DROP DATABASE IF EXISTS d3;
--- New file ---
+++ mysql-test/t/rpl_ddl.test 05/05/27 04:17:27
######################## rpl-ddl.test ########################
# #
# DDL statements (sometimes with implicit COMMIT) executed #
# by the master and it's propagation into the slave #
# #
##############################################################
#
# NOTE, PLEASE BE CAREFUL, WHEN MODIFYING THE TESTS !!
#
# 1. !All! objects to be dropped, renamed, altered ... must be created
# in AUTOCOMMIT= 1 mode before AUTOCOMMIT is set to 0 and the test
# sequences start.
#
# 2. Never use a test object, which was direct or indirect affected by a
# preceeding test sequence again.
# Except table d1.t1 where ONLY DML is allowed.
#
# If one preceeding test sequence hits a (sometimes not good visible,
# because the sql error code of the statement might be 0) bug
# and these rules are ignored, a following test sequence might earn ugly
# effects like failing 'sync_slave_with_master', crashes of the slave or
# abort of the test case etc..
#
# 3. The assignment of the DDL command to be tested to $my_stmt can
# be a bit difficult. "'" must be avoided, because the test
# routine "include/rpl_stmt_seq.inc" performs a
# eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
#
######## tested DDL commands
#
# let $my_stmt= COMMIT;
# let $my_stmt= ROLLBACK;
# let $my_stmt= SET AUTOCOMMIT=1;
# let $my_stmt= START TRANSACTION;
# let $my_stmt= BEGIN;
# let $my_stmt= DROP TABLE d1.t2;
# let $my_stmt= RENAME TABLE d1.t3 to d1.t20; <- wrong syntax !!
# let $my_stmt= ALTER TABLE d1.t4 ADD column f2 BIGINT;
# let $my_stmt= CREATE TABLE d1.t21 (f1 BIGINT) ENGINE= "InnoDB";
# let $my_stmt= TRUNCATE TABLE d1.t7;
# let $my_stmt= LOCK TABLES d1.t1 WRITE, d1.t8 READ;
# let $my_stmt= UNLOCK TABLES;
# let $my_stmt= DROP INDEX my_idx6 ON d1.t6;
# let $my_stmt= CREATE INDEX my_idx5 ON d1.t5(f1);
# let $my_stmt= DROP DATABASE d2;
# let $my_stmt= CREATE DATABASE d3;
#
# FIXME: @code{LOAD MASTER DATA} is not tested
#
#############################################
--source include/have_innodb.inc
source include/master-slave.inc;
######## some preparations
#
SET AUTOCOMMIT = 1;
#
# 1. DROP all objects, which probably already exist, but must be created here
#
--disable_warnings
DROP DATABASE IF EXISTS d1;
DROP DATABASE IF EXISTS d2;
DROP DATABASE IF EXISTS d3;
--enable_warnings
#
# 2. CREATE all objects needed
# working database is d1
# working (transactional!) is d1.t1
#
CREATE DATABASE d1;
CREATE DATABASE d2;
CREATE TABLE d1.t1 (f1 BIGINT) ENGINE= "InnoDB";
INSERT INTO d1.t1 SET f1= 0;
CREATE TABLE d1.t2 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t3 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t4 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t5 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t6 (f1 BIGINT) ENGINE= "InnoDB";
CREATE INDEX my_idx6 ON d1.t6(f1);
CREATE TABLE d1.t7 (f1 BIGINT) ENGINE= "InnoDB";
INSERT INTO d1.t7 SET f1= 0;
CREATE TABLE d1.t8 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t9 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t10 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t11 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t12 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t13 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t14 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t15 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t16 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t17 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t18 (f1 BIGINT) ENGINE= "InnoDB";
CREATE TABLE d1.t19 (f1 BIGINT) ENGINE= "InnoDB";
#
COMMIT; # Just to be sure
#
# 3. master sessions: never do AUTOCOMMIT
# slave sessions: do AUTOCOMMIT, because we want to see fresh values
# every time
# default database is d1
SET AUTOCOMMIT = 0;
use d1;
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SET AUTOCOMMIT = 1;
use d1;
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
# We don't want to abort the whole test if one statement sent
# to the server gets an error, because the following test
# sequences are nearly independend of the previous statements.
--disable_abort_on_error
###### banal case: (explicit) COMMIT and ROLLBACK
# just for checking if the test sequence is usable
let $my_stmt= COMMIT;
--source include/rpl_stmt_seq.inc
let $my_stmt= ROLLBACK;
--source include/rpl_stmt_seq.inc
###### cases with commands very similar to COMMIT
let $my_stmt= SET AUTOCOMMIT=1;
--source include/rpl_stmt_seq.inc
SET AUTOCOMMIT=0;
#
let $my_stmt= START TRANSACTION;
--source include/rpl_stmt_seq.inc
#
let $my_stmt= BEGIN;
--source include/rpl_stmt_seq.inc
###### cases with commands, which create or drop objects
#### (BASE) TABLES and (UPDATABLE) VIEWs
let $my_stmt= DROP TABLE d1.t2;
--source include/rpl_stmt_seq.inc
SHOW TABLES LIKE 't2';
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SHOW TABLES LIKE 't2';
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#
let $my_stmt= RENAME TABLE d1.t3 to d1.t20;
--source include/rpl_stmt_seq.inc
SHOW TABLES LIKE 't20';
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SHOW TABLES LIKE 't20';
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#
let $my_stmt= ALTER TABLE d1.t4 ADD column f2 BIGINT;
--source include/rpl_stmt_seq.inc
describe d1.t4;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
describe d1.t4;
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#
let $my_stmt= CREATE TABLE d1.t21 (f1 BIGINT) ENGINE= "InnoDB";
--source include/rpl_stmt_seq.inc
#
let $my_stmt= TRUNCATE TABLE d1.t7;
--source include/rpl_stmt_seq.inc
SELECT * FROM d1.t7;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SELECT * FROM d1.t7;
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#
# MySQL insists in locking d1.t1, because rpl_stmt_seq performs an INSERT into
# this table.
let $my_stmt= LOCK TABLES d1.t1 WRITE, d1.t8 READ;
--source include/rpl_stmt_seq.inc
UNLOCK TABLES;
#
LOCK TABLES d1.t1 WRITE, d1.t8 READ;
let $my_stmt= UNLOCK TABLES;
--source include/rpl_stmt_seq.inc
#
#### INDEXES
let $my_stmt= DROP INDEX my_idx6 ON d1.t6;
--source include/rpl_stmt_seq.inc
SHOW INDEX FROM d1.t6;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SHOW INDEX FROM d1.t6;
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#
let $my_stmt= CREATE INDEX my_idx5 ON d1.t5(f1);
--source include/rpl_stmt_seq.inc
SHOW INDEX FROM d1.t5;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SHOW INDEX FROM d1.t5;
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#### DATABASES
let $my_stmt= DROP DATABASE d2;
--source include/rpl_stmt_seq.inc
SHOW DATABASES LIKE "d2";
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SHOW DATABASES LIKE "d2";
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#
let $my_stmt= CREATE DATABASE d3;
--source include/rpl_stmt_seq.inc
SHOW DATABASES LIKE "d3";
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
SHOW DATABASES LIKE "d3";
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
--disable_warnings
DROP DATABASE IF EXISTS d1;
DROP DATABASE IF EXISTS d2;
DROP DATABASE IF EXISTS d3;
--enable_warnings
--- 1.99/mysql-test/r/innodb.result 2005-05-14 15:24:32 +02:00
+++ 1.100/mysql-test/r/innodb.result 2005-05-27 04:17:26 +02:00
@@ -875,7 +875,6 @@
create table t1 (a int not null) engine= innodb;
insert into t1 values(1),(2);
truncate table t1;
-ERROR HY000: Can't execute the given command because you have active locked tables or an
active transaction
commit;
truncate table t1;
truncate table t1;
@@ -1598,14 +1597,14 @@
drop table t2, t1;
show status like "binlog_cache_use";
Variable_name Value
-Binlog_cache_use 24
+Binlog_cache_use 25
show status like "binlog_cache_disk_use";
Variable_name Value
Binlog_cache_disk_use 0
create table t1 (a int) engine=innodb;
show status like "binlog_cache_use";
Variable_name Value
-Binlog_cache_use 25
+Binlog_cache_use 26
show status like "binlog_cache_disk_use";
Variable_name Value
Binlog_cache_disk_use 1
@@ -1614,7 +1613,7 @@
commit;
show status like "binlog_cache_use";
Variable_name Value
-Binlog_cache_use 26
+Binlog_cache_use 27
show status like "binlog_cache_disk_use";
Variable_name Value
Binlog_cache_disk_use 1
--- 1.68/mysql-test/t/innodb.test 2005-05-13 22:34:05 +02:00
+++ 1.69/mysql-test/t/innodb.test 2005-05-27 04:17:26 +02:00
@@ -570,7 +570,6 @@
set autocommit=0;
create table t1 (a int not null) engine= innodb;
insert into t1 values(1),(2);
---error 1192
truncate table t1;
commit;
truncate table t1;
--- 1.11/mysql-test/r/innodb_cache.result 2004-06-26 14:21:26 +02:00
+++ 1.12/mysql-test/r/innodb_cache.result 2005-05-27 04:17:26 +02:00
@@ -24,7 +24,7 @@
3
show status like "Qcache_queries_in_cache";
Variable_name Value
-Qcache_queries_in_cache 0
+Qcache_queries_in_cache 1
drop table t1;
commit;
create table t1 (a int not null) engine=innodb;
| Thread |
|---|
| • bk commit into 4.1 tree (lars:1.2295) BUG#6883 | Lars Thalmann | 27 May |