mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#############################################################################
 | 
						|
# 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
 |