############################################################################# # Original Author: JBM # # Original Date: Aug/14/2005 # ############################################################################# # Test: This test contains two sp that create and drop tables, insert and # # updated data and uses the NOW() function. # ############################################################################# # Includes -- source include/master-slave.inc # Begin clean up test section connection master; --disable_warnings DROP PROCEDURE IF EXISTS test.p1; DROP PROCEDURE IF EXISTS test.p2; DROP TABLE IF EXISTS test.t2; DROP TABLE IF EXISTS test.t1; DROP TABLE IF EXISTS test.t3; --enable_warnings # End of cleanup # Begin test section 1 delimiter |; CREATE PROCEDURE test.p1() BEGIN CREATE TABLE IF NOT EXISTS test.t1(a INT,PRIMARY KEY(a)); CREATE TABLE IF NOT EXISTS test.t2(a INT,PRIMARY KEY(a)); INSERT INTO test.t1 VALUES (4),(2),(1),(3); UPDATE test.t1 SET a=a+4 WHERE a=4; INSERT INTO test.t2 (a) SELECT t1.a FROM test.t1; UPDATE test.t1 SET a=a+4 WHERE a=8; CREATE TABLE IF NOT EXISTS test.t3(n MEDIUMINT NOT NULL AUTO_INCREMENT, f FLOAT, d DATETIME, PRIMARY KEY(n)); END| CREATE PROCEDURE test.p2() BEGIN DROP TABLE IF EXISTS test.t1; DROP TABLE IF EXISTS test.t2; INSERT INTO test.t3 VALUES(NULL,11111111.233333,NOW()); END| delimiter ;| CALL test.p1(); SELECT * FROM test.t1 ORDER BY a; SELECT * FROM test.t2 ORDER BY a; save_master_pos; connection slave; sync_with_master; SELECT * FROM test.t1 ORDER BY a; SELECT * FROM test.t2 ORDER BY a; connection master; CALL test.p2(); USE test; SHOW TABLES; #SELECT * FROM test.t3; save_master_pos; connection slave; sync_with_master; USE test; SHOW TABLES; #SELECT * FROM test.t3; connection master; CALL test.p1(); SELECT * FROM test.t1 ORDER BY a; SELECT * FROM test.t2 ORDER BY a; #SELECT * FROM test.t3; save_master_pos; connection slave; sync_with_master; SELECT * FROM test.t1 ORDER BY a; SELECT * FROM test.t2 ORDER BY a; #SELECT * FROM test.t3; --exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/sp004_master.sql --exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/sp004_slave.sql # Cleanup connection master; #show binlog events; 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; sync_slave_with_master; # If the test fails, you will need to diff the dumps to see why. diff_files $MYSQLTEST_VARDIR/tmp/sp004_master.sql $MYSQLTEST_VARDIR/tmp/sp004_slave.sql; # End of 5.0 test case --source include/rpl_end.inc