1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

WL#3629 - Replication of Invocation and Invoked Features

This patch corrects errors that occurred in a local manual merge as a result
of updating the local repository and includes changes necessary to correct 
problems found during the recalculation of next execution of events in RBR.
This commit is contained in:
cbell/Chuck@mysql_cab_desk.
2007-03-29 08:17:19 -04:00
parent 71c4bd1f0a
commit 89838e1008
6 changed files with 80 additions and 61 deletions

View File

@ -6,7 +6,7 @@
##################################################################
--disable_warnings
DROP EVENT IF EXISTS justonce;
DROP EVENT IF EXISTS test.justonce;
drop table if exists t1,t2;
--enable_warnings
@ -23,9 +23,11 @@ CURRENT_TIMESTAMP,
INSERT INTO t1 (c) VALUES ('manually');
# then, we create the event
CREATE EVENT justonce ON SCHEDULE AT NOW() + INTERVAL 2 SECOND DO INSERT INTo t1
CREATE EVENT test.justonce ON SCHEDULE AT NOW() + INTERVAL 2 SECOND DO INSERT INTO t1
(c) VALUES ('from justonce');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
# wait 3 seconds, so the event can trigger
--real_sleep 3
@ -37,7 +39,6 @@ SELECT * FROM t1;
--disable_info
sync_slave_with_master;
connection slave;
--echo "in the slave"
--enable_info
@ -45,6 +46,8 @@ connection slave;
SELECT * FROM t1;
--disable_info
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
# Create an event on the slave and check to see what the originator is.
--disable_warnings
DROP EVENT IF EXISTS test.slave_once;
@ -52,7 +55,7 @@ DROP EVENT IF EXISTS test.slave_once;
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO
INSERT INTO t1(c) VALUES ('from slave_once');
SELECT db, name, status, originator FROM mysql.event;
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once';
--disable_warnings
DROP EVENT IF EXISTS test.slave_once;
@ -61,39 +64,40 @@ DROP EVENT IF EXISTS test.slave_once;
connection master;
# BUG#20384 - disable events on slave
--disable_warnings
DROP EVENT IF EXISTS test.justonce;
--enable_warnings
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO
INSERT INTO t1(c) VALUES ('from er');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'er';
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
sync_slave_with_master;
connection slave;
--echo "in the slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'er';
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
connection master;
--echo "in the master"
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO INSERT into t1(c) VALUES ('from alter er');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'er';
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
sync_slave_with_master;
connection slave;
--echo "in the slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'er';
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
connection master;
--echo "in the master"
DROP EVENT test.er;
--replace column 8 DATETIME
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'er';
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
--disable_info
sync_slave_with_master;
connection slave;
--echo "in the slave"
--replace column 8 DATETIME
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'er';
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
--echo "in the master"
connection master;