--source include/have_binlog_format_statement.inc --source include/master-slave.inc call mtr.add_suppression("unsafe because it uses SKIP LOCKED"); --echo # Case-1: BINLOG_STMT_UNSAFE_SKIP_LOCKED --echo # Statement is unsafe because it uses SKIP LOCKED. --echo # Step-1.1: Create and populate a table. --enable_connect_log --connection master CREATE TABLE t1( a INT PRIMARY KEY, b INT ); INSERT INTO t1 VALUES (1, 1), (2, 1), (3, 1); CREATE TABLE t2( a INT, b INT ); CREATE TABLE t3( a INT, b INT ); --echo # Step-1.2: Lock a row in said table. START TRANSACTION; SELECT * FROM t1 WHERE a = 2 FOR UPDATE; --echo # Step-1.3: Populate another table with the unlocked rows. --connect (conn, localhost, root,) --error ER_LOCK_NOWAIT INSERT INTO t2 SELECT * FROM t1 FOR UPDATE NOWAIT; INSERT INTO t2 SELECT * FROM t1 FOR UPDATE SKIP LOCKED; --disconnect conn --connection master ROLLBACK; --echo # Step-1.4: Cleanup DROP TABLE t1, t2, t3; --disable_connect_log --source include/rpl_end.inc