diff options
Diffstat (limited to 'mysql-test/suite/rpl/r/rpl_row_sp009.result')
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_row_sp009.result | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp009.result b/mysql-test/suite/rpl/r/rpl_row_sp009.result new file mode 100644 index 00000000..d4bcfe9f --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_row_sp009.result @@ -0,0 +1,82 @@ +include/master-slave.inc +[connection master] +connection master; +DROP PROCEDURE IF EXISTS test.p1; +DROP TABLE IF EXISTS test.t1; +DROP TABLE IF EXISTS test.t2; +CREATE TABLE test.t1 (a INT, PRIMARY KEY(a)); +INSERT INTO test.t1 VALUES (1),(2),(3),(4); +CREATE TABLE test.t2 (a INT, PRIMARY KEY(a)); +CREATE PROCEDURE test.p1 (arg1 CHAR(1)) +BEGIN +DECLARE b, c INT; +IF arg1 = 'a' THEN +BEGIN +DECLARE cur1 CURSOR FOR SELECT A FROM test.t1 WHERE a % 2; +DECLARE continue handler for not found set b = 1; +SET b = 0; +OPEN cur1; +c1_repeat: REPEAT +FETCH cur1 INTO c; +IF (b = 1) THEN +LEAVE c1_repeat; +END IF; +INSERT INTO test.t2 VALUES (c); +UNTIL b = 1 +END REPEAT; +CLOSE cur1; +END; +END IF; +IF arg1 = 'b' THEN +BEGIN +DECLARE cur2 CURSOR FOR SELECT a FROM test.t1 WHERE NOT a % 2; +DECLARE continue handler for not found set b = 1; +SET b = 0; +OPEN cur2; +c2_repeat: REPEAT +FETCH cur2 INTO c; +IF (b = 1) THEN +LEAVE c2_repeat; +END IF; +INSERT INTO test.t2 VALUES (c); +UNTIL b = 1 +END REPEAT; +CLOSE cur2; +END; +END IF; +END| +CALL test.p1('a'); +SELECT * FROM test.t2 ORDER BY a; +a +1 +3 +connection slave; +SELECT * FROM test.t2 ORDER BY a; +a +1 +3 +connection master; +truncate test.t2; +call test.p1('b'); +select * from test.t2 ORDER BY a; +a +2 +4 +connection slave; +SELECT * FROM test.t2 ORDER BY a; +a +2 +4 +connection master; +truncate test.t2; +SELECT * FROM test.t2 ORDER BY a; +a +connection slave; +SELECT * FROM test.t2 ORDER BY a; +a +connection master; +DROP PROCEDURE test.p1; +DROP TABLE test.t1; +DROP TABLE test.t2; +connection slave; +include/rpl_end.inc |