BUG#34768 - nondeterministic INSERT using LIMIT logged in stmt mode
if binlog_format=mixed Addition to fix for BUG#34768: fixed test case failures discovered by pushbuild. mysql-test/suite/binlog/r/binlog_stm_ps.result: Fixed binlog_stm_ps failure when binlog format is statement: - this test case makes sence only if binlog format is statement, thus execute it only in this mode; - added a warning that insert ... select ... limit is not safe to execute in statement mode. mysql-test/suite/binlog/t/binlog_stm_ps.test: Fixed binlog_stm_ps failure when binlog format is statement: - this test case makes sence only if binlog format is statement, thus execute it only in this mode; - added a warning that insert ... select ... limit is not safe to execute in statement mode. mysql-test/suite/rpl/t/rpl_optimize.test: rpl_optimize test may be executed in various binlog format modes. In statement mode delete ... limit issues a warning, in mixed and row modes it does not. Fixed a test case so it is still possible to execute it in all binlog format modes by ignoring delete ... limit warnings. mysql-test/suite/rpl/t/rpl_user_variables.test: rpl_user_variables test may be executed in various binlog format modes. In statement mode insert ... select ... limit issues a warning, in mixed and row modes it does not. Fixed a test case so it is still possible to execute it in all binlog format modes by ignoring insert ... select ... limit warnings.
This commit is contained in:
parent
f0e55820df
commit
2b2ae926f4
@ -10,12 +10,13 @@ execute s using @a;
|
||||
prepare s from "insert into t1 select 100 limit ?";
|
||||
set @a=100;
|
||||
execute s using @a;
|
||||
Warnings:
|
||||
Warning 1592 Statement is not safe to log in statement format.
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int)
|
||||
master-bin.000001 # User var # # @`a`=98
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (@a),(98)
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (99)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 select 100 limit 100
|
||||
drop table t1;
|
||||
|
@ -1,7 +1,7 @@
|
||||
# This test is to verify replication with PS
|
||||
|
||||
-- source include/not_embedded.inc
|
||||
-- source include/have_binlog_format_mixed_or_statement.inc
|
||||
-- source include/have_binlog_format_statement.inc
|
||||
|
||||
-- disable_query_log
|
||||
reset master; # get rid of previous tests binlog
|
||||
|
@ -31,7 +31,9 @@ INSERT INTO t1 (a) SELECT null FROM t1;
|
||||
save_master_pos;
|
||||
# a few updates to force OPTIMIZE to do something
|
||||
update t1 set b=(a/2*rand());
|
||||
--disable_warnings
|
||||
delete from t1 order by b limit 10000;
|
||||
--enable_warnings
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
|
@ -315,7 +315,9 @@ create table t1(a int);
|
||||
insert into t1 values (1),(2);
|
||||
prepare s1 from 'insert into t1 select a from t1 limit ?';
|
||||
set @x='1.1';
|
||||
--disable_warnings
|
||||
execute s1 using @x;
|
||||
--enable_warnings
|
||||
select * from t1;
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
|
Loading…
x
Reference in New Issue
Block a user