diff options
author | bar@mysql.com/bar.intranet.mysql.r18.ru <> | 2006-12-14 14:05:25 +0400 |
---|---|---|
committer | bar@mysql.com/bar.intranet.mysql.r18.ru <> | 2006-12-14 14:05:25 +0400 |
commit | ba6529d7dd7af92e71fefea9fa170cbeba6ebd39 (patch) | |
tree | cb1b6927cef501ed5a2b98c1a599db28f8e03a2e /mysql-test/r | |
parent | bd8cf7a1340f0dd29a4a70a1aeeec64989252eb3 (diff) | |
download | mariadb-git-ba6529d7dd7af92e71fefea9fa170cbeba6ebd39.tar.gz |
Bug#17642 mysqlbinlog: Restore from row-based binlog fails
Problem: mysqlbinlog_base64 failed sporadically.
Reason: Missing "flush logs" before running $MYSQL_BINLOG,
which could start dumping the log file before server
has finished writting into it.
Fix:
- implementing --force-if-open option to "mysqlbinlog"
- adding --disable-force-if-open to make $MYSQL_BINLOG
fail on non-closed log files, to garantee that nobody
will forget "flush logs" in the future.
- adding "flush logs" into all affected tests.
Diffstat (limited to 'mysql-test/r')
-rw-r--r-- | mysql-test/r/binlog_row_mix_innodb_myisam.result | 1 | ||||
-rw-r--r-- | mysql-test/r/binlog_stm_mix_innodb_myisam.result | 1 | ||||
-rw-r--r-- | mysql-test/r/mysqlbinlog.result | 2 | ||||
-rw-r--r-- | mysql-test/r/mysqlbinlog2.result | 1 | ||||
-rw-r--r-- | mysql-test/r/mysqlbinlog_base64.result | 1 | ||||
-rw-r--r-- | mysql-test/r/user_var-binlog.result | 1 |
6 files changed, 7 insertions, 0 deletions
diff --git a/mysql-test/r/binlog_row_mix_innodb_myisam.result b/mysql-test/r/binlog_row_mix_innodb_myisam.result index bd4e74f51a6..185ca33d4db 100644 --- a/mysql-test/r/binlog_row_mix_innodb_myisam.result +++ b/mysql-test/r/binlog_row_mix_innodb_myisam.result @@ -400,6 +400,7 @@ insert into t2 select * from t1; select get_lock("a",10); get_lock("a",10) 1 +flush logs; select (@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output")) is not null; diff --git a/mysql-test/r/binlog_stm_mix_innodb_myisam.result b/mysql-test/r/binlog_stm_mix_innodb_myisam.result index 360c8c4a811..23f4e50826a 100644 --- a/mysql-test/r/binlog_stm_mix_innodb_myisam.result +++ b/mysql-test/r/binlog_stm_mix_innodb_myisam.result @@ -367,6 +367,7 @@ insert into t2 select * from t1; select get_lock("a",10); get_lock("a",10) 1 +flush logs; select (@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output")) is not null; diff --git a/mysql-test/r/mysqlbinlog.result b/mysql-test/r/mysqlbinlog.result index 0c8c7efc6b0..febf567e48c 100644 --- a/mysql-test/r/mysqlbinlog.result +++ b/mysql-test/r/mysqlbinlog.result @@ -210,6 +210,7 @@ select HEX(f) from t4; HEX(f) 835C flush logs; +flush logs; select * from t5 /* must be (1),(1) */; a 1 @@ -250,3 +251,4 @@ call p1(); 1 drop procedure p1; drop table t1, t2, t03, t04, t3, t4, t5; +flush logs; diff --git a/mysql-test/r/mysqlbinlog2.result b/mysql-test/r/mysqlbinlog2.result index 51ca19654c7..e76ab71fd54 100644 --- a/mysql-test/r/mysqlbinlog2.result +++ b/mysql-test/r/mysqlbinlog2.result @@ -170,6 +170,7 @@ ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; --- Local with 2 binlogs on command line -- +flush logs; /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; diff --git a/mysql-test/r/mysqlbinlog_base64.result b/mysql-test/r/mysqlbinlog_base64.result index c31dbee56c6..33047a8774d 100644 --- a/mysql-test/r/mysqlbinlog_base64.result +++ b/mysql-test/r/mysqlbinlog_base64.result @@ -6,6 +6,7 @@ update t1 set a=a+2 where a=2; update t1 set a=a+2 where a=3; create table t2 (word varchar(20)); load data infile '../std_data_ln/words.dat' into table t2; +flush logs; drop table t1; drop table t2; select * from t1; diff --git a/mysql-test/r/user_var-binlog.result b/mysql-test/r/user_var-binlog.result index 79a0f010c09..1c50289a85d 100644 --- a/mysql-test/r/user_var-binlog.result +++ b/mysql-test/r/user_var-binlog.result @@ -13,6 +13,7 @@ master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES(@`a b`) master-bin.000001 # User var 1 # @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci master-bin.000001 # User var 1 # @`var2`=_binary 0x61 COLLATE binary master-bin.000001 # Query 1 # use `test`; insert into t1 values (@var1),(@var2) +flush logs; /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; |