mariadb/mysql-test/r/rpl_row_sp002_innodb.result

240 lines
4 KiB
Text
Raw Normal View History

stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP PROCEDURE IF EXISTS test.p3;
DROP TABLE IF EXISTS test.t3;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1 (a INT AUTO_INCREMENT KEY, t CHAR(6)) ENGINE=INNODB;
CREATE TABLE test.t2 (a INT AUTO_INCREMENT KEY, f INT, FOREIGN KEY(a) REFERENCES test.t1(a) ON DELETE CASCADE) ENGINE=INNODB;
create procedure test.p1(IN i CHAR(6))
begin
INSERT INTO test.t1 (t) VALUES (i);
INSERT INTO test.t2 VALUES (NULL,LAST_INSERT_ID());
end|
create procedure test.p2(IN i INT)
begin
DELETE FROM test.t1 where a < i;
end|
< -- test 1 call p1 -- >
------------------------
SET FOREIGN_KEY_CHECKS=1;
call test.p1('texas');
call test.p1('Live');
call test.p1('next');
call test.p1('to');
call test.p1('OK');
call test.p1('MySQL');
< -- test 1 select master after p1 -- >
---------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 1
2 2
3 3
4 4
5 5
6 6
< -- test 1 select slave after p1 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 1
2 2
3 3
4 4
5 5
6 6
< -- test 1 call p2 & select master -- >
----------------------------------------
call test.p2(4);
SELECT * FROM test.t1;
a t
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
4 4
5 5
6 6
< -- test 1 select slave after p2 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
4 4
5 5
6 6
< -- End test 1 Begin test 2 -- >
---------------------------------
SET FOREIGN_KEY_CHECKS=0;
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1 (a INT, t CHAR(6), PRIMARY KEY(a)) ENGINE=INNODB;
CREATE TABLE test.t2 (a INT, f INT, FOREIGN KEY(a) REFERENCES test.t1(a) ON UPDATE CASCADE, PRIMARY KEY(a)) ENGINE=INNODB;
CREATE PROCEDURE test.p1(IN nm INT, IN ch CHAR(6))
BEGIN
INSERT INTO test.t1 (a,t) VALUES (nm, ch);
INSERT INTO test.t2 VALUES (nm, LAST_INSERT_ID());
END|
CREATE PROCEDURE test.p2(IN i INT)
BEGIN
UPDATE test.t1 SET a = i*10 WHERE a = i;
END|
SET FOREIGN_KEY_CHECKS=1;
CALL test.p1(1,'texas');
CALL test.p1(2,'Live');
CALL test.p1(3,'next');
CALL test.p1(4,'to');
CALL test.p1(5,'OK');
CALL test.p1(6,'MySQL');
< -- test 2 select Master after p1 -- >
---------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 6
2 6
3 6
4 6
5 6
6 6
< -- test 2 select Slave after p1 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
1 texas
2 Live
3 next
4 to
5 OK
6 MySQL
SELECT * FROM test.t2;
a f
1 6
2 6
3 6
4 6
5 6
6 6
< -- test 2 call p2 & select Master -- >
----------------------------------------
CALL test.p2(2);
CALL test.p2(4);
CALL test.p2(6);
SELECT * FROM test.t1;
a t
1 texas
3 next
5 OK
20 Live
40 to
60 MySQL
SELECT * FROM test.t2;
a f
1 6
3 6
5 6
20 6
40 6
60 6
< -- test 1 select Slave after p2 -- >
--------------------------------------
SELECT * FROM test.t1;
a t
1 texas
3 next
5 OK
20 Live
40 to
60 MySQL
SELECT * FROM test.t2;
a f
1 6
3 6
5 6
20 6
40 6
60 6
< -- End test 2 Begin test 3 -- >
---------------------------------
CREATE TABLE test.t3 (a INT AUTO_INCREMENT KEY, t CHAR(6))ENGINE=INNODB;
CREATE PROCEDURE test.p3(IN n INT)
begin
CASE n
WHEN 2 THEN
DELETE from test.t3;
ELSE
INSERT INTO test.t3 VALUES (NULL,'NONE');
END CASE;
end|
SET AUTOCOMMIT=0;
START TRANSACTION;
ROLLBACK;
select * from test.t3;
a t
select * from test.t3;
a t
START TRANSACTION;
COMMIT;
select * from test.t3;
a t
98 NONE
select * from test.t3;
a t
98 NONE
SET AUTOCOMMIT=1;
SET FOREIGN_KEY_CHECKS=0;
DROP PROCEDURE IF EXISTS test.p3;
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;