diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 660be6bce50..b20d5ae5428 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -95,8 +95,10 @@ static bool stop_passed= 0; */ Format_description_log_event* description_event; -static int dump_local_log_entries(const char* logname); -static int dump_remote_log_entries(const char* logname); +static int dump_local_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname); +static int dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname); static int dump_log_entries(const char* logname); static int dump_remote_file(NET* net, const char* fname); static void die(const char* fmt, ...); @@ -1000,8 +1002,22 @@ static MYSQL* safe_connect() static int dump_log_entries(const char* logname) { - return (remote_opt ? dump_remote_log_entries(logname) : - dump_local_log_entries(logname)); + int rc; + PRINT_EVENT_INFO print_event_info; + /* + Set safe delimiter, to dump things + like CREATE PROCEDURE safely + */ + fprintf(result_file, "DELIMITER /*!*/;\n"); + strcpy(print_event_info.delimiter, "/*!*/;"); + + rc= (remote_opt ? dump_remote_log_entries(&print_event_info, logname) : + dump_local_log_entries(&print_event_info, logname)); + + /* Set delimiter back to semicolon */ + fprintf(result_file, "DELIMITER ;\n"); + strcpy(print_event_info.delimiter, ";"); + return rc; } @@ -1066,11 +1082,11 @@ static int check_master_version(MYSQL* mysql, } -static int dump_remote_log_entries(const char* logname) +static int dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname) { char buf[128]; - PRINT_EVENT_INFO print_event_info; ulong len; uint logname_len; NET* net; @@ -1193,7 +1209,7 @@ could be out of memory"); len= 1; // fake Rotate, so don't increment old_off } } - if ((error= process_event(&print_event_info, ev, old_off))) + if ((error= process_event(print_event_info, ev, old_off))) { error= ((error < 0) ? 0 : 1); goto err; @@ -1212,7 +1228,7 @@ could be out of memory"); goto err; } - if ((error= process_event(&print_event_info, ev, old_off))) + if ((error= process_event(print_event_info, ev, old_off))) { my_close(file,MYF(MY_WME)); error= ((error < 0) ? 0 : 1); @@ -1338,11 +1354,11 @@ at offset %lu ; this could be a log format error or read error", } -static int dump_local_log_entries(const char* logname) +static int dump_local_log_entries(PRINT_EVENT_INFO *print_event_info, + const char* logname) { File fd = -1; IO_CACHE cache,*file= &cache; - PRINT_EVENT_INFO print_event_info; byte tmp_buff[BIN_LOG_HEADER_SIZE]; int error= 0; @@ -1429,7 +1445,7 @@ static int dump_local_log_entries(const char* logname) // file->error == 0 means EOF, that's OK, we break in this case break; } - if ((error= process_event(&print_event_info, ev, old_off))) + if ((error= process_event(print_event_info, ev, old_off))) { if (error < 0) error= 0; diff --git a/mysql-test/r/binlog_stm_mix_innodb_myisam.result b/mysql-test/r/binlog_stm_mix_innodb_myisam.result index 8ab6840d441..360c8c4a811 100644 --- a/mysql-test/r/binlog_stm_mix_innodb_myisam.result +++ b/mysql-test/r/binlog_stm_mix_innodb_myisam.result @@ -374,8 +374,8 @@ is not null; is not null 1 select -@a like "%#%error_code=0%ROLLBACK;%ROLLBACK /* added by mysqlbinlog */;%", +@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%", @a not like "%#%error_code=%error_code=%"; -@a like "%#%error_code=0%ROLLBACK;%ROLLBACK /* added by mysqlbinlog */;%" @a not like "%#%error_code=%error_code=%" +@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" @a not like "%#%error_code=%error_code=%" 1 1 drop table t1, t2; diff --git a/mysql-test/r/mysqlbinlog.result b/mysql-test/r/mysqlbinlog.result index c3be791b523..0c8c7efc6b0 100644 --- a/mysql-test/r/mysqlbinlog.result +++ b/mysql-test/r/mysqlbinlog.result @@ -15,31 +15,33 @@ flush logs; --- Local -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1000000000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -drop table if exists t1,t2; -SET TIMESTAMP=1000000000; -create table t1 (word varchar(20)); -SET TIMESTAMP=1000000000; -create table t2 (id int auto_increment not null primary key); -SET TIMESTAMP=1000000000; -insert into t1 values ("abirvalg"); -SET INSERT_ID=1; -SET TIMESTAMP=1000000000; -insert into t2 values (); -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-0' INTO table t1; -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-0' INTO table t1; -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-0' INTO table t1; -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-0' INTO table t1; +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +drop table if exists t1,t2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +create table t1 (word varchar(20))/*!*/; +SET TIMESTAMP=1000000000/*!*/; +create table t2 (id int auto_increment not null primary key)/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 values ("abirvalg")/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t2 values ()/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-0' INTO table t1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-0' INTO table t1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-0' INTO table t1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-0' INTO table t1/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -47,13 +49,15 @@ ROLLBACK /* added by mysqlbinlog */; --- Broken LOAD DATA -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -use test; -SET TIMESTAMP=1000000000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values ("Alas"); +DELIMITER /*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values ("Alas")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -61,8 +65,10 @@ ROLLBACK /* added by mysqlbinlog */; --- --database -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=1; +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=1/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -70,13 +76,15 @@ ROLLBACK /* added by mysqlbinlog */; --- --position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -use test; -SET TIMESTAMP=1000000000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values ("Alas"); +DELIMITER /*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values ("Alas")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -84,31 +92,33 @@ ROLLBACK /* added by mysqlbinlog */; --- Remote -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1000000000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -drop table if exists t1,t2; -SET TIMESTAMP=1000000000; -create table t1 (word varchar(20)); -SET TIMESTAMP=1000000000; -create table t2 (id int auto_increment not null primary key); -SET TIMESTAMP=1000000000; -insert into t1 values ("abirvalg"); -SET INSERT_ID=1; -SET TIMESTAMP=1000000000; -insert into t2 values (); -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-2' INTO table t1; -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-2' INTO table t1; -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-2' INTO table t1; -SET TIMESTAMP=1000000000; -load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-2' INTO table t1; +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +drop table if exists t1,t2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +create table t1 (word varchar(20))/*!*/; +SET TIMESTAMP=1000000000/*!*/; +create table t2 (id int auto_increment not null primary key)/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 values ("abirvalg")/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t2 values ()/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-1-2' INTO table t1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-2-2' INTO table t1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-3-2' INTO table t1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +load data LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-4-2' INTO table t1/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -116,13 +126,15 @@ ROLLBACK /* added by mysqlbinlog */; --- Broken LOAD DATA -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -use test; -SET TIMESTAMP=1000000000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values ("Alas"); +DELIMITER /*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values ("Alas")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -130,8 +142,10 @@ ROLLBACK /* added by mysqlbinlog */; --- --database -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=1; +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=1/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -139,13 +153,15 @@ ROLLBACK /* added by mysqlbinlog */; --- --position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -use test; -SET TIMESTAMP=1000000000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values ("Alas"); +DELIMITER /*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values ("Alas")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -153,22 +169,26 @@ ROLLBACK /* added by mysqlbinlog */; --- reading stdin -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1108844556; -BEGIN; -SET TIMESTAMP=1108844555; -insert t1 values (1); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1108844556/*!*/; +BEGIN/*!*/; +SET TIMESTAMP=1108844555/*!*/; +insert t1 values (1)/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -use test; -SET TIMESTAMP=1108844556; -BEGIN; -SET TIMESTAMP=1108844555; -insert t1 values (1); +DELIMITER /*!*/; +use test/*!*/; +SET TIMESTAMP=1108844556/*!*/; +BEGIN/*!*/; +SET TIMESTAMP=1108844555/*!*/; +insert t1 values (1)/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -194,4 +214,39 @@ select * from t5 /* must be (1),(1) */; a 1 1 +drop procedure if exists p1; +flush logs; +create procedure p1() +begin +select 1; +end; +// +flush logs; +call p1(); +1 +1 +drop procedure p1; +call p1(); +ERROR 42000: PROCEDURE test.p1 does not exist +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +CREATE DEFINER=`root`@`localhost` procedure p1() +begin +select 1; +end/*!*/; +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +call p1(); +1 +1 +drop procedure p1; drop table t1, t2, t03, t04, t3, t4, t5; diff --git a/mysql-test/r/mysqlbinlog2.result b/mysql-test/r/mysqlbinlog2.result index 4d6be811037..51ca19654c7 100644 --- a/mysql-test/r/mysqlbinlog2.result +++ b/mysql-test/r/mysqlbinlog2.result @@ -17,29 +17,31 @@ insert into t1 values(null, "f"); --- Local -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -47,27 +49,29 @@ ROLLBACK /* added by mysqlbinlog */; --- offset -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=1; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=1/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -75,17 +79,19 @@ ROLLBACK /* added by mysqlbinlog */; --- start-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -SET INSERT_ID=4; -use test; -SET TIMESTAMP=1579609946; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +SET INSERT_ID=4/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609946/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -93,23 +99,25 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -117,21 +125,23 @@ ROLLBACK /* added by mysqlbinlog */; --- start-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=3; -use test; -SET TIMESTAMP=1579609944; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=3/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609944/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -139,20 +149,22 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -160,37 +172,41 @@ ROLLBACK /* added by mysqlbinlog */; --- Local with 2 binlogs on command line -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -198,35 +214,39 @@ ROLLBACK /* added by mysqlbinlog */; --- offset -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=1; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=1/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -234,25 +254,29 @@ ROLLBACK /* added by mysqlbinlog */; --- start-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -SET INSERT_ID=4; -use test; -SET TIMESTAMP=1579609946; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +SET INSERT_ID=4/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609946/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -260,30 +284,34 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -291,29 +319,33 @@ ROLLBACK /* added by mysqlbinlog */; --- start-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=3; -use test; -SET TIMESTAMP=1579609944; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=3/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609944/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -321,20 +353,22 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -342,29 +376,31 @@ ROLLBACK /* added by mysqlbinlog */; --- Remote -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -372,27 +408,29 @@ ROLLBACK /* added by mysqlbinlog */; --- offset -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=1; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=1/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -400,17 +438,19 @@ ROLLBACK /* added by mysqlbinlog */; --- start-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -SET INSERT_ID=4; -use test; -SET TIMESTAMP=1579609946; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +SET INSERT_ID=4/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609946/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -418,23 +458,25 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -442,21 +484,23 @@ ROLLBACK /* added by mysqlbinlog */; --- start-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=3; -use test; -SET TIMESTAMP=1579609944; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=3/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609944/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -464,20 +508,22 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -485,37 +531,41 @@ ROLLBACK /* added by mysqlbinlog */; --- Remote with 2 binlogs on command line -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -523,35 +573,39 @@ ROLLBACK /* added by mysqlbinlog */; --- offset -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=1; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=1/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -559,25 +613,29 @@ ROLLBACK /* added by mysqlbinlog */; --- start-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -SET INSERT_ID=4; -use test; -SET TIMESTAMP=1579609946; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +SET INSERT_ID=4/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609946/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -585,30 +643,34 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-position -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -616,29 +678,33 @@ ROLLBACK /* added by mysqlbinlog */; --- start-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET INSERT_ID=3; -use test; -SET TIMESTAMP=1579609944; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -use test; -SET TIMESTAMP=1579609943; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET INSERT_ID=3/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609944/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +DELIMITER ; +DELIMITER /*!*/; +SET INSERT_ID=6/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609943/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -646,20 +712,22 @@ ROLLBACK /* added by mysqlbinlog */; --- stop-datetime -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; @@ -667,32 +735,34 @@ ROLLBACK /* added by mysqlbinlog */; --- to-last-log -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -use test; -SET TIMESTAMP=1579609942; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -create table t1 (a int auto_increment not null primary key, b char(3)); -SET INSERT_ID=1; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "a"); -SET INSERT_ID=2; -SET TIMESTAMP=1579609942; -insert into t1 values(null, "b"); -SET INSERT_ID=3; -SET TIMESTAMP=1579609944; -insert into t1 values(null, "c"); -SET INSERT_ID=4; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "d"); -SET INSERT_ID=5; -SET TIMESTAMP=1579609946; -insert into t1 values(null, "e"); -SET INSERT_ID=6; -SET TIMESTAMP=1579609943; -insert into t1 values(null, "f"); +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=1579609942/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (a int auto_increment not null primary key, b char(3))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "a")/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1579609942/*!*/; +insert into t1 values(null, "b")/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1579609944/*!*/; +insert into t1 values(null, "c")/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "d")/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1579609946/*!*/; +insert into t1 values(null, "e")/*!*/; +SET INSERT_ID=6/*!*/; +SET TIMESTAMP=1579609943/*!*/; +insert into t1 values(null, "f")/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; diff --git a/mysql-test/r/rpl_stm_charset.result b/mysql-test/r/rpl_stm_charset.result index 12f5b636125..7f4a732eb53 100644 --- a/mysql-test/r/rpl_stm_charset.result +++ b/mysql-test/r/rpl_stm_charset.result @@ -176,84 +176,86 @@ hex(c1) hex(c2) CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3 /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET TIMESTAMP=1000000000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -drop database if exists mysqltest2; -SET TIMESTAMP=1000000000; -drop database if exists mysqltest3; -SET TIMESTAMP=1000000000; -create database mysqltest2 character set latin2; -SET TIMESTAMP=1000000000; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=30; -create database mysqltest3; -SET TIMESTAMP=1000000000; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=64; -drop database mysqltest3; -SET TIMESTAMP=1000000000; -create database mysqltest3; -use mysqltest2; -SET TIMESTAMP=1000000000; -create table t1 (a int auto_increment primary key, b varchar(100)); -SET INSERT_ID=1; -SET TIMESTAMP=1000000000; -/*!\C cp850 */; -SET @@session.character_set_client=4,@@session.collation_connection=27,@@session.collation_server=64; -insert into t1 (b) values(@@character_set_server); -SET INSERT_ID=2; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(@@collation_server); -SET INSERT_ID=3; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(@@character_set_client); -SET INSERT_ID=4; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(@@character_set_connection); -SET INSERT_ID=5; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(@@collation_connection); -SET TIMESTAMP=1000000000; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=5,@@session.collation_server=64; -truncate table t1; -SET INSERT_ID=1; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(@@collation_connection); -SET INSERT_ID=2; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(LEAST("Müller","Muffler")); -SET INSERT_ID=3; -SET TIMESTAMP=1000000000; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=31,@@session.collation_server=64; -insert into t1 (b) values(@@collation_connection); -SET INSERT_ID=4; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(LEAST("Müller","Muffler")); -SET TIMESTAMP=1000000000; -truncate table t1; -SET INSERT_ID=1; -SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`; -SET TIMESTAMP=1000000000; -insert into t1 (b) values(collation(@a)); -SET TIMESTAMP=1000000000; -drop database mysqltest2; -SET TIMESTAMP=1000000000; -drop database mysqltest3; -use test; -SET TIMESTAMP=1000000000; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=30; -CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255)); -SET TIMESTAMP=1000000000; -/*!\C koi8r */; -SET @@session.character_set_client=7,@@session.collation_connection=51,@@session.collation_server=30; -INSERT INTO t1 (c1, c2) VALUES ('îÕ, ÚÁ ÒÙÂÁÌËÕ','îÕ, ÚÁ ÒÙÂÁÌËÕ'); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +drop database if exists mysqltest2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +drop database if exists mysqltest3/*!*/; +SET TIMESTAMP=1000000000/*!*/; +create database mysqltest2 character set latin2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=30/*!*/; +create database mysqltest3/*!*/; +SET TIMESTAMP=1000000000/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=64/*!*/; +drop database mysqltest3/*!*/; +SET TIMESTAMP=1000000000/*!*/; +create database mysqltest3/*!*/; +use mysqltest2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +create table t1 (a int auto_increment primary key, b varchar(100))/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +/*!\C cp850 *//*!*/; +SET @@session.character_set_client=4,@@session.collation_connection=27,@@session.collation_server=64/*!*/; +insert into t1 (b) values(@@character_set_server)/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(@@collation_server)/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(@@character_set_client)/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(@@character_set_connection)/*!*/; +SET INSERT_ID=5/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(@@collation_connection)/*!*/; +SET TIMESTAMP=1000000000/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=5,@@session.collation_server=64/*!*/; +truncate table t1/*!*/; +SET INSERT_ID=1/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(@@collation_connection)/*!*/; +SET INSERT_ID=2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(LEAST("Müller","Muffler"))/*!*/; +SET INSERT_ID=3/*!*/; +SET TIMESTAMP=1000000000/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=31,@@session.collation_server=64/*!*/; +insert into t1 (b) values(@@collation_connection)/*!*/; +SET INSERT_ID=4/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(LEAST("Müller","Muffler"))/*!*/; +SET TIMESTAMP=1000000000/*!*/; +truncate table t1/*!*/; +SET INSERT_ID=1/*!*/; +SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`/*!*/; +SET TIMESTAMP=1000000000/*!*/; +insert into t1 (b) values(collation(@a))/*!*/; +SET TIMESTAMP=1000000000/*!*/; +drop database mysqltest2/*!*/; +SET TIMESTAMP=1000000000/*!*/; +drop database mysqltest3/*!*/; +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=30/*!*/; +CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255))/*!*/; +SET TIMESTAMP=1000000000/*!*/; +/*!\C koi8r *//*!*/; +SET @@session.character_set_client=7,@@session.collation_connection=51,@@session.collation_server=30/*!*/; +INSERT INTO t1 (c1, c2) VALUES ('îÕ, ÚÁ ÒÙÂÁÌËÕ','îÕ, ÚÁ ÒÙÂÁÌËÕ')/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; diff --git a/mysql-test/r/rpl_timezone.result b/mysql-test/r/rpl_timezone.result index 4ad6afa8c94..b9b6a3e5c44 100644 --- a/mysql-test/r/rpl_timezone.result +++ b/mysql-test/r/rpl_timezone.result @@ -39,6 +39,38 @@ SELECT * FROM t1 ORDER BY n; t n 2004-01-01 00:00:00 5 2004-06-11 09:39:02 6 +select * from t1; +t +2004-01-01 00:00:00 +2004-06-11 09:39:02 +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +ROLLBACK/*!*/; +use test/*!*/; +SET TIMESTAMP=100000000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +create table t1 (t timestamp)/*!*/; +SET TIMESTAMP=100000000/*!*/; +create table t2 (t char(32))/*!*/; +SET TIMESTAMP=100000000/*!*/; +SET @@session.time_zone='Europe/Moscow'/*!*/; +insert into t1 values ('20050101000000'), ('20050611093902')/*!*/; +SET TIMESTAMP=100000000/*!*/; +SET @@session.time_zone='UTC'/*!*/; +insert into t1 values ('20040101000000'), ('20040611093902')/*!*/; +SET TIMESTAMP=100000000/*!*/; +delete from t1/*!*/; +SET TIMESTAMP=100000000/*!*/; +SET @@session.time_zone='Europe/Moscow'/*!*/; +insert into t1 values ('20040101000000'), ('20040611093902')/*!*/; +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; delete from t1; set time_zone='UTC'; load data infile '../std_data_ln/rpl_timezone2.dat' into table t1; diff --git a/mysql-test/r/user_var-binlog.result b/mysql-test/r/user_var-binlog.result index 8813d2b499f..79a0f010c09 100644 --- a/mysql-test/r/user_var-binlog.result +++ b/mysql-test/r/user_var-binlog.result @@ -15,19 +15,21 @@ master-bin.000001 # User var 1 # @`var2`=_binary 0x61 COLLATE binary master-bin.000001 # Query 1 # use `test`; insert into t1 values (@var1),(@var2) /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; -ROLLBACK; -SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`; -use test; -SET TIMESTAMP=10000; -SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1; -SET @@session.sql_mode=0; -/*!\C latin1 */; -SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; -INSERT INTO t1 VALUES(@`a b`); -SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`; -SET @`var2`:=_binary 0x61 COLLATE `binary`; -SET TIMESTAMP=10000; -insert into t1 values (@var1),(@var2); +DELIMITER /*!*/; +ROLLBACK/*!*/; +SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`/*!*/; +use test/*!*/; +SET TIMESTAMP=10000/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +INSERT INTO t1 VALUES(@`a b`)/*!*/; +SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`/*!*/; +SET @`var2`:=_binary 0x61 COLLATE `binary`/*!*/; +SET TIMESTAMP=10000/*!*/; +insert into t1 values (@var1),(@var2)/*!*/; +DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; diff --git a/mysql-test/t/mysqlbinlog.test b/mysql-test/t/mysqlbinlog.test index 8e2035f45b0..a76bb9a2757 100644 --- a/mysql-test/t/mysqlbinlog.test +++ b/mysql-test/t/mysqlbinlog.test @@ -136,6 +136,30 @@ flush logs; --exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000006 | $MYSQL select * from t5 /* must be (1),(1) */; +# +# Bug#20396 Bin Log does not get DELIMETER cmd - Recover StoredProc fails +# +--disable_warnings +drop procedure if exists p1; +--enable_warnings +flush logs; +delimiter //; +create procedure p1() +begin +select 1; +end; +// +delimiter ;// +flush logs; +call p1(); +drop procedure p1; +--error 1305 +call p1(); +--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000007 +--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000007 | $MYSQL +call p1(); +drop procedure p1; + # clean up drop table t1, t2, t03, t04, t3, t4, t5; diff --git a/sql/log_event.cc b/sql/log_event.cc index 4822daf5fe8..7cdfab2cf00 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -1183,7 +1183,7 @@ void Log_event::print_base64(IO_CACHE* file, my_b_printf(file, "%s\n", tmp_str); if (!more) - my_b_printf(file, "';\n"); + my_b_printf(file, "'%s\n", print_event_info->delimiter); my_free(tmp_str, MYF(0)); DBUG_VOID_RETURN; @@ -1708,15 +1708,16 @@ void Query_log_event::print_query_header(IO_CACHE* file, if (different_db= memcmp(print_event_info->db, db, db_len + 1)) memcpy(print_event_info->db, db, db_len + 1); if (db[0] && different_db) - my_b_printf(file, "use %s;\n", db); + my_b_printf(file, "use %s%s\n", db, print_event_info->delimiter); } end=int10_to_str((long) when, strmov(buff,"SET TIMESTAMP="),10); - *end++=';'; + end= strmov(end, print_event_info->delimiter); *end++='\n'; my_b_write(file, (byte*) buff, (uint) (end-buff)); if (flags & LOG_EVENT_THREAD_SPECIFIC_F) - my_b_printf(file,"SET @@session.pseudo_thread_id=%lu;\n",(ulong)thread_id); + my_b_printf(file,"SET @@session.pseudo_thread_id=%lu%s\n", + (ulong)thread_id, print_event_info->delimiter); /* If flags2_inited==0, this is an event from 3.23 or 4.0; nothing to @@ -1745,7 +1746,7 @@ void Query_log_event::print_query_header(IO_CACHE* file, "@@session.sql_auto_is_null", &need_comma); print_set_option(file, tmp, OPTION_RELAXED_UNIQUE_CHECKS, ~flags2, "@@session.unique_checks", &need_comma); - my_b_printf(file,";\n"); + my_b_printf(file,"%s\n", print_event_info->delimiter); print_event_info->flags2= flags2; } } @@ -1773,15 +1774,17 @@ void Query_log_event::print_query_header(IO_CACHE* file, } if (unlikely(print_event_info->sql_mode != sql_mode)) { - my_b_printf(file,"SET @@session.sql_mode=%lu;\n",(ulong)sql_mode); + my_b_printf(file,"SET @@session.sql_mode=%lu%s\n", + (ulong)sql_mode, print_event_info->delimiter); print_event_info->sql_mode= sql_mode; } } if (print_event_info->auto_increment_increment != auto_increment_increment || print_event_info->auto_increment_offset != auto_increment_offset) { - my_b_printf(file,"SET @@session.auto_increment_increment=%lu, @@session.auto_increment_offset=%lu;\n", - auto_increment_increment,auto_increment_offset); + my_b_printf(file,"SET @@session.auto_increment_increment=%lu, @@session.auto_increment_offset=%lu%s\n", + auto_increment_increment,auto_increment_offset, + print_event_info->delimiter); print_event_info->auto_increment_increment= auto_increment_increment; print_event_info->auto_increment_offset= auto_increment_offset; } @@ -1801,16 +1804,18 @@ void Query_log_event::print_query_header(IO_CACHE* file, if (cs_info) { /* for mysql client */ - my_b_printf(file, "/*!\\C %s */;\n", cs_info->csname); + my_b_printf(file, "/*!\\C %s */%s\n", + cs_info->csname, print_event_info->delimiter); } my_b_printf(file,"SET " "@@session.character_set_client=%d," "@@session.collation_connection=%d," "@@session.collation_server=%d" - ";\n", + "%s\n", uint2korr(charset), uint2korr(charset+2), - uint2korr(charset+4)); + uint2korr(charset+4), + print_event_info->delimiter); memcpy(print_event_info->charset, charset, 6); } } @@ -1818,7 +1823,8 @@ void Query_log_event::print_query_header(IO_CACHE* file, { if (bcmp(print_event_info->time_zone_str, time_zone_str, time_zone_len+1)) { - my_b_printf(file,"SET @@session.time_zone='%s';\n", time_zone_str); + my_b_printf(file,"SET @@session.time_zone='%s'%s\n", + time_zone_str, print_event_info->delimiter); memcpy(print_event_info->time_zone_str, time_zone_str, time_zone_len+1); } } @@ -1831,7 +1837,7 @@ void Query_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) print_query_header(&cache, print_event_info); my_b_write(&cache, (byte*) query, q_len); - my_b_printf(&cache, ";\n"); + my_b_printf(&cache, "%s\n", print_event_info->delimiter); } #endif /* MYSQL_CLIENT */ @@ -2188,9 +2194,9 @@ void Start_log_event_v3::print(FILE* file, PRINT_EVENT_INFO* print_event_info) and rollback unfinished transaction. Probably this can be done with RESET CONNECTION (syntax to be defined). */ - my_b_printf(&cache,"RESET CONNECTION;\n"); + my_b_printf(&cache,"RESET CONNECTION%s\n", print_event_info->delimiter); #else - my_b_printf(&cache,"ROLLBACK;\n"); + my_b_printf(&cache,"ROLLBACK%s\n", print_event_info->delimiter); #endif } DBUG_VOID_RETURN; @@ -2945,15 +2951,16 @@ void Load_log_event::print(FILE* file_arg, PRINT_EVENT_INFO* print_event_info, } if (db && db[0] && different_db) - my_b_printf(&cache, "%suse %s;\n", + my_b_printf(&cache, "%suse %s%s\n", commented ? "# " : "", - db); + db, print_event_info->delimiter); if (flags & LOG_EVENT_THREAD_SPECIFIC_F) - my_b_printf(&cache,"%sSET @@session.pseudo_thread_id=%lu;\n", - commented ? "# " : "", (ulong)thread_id); + my_b_printf(&cache,"%sSET @@session.pseudo_thread_id=%lu%s\n", + commented ? "# " : "", (ulong)thread_id, + print_event_info->delimiter); my_b_printf(&cache, "%sLOAD DATA ", - commented ? "# " : ""); + commented ? "# " : ""); if (check_fname_outside_temp_buf()) my_b_printf(&cache, "LOCAL "); my_b_printf(&cache, "INFILE '%-*s' ", fname_len, fname); @@ -3003,7 +3010,7 @@ void Load_log_event::print(FILE* file_arg, PRINT_EVENT_INFO* print_event_info, my_b_printf(&cache, ")"); } - my_b_printf(&cache, ";\n"); + my_b_printf(&cache, "%s\n", print_event_info->delimiter); DBUG_VOID_RETURN; } #endif /* MYSQL_CLIENT */ @@ -3582,7 +3589,8 @@ void Intvar_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) msg="INVALID_INT"; break; } - my_b_printf(&cache, "%s=%s;\n", msg, llstr(val,llbuff)); + my_b_printf(&cache, "%s=%s%s\n", + msg, llstr(val,llbuff), print_event_info->delimiter); } #endif @@ -3660,8 +3668,9 @@ void Rand_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) print_header(&cache, print_event_info, FALSE); my_b_printf(&cache, "\tRand\n"); } - my_b_printf(&cache, "SET @@RAND_SEED1=%s, @@RAND_SEED2=%s;\n", - llstr(seed1, llbuff),llstr(seed2, llbuff2)); + my_b_printf(&cache, "SET @@RAND_SEED1=%s, @@RAND_SEED2=%s%s\n", + llstr(seed1, llbuff),llstr(seed2, llbuff2), + print_event_info->delimiter); } #endif /* MYSQL_CLIENT */ @@ -3734,7 +3743,7 @@ void Xid_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) print_header(&cache, print_event_info, FALSE); my_b_printf(&cache, "\tXid = %s\n", buf); } - my_b_printf(&cache, "COMMIT;\n"); + my_b_printf(&cache, "COMMIT%s\n", print_event_info->delimiter); } #endif /* MYSQL_CLIENT */ @@ -3939,7 +3948,7 @@ void User_var_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) if (is_null) { - my_b_printf(&cache, ":=NULL;\n"); + my_b_printf(&cache, ":=NULL%s\n", print_event_info->delimiter); } else { @@ -3947,12 +3956,12 @@ void User_var_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) case REAL_RESULT: double real_val; float8get(real_val, val); - my_b_printf(&cache, ":=%.14g;\n", real_val); + my_b_printf(&cache, ":=%.14g%s\n", real_val, print_event_info->delimiter); break; case INT_RESULT: char int_buf[22]; longlong10_to_str(uint8korr(val), int_buf, -10); - my_b_printf(&cache, ":=%s;\n", int_buf); + my_b_printf(&cache, ":=%s%s\n", int_buf, print_event_info->delimiter); break; case DECIMAL_RESULT: { @@ -3968,7 +3977,7 @@ void User_var_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) bin2decimal(val+2, &dec, precision, scale); decimal2string(&dec, str_buf, &str_len, 0, 0, 0); str_buf[str_len]= 0; - my_b_printf(&cache, ":=%s;\n",str_buf); + my_b_printf(&cache, ":=%s%s\n", str_buf, print_event_info->delimiter); break; } case STRING_RESULT: @@ -4004,9 +4013,11 @@ void User_var_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) Generate an unusable command (=> syntax error) is probably the best thing we can do here. */ - my_b_printf(&cache, ":=???;\n"); + my_b_printf(&cache, ":=???%s\n", print_event_info->delimiter); else - my_b_printf(&cache, ":=_%s %s COLLATE `%s`;\n", cs->csname, hex_str, cs->name); + my_b_printf(&cache, ":=_%s %s COLLATE `%s`%s\n", + cs->csname, hex_str, cs->name, + print_event_info->delimiter); my_afree(hex_str); } break; @@ -5108,12 +5119,12 @@ void Execute_load_query_log_event::print(FILE* file, my_b_printf(&cache, " REPLACE"); my_b_printf(&cache, " INTO"); my_b_write(&cache, (byte*) query + fn_pos_end, q_len-fn_pos_end); - my_b_printf(&cache, ";\n"); + my_b_printf(&cache, "%s\n", print_event_info->delimiter); } else { my_b_write(&cache, (byte*) query, q_len); - my_b_printf(&cache, ";\n"); + my_b_printf(&cache, "%s\n", print_event_info->delimiter); } if (!print_event_info->short_form) diff --git a/sql/log_event.h b/sql/log_event.h index 8ffbfa7743c..3e50f04e0e1 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -537,6 +537,7 @@ typedef struct st_print_event_info bzero(db, sizeof(db)); bzero(charset, sizeof(charset)); bzero(time_zone_str, sizeof(time_zone_str)); + strcpy(delimiter, ";"); uint const flags = MYF(MY_WME | MY_NABP); init_io_cache(&head_cache, -1, 0, WRITE_CACHE, 0L, FALSE, flags); init_io_cache(&body_cache, -1, 0, WRITE_CACHE, 0L, FALSE, flags); @@ -553,6 +554,7 @@ typedef struct st_print_event_info bool base64_output; my_off_t hexdump_from; uint8 common_header_len; + char delimiter[16]; /* These two caches are used by the row-based replication events to