1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
reset master;
set timestamp=1000000000;
set SESSION binlog_format = 'ROW';
create database test2;
create database test3;
use test;
create table t1 (a int primary key, b char(8)) ENGINE=rocksdb;
insert into t1 values(1, 'a');
insert into t1 values(2, 'b');
create table t2 (a int primary key, b char(8)) ENGINE=rocksdb;
start transaction;
insert into t2 values(1, 'a');
insert into t2 values(2, 'b');
insert into t2 values(3, 'c');
insert into t2 values(4, 'd');
commit;
use test2;
create table t1 (a int primary key, b char(8)) ENGINE=rocksdb;
insert into t1 values(1, 'a');
insert into t1 values(2, 'b');
create table t2 (a int primary key, b char(8)) ENGINE=rocksdb;
start transaction;
insert into t2 values(1, 'a');
insert into t2 values(2, 'b');
insert into t2 values(3, 'c');
insert into t2 values(4, 'd');
commit;
use test3;
create table t1 (a int primary key, b char(8)) ENGINE=rocksdb;
insert into t1 values(1, 'a');
insert into t1 values(2, 'b');
create table t2 (a int primary key, b char(8)) ENGINE=rocksdb;
start transaction;
insert into t2 values(1, 'a');
insert into t2 values(2, 'b');
insert into t2 values(3, 'c');
insert into t2 values(4, 'd');
commit;
FLUSH LOGS;
==== Output of mysqlbinlog with --short-form --skip-empty-trans, --database and --skip-gtids options ====
/*!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/*!*/;
SET TIMESTAMP=1000000000/*!*/;
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/*!*/;
SET @@session.sql_mode=1073741824/*!*/;
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/*!*/;
create database test2
/*!*/;
use `test2`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
create table t1 (a int primary key, b char(8)) ENGINE=rocksdb
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
BEGIN
/*!*/;
COMMIT/*!*/;
SET TIMESTAMP=1000000000/*!*/;
BEGIN
/*!*/;
COMMIT/*!*/;
SET TIMESTAMP=1000000000/*!*/;
create table t2 (a int primary key, b char(8)) ENGINE=rocksdb
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
BEGIN
/*!*/;
COMMIT/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
use test2;
start transaction;
insert into t2 values(5, 'e');
insert into t2 values(6, 'f');
use test;
insert into t2 values(7, 'g');
insert into t2 values(8, 'h');
commit;
FLUSH LOGS;
==== Output of mysqlbinlog with --short-form --skip-empty-trans, --database and --skip-gtids options ====
==== DB changed in the middle of the transaction, which belongs to the selected database
/*!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 /*!*/;
SET TIMESTAMP=1000000000/*!*/;
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/*!*/;
SET @@session.sql_mode=1073741824/*!*/;
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/*!*/;
BEGIN
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
use test;
start transaction;
insert into t2 values(9, 'i');
insert into t2 values(10, 'j');
use test2;
insert into t2 values(11, 'k');
insert into t2 values(12, 'l');
commit;
FLUSH LOGS;
==== Output of mysqlbinlog with --short-form --skip-empty-trans, --database and --skip-gtids options ====
==== DB changed in the middle of the transaction, which belongs to the non-selected database
/*!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 /*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
use test;
drop table t1;
drop table if exists t2;
use test2;
drop table t1;
drop table if exists t2;
use test3;
drop table t1;
drop table if exists t2;
drop database test2;
drop database test3;
FLUSH LOGS;
|