Bug #36435 rpl_events uses non-deterministic check

Select of the test could not perform deterministically, because the table remains to be 
updatable by the running event handler.

Fixed with changing verification to use a logical values instead of comparison 
with a pre-recorded results.
parent e24f509d
...@@ -41,18 +41,17 @@ let $wait_condition= ...@@ -41,18 +41,17 @@ let $wait_condition=
# check that table t1 contains something # check that table t1 contains something
--echo "Checking event data on the master" --echo "Checking event data on the master"
--enable_info let $events_done=`SELECT count(*) FROM t1 id`;
--replace_column 3 TIMESTAMP --disable_query_log
SELECT * FROM t1 ORDER BY id; eval SELECT $events_done > 0 as ONE;
--disable_info --enable_query_log
sync_slave_with_master; sync_slave_with_master;
--echo "Checking event data on the slave" --echo "Checking event data on the slave"
--enable_info --disable_query_log
--replace_column 3 TIMESTAMP eval SELECT count(*) - $events_done as ZERO FROM t1 id;
SELECT * FROM t1 ORDER BY id; --enable_query_log
--disable_info
--echo "Checking event is inactive on slave" --echo "Checking event is inactive on slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce'; SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
......
...@@ -23,17 +23,11 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name ...@@ -23,17 +23,11 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name
db name status originator db name status originator
test justonce ENABLED 1 test justonce ENABLED 1
"Checking event data on the master" "Checking event data on the master"
SELECT * FROM t1 ORDER BY id; ONE
id c ts 1
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
"Checking event data on the slave" "Checking event data on the slave"
SELECT * FROM t1 ORDER BY id; ZERO
id c ts 0
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
"Checking event is inactive on slave" "Checking event is inactive on slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce'; SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator db name status originator
...@@ -118,17 +112,11 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name ...@@ -118,17 +112,11 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name
db name status originator db name status originator
test justonce ENABLED 1 test justonce ENABLED 1
"Checking event data on the master" "Checking event data on the master"
SELECT * FROM t1 ORDER BY id; ONE
id c ts 1
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
"Checking event data on the slave" "Checking event data on the slave"
SELECT * FROM t1 ORDER BY id; ZERO
id c ts 0
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
"Checking event is inactive on slave" "Checking event is inactive on slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce'; SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator db name status originator
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment