mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
adaf162bc2
Adding an event that can be used to denote that an incident occured on the master. The event can be used to denote a gap in the replication stream, but can also be used to denote other incidents. In addition, the injector interface is extended with functions to generate an incident event. The function will also rotate the binary log after generating an incident event to get a fresh binary log. client/Makefile.am: Adding file rpl_constants.h with constants for replication. mysql-test/extra/binlog_tests/binlog.test: Binlog position change mysql-test/extra/binlog_tests/binlog_insert_delayed.test: Binlog position change mysql-test/extra/binlog_tests/ctype_cp932_binlog.test: Binlog position change mysql-test/extra/binlog_tests/ctype_ucs_binlog.test: Binlog position change mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: Binlog position change mysql-test/extra/rpl_tests/rpl_deadlock.test: Binlog position change mysql-test/extra/rpl_tests/rpl_log.test: Binlog position change mysql-test/extra/rpl_tests/rpl_multi_query.test: Binlog position change mysql-test/extra/rpl_tests/rpl_row_charset.test: Binlog position change mysql-test/extra/rpl_tests/rpl_row_sp002.test: Binlog position change mysql-test/extra/rpl_tests/rpl_row_sp003.test: Binlog position change mysql-test/extra/rpl_tests/rpl_stm_charset.test: Binlog position change mysql-test/include/show_binlog_events.inc: Binlog position change mysql-test/r/binlog_row_binlog.result: Result change mysql-test/r/binlog_row_ctype_ucs.result: Result change mysql-test/r/binlog_row_insert_select.result: Result change mysql-test/r/binlog_row_mix_innodb_myisam.result: Result change mysql-test/r/binlog_stm_binlog.result: Result change mysql-test/r/binlog_stm_ctype_ucs.result: Result change mysql-test/r/binlog_stm_insert_select.result: Result change mysql-test/r/binlog_stm_mix_innodb_myisam.result: Result change mysql-test/r/ctype_cp932_binlog_row.result: Result change mysql-test/r/ctype_cp932_binlog_stm.result: Result change mysql-test/r/flush_block_commit_notembedded.result: Result change mysql-test/r/rpl_000015.result: Result change mysql-test/r/rpl_change_master.result: Result change mysql-test/r/rpl_deadlock_innodb.result: Result change mysql-test/r/rpl_flushlog_loop.result: Result change mysql-test/r/rpl_loaddata.result: Result change mysql-test/r/rpl_loaddata_s.result: Result change mysql-test/r/rpl_log_pos.result: Result change mysql-test/r/rpl_ndb_charset.result: Result change mysql-test/r/rpl_ndb_log.result: Result change mysql-test/r/rpl_ndb_multi.result: Result change mysql-test/r/rpl_rbr_to_sbr.result: Result change mysql-test/r/rpl_rotate_logs.result: Result change mysql-test/r/rpl_row_basic_11bugs.result: Result change mysql-test/r/rpl_row_charset.result: Result change mysql-test/r/rpl_row_create_table.result: Result change mysql-test/r/rpl_row_delayed_ins.result: Result change mysql-test/r/rpl_row_drop.result: Result change mysql-test/r/rpl_row_flsh_tbls.result: Result change mysql-test/r/rpl_row_inexist_tbl.result: Result change mysql-test/r/rpl_row_log.result: Result change mysql-test/r/rpl_row_log_innodb.result: Result change mysql-test/r/rpl_row_max_relay_size.result: Result change mysql-test/r/rpl_row_reset_slave.result: Result change mysql-test/r/rpl_row_until.result: Result change mysql-test/r/rpl_server_id1.result: Result change mysql-test/r/rpl_server_id2.result: Result change mysql-test/r/rpl_sp.result: Result change mysql-test/r/rpl_stm_charset.result: Result change mysql-test/r/rpl_stm_flsh_tbls.result: Result change mysql-test/r/rpl_stm_log.result: Result change mysql-test/r/rpl_stm_max_relay_size.result: Result change mysql-test/r/rpl_stm_multi_query.result: Result change mysql-test/r/rpl_stm_reset_slave.result: Result change mysql-test/r/rpl_stm_until.result: Result change mysql-test/r/rpl_switch_stm_row_mixed.result: Result change mysql-test/r/rpl_truncate_2myisam.result: Result change mysql-test/r/rpl_truncate_3innodb.result: Result change mysql-test/r/rpl_truncate_7ndb.result: Result change mysql-test/r/user_var-binlog.result: Result change mysql-test/t/binlog_row_mix_innodb_myisam.test: Binlog position change mysql-test/t/binlog_stm_mix_innodb_myisam.test: Binlog position change mysql-test/t/ctype_cp932_binlog_stm.test: Binlog position change mysql-test/t/mysqlbinlog.test: Binlog position change mysql-test/t/mysqlbinlog2.test: Binlog position change mysql-test/t/rpl_loaddata_s.test: Binlog position change mysql-test/t/rpl_log_pos.test: Binlog position change mysql-test/t/rpl_row_basic_11bugs.test: Binlog position change mysql-test/t/rpl_row_create_table.test: Binlog position change mysql-test/t/rpl_row_flsh_tbls.test: Binlog position change mysql-test/t/rpl_row_mysqlbinlog.test: Binlog position change mysql-test/t/rpl_sp.test: Binlog position change mysql-test/t/rpl_stm_flsh_tbls.test: Binlog position change mysql-test/t/rpl_switch_stm_row_mixed.test: Binlog position change mysql-test/t/user_var-binlog.test: Binlog position change sql/Makefile.am: Adding file rpl_constants.h with constants for replication. sql/log_event.cc: Changing prototype for read_str() to be const-correct and changing code to match that. Adding incident log event. sql/log_event.h: Adding incident log event. sql/rpl_injector.cc: Adding support for generating incidents into the binary log. sql/rpl_injector.h: Adding support for generating incidents into the binary log. sql/share/errmsg.txt: Adding new error message to indicate an incident. sql/sql_parse.cc: Adding code to generate an incident log event just before executing a REPLACE if the variable "incident_database_resync_on_replace" is set. mysql-test/r/rpl_incident.result: New BitKeeper file ``mysql-test/r/rpl_incident.result'' mysql-test/t/rpl_incident.test: New BitKeeper file ``mysql-test/t/rpl_incident.test'' sql/rpl_constants.h: New BitKeeper file ``sql/rpl_constants.h''
212 lines
12 KiB
Text
212 lines
12 KiB
Text
create table t1 (a int, b int) engine=innodb;
|
|
begin;
|
|
insert into t1 values (1,2);
|
|
commit;
|
|
show binlog events;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 4 Format_desc 1 103 Server ver: #, Binlog ver: #
|
|
master-bin.000001 103 Query 1 210 use `test`; create table t1 (a int, b int) engine=innodb
|
|
master-bin.000001 210 Query 1 278 use `test`; BEGIN
|
|
master-bin.000001 278 Query 1 90 use `test`; insert into t1 values (1,2)
|
|
master-bin.000001 368 Xid 1 395 COMMIT /* XID */
|
|
drop table t1;
|
|
drop table if exists t1, t2;
|
|
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;
|
|
show binlog events from 103;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=innodb
|
|
master-bin.000001 # Query 1 # use `test`; create table t2 (a int) engine=innodb
|
|
master-bin.000001 # Query 1 # use `test`; BEGIN
|
|
master-bin.000001 # Query 1 # use `test`; insert t1 values (5)
|
|
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
|
master-bin.000001 # Query 1 # use `test`; BEGIN
|
|
master-bin.000001 # Query 1 # use `test`; insert t2 values (5)
|
|
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
|
drop table t1,t2;
|
|
reset master;
|
|
create table t1 (n int) engine=innodb;
|
|
begin;
|
|
commit;
|
|
drop table t1;
|
|
show binlog events in 'master-bin.000001' from 103;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (n int) engine=innodb
|
|
master-bin.000001 # Query 1 # use `test`; BEGIN
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(100 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(99 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(98 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(97 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(96 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(95 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(94 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(93 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(92 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(91 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(90 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(89 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(88 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(87 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(86 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(85 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(84 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(83 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(82 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(81 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(80 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(79 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(78 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(77 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(76 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(75 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(74 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(73 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(72 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(71 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(70 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(69 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(68 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(67 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(66 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(65 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(64 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(63 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(62 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(61 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(60 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(59 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(58 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(57 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(56 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(55 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(54 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(53 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(52 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(51 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(50 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(49 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(48 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(47 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(46 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(45 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(44 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(43 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(42 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(41 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(40 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(39 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(38 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(37 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(36 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(35 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(34 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(33 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(32 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(31 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(30 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(29 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(28 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(27 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(26 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(25 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(24 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(23 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(22 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(21 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(20 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(19 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(18 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(17 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(16 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(15 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(14 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(13 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(12 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(11 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(10 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(9 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(8 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(7 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(6 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(5 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(4 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(3 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(2 + 4)
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1 + 4)
|
|
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
|
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
|
|
show binlog events in 'master-bin.000002' from 103;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000002 # Query 1 # use `test`; drop table t1
|
|
reset master;
|
|
create table t1 (id tinyint auto_increment primary key);
|
|
set insert_id=128;
|
|
insert into t1 values(null);
|
|
Warnings:
|
|
Warning 1264 Out of range value for column 'id' at row 1
|
|
select * from t1;
|
|
id
|
|
127
|
|
drop table t1;
|
|
create table t1 (a int);
|
|
create table if not exists t2 select * from t1;
|
|
create temporary table tt1 (a int);
|
|
create table if not exists t3 like tt1;
|
|
show binlog events from 103;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (id tinyint auto_increment primary key)
|
|
master-bin.000001 # Intvar 1 # INSERT_ID=127
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(null)
|
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
|
|
master-bin.000001 # Query 1 # use `test`; create table if not exists t2 select * from t1
|
|
master-bin.000001 # Query 1 # use `test`; create temporary table tt1 (a int)
|
|
master-bin.000001 # Query 1 # use `test`; create table if not exists t3 like tt1
|
|
drop table t1,t2,t3,tt1;
|
|
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
|
set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
|
|
insert delayed into t1 values (207);
|
|
insert delayed into t1 values (null);
|
|
insert delayed into t1 values (300);
|
|
show binlog events from 103;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (id tinyint auto_increment primary key)
|
|
master-bin.000001 # Intvar 1 # INSERT_ID=127
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values(null)
|
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
|
|
master-bin.000001 # Query 1 # use `test`; create table if not exists t2 select * from t1
|
|
master-bin.000001 # Query 1 # use `test`; create temporary table tt1 (a int)
|
|
master-bin.000001 # Query 1 # use `test`; create table if not exists t3 like tt1
|
|
master-bin.000001 # Query 1 # use `test`; drop table t1,t2,t3,tt1
|
|
master-bin.000001 # Query 1 # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
|
|
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
|
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
|
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
|
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
|
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
|
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
|
insert delayed into t1 values (null),(null),(null),(null);
|
|
insert delayed into t1 values (null),(null),(400),(null);
|
|
11 == 11
|
|
select * from t1;
|
|
a
|
|
207
|
|
208
|
|
300
|
|
301
|
|
302
|
|
303
|
|
304
|
|
305
|
|
306
|
|
400
|
|
401
|
|
drop table t1;
|