mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
1bd50ced73
- Add missing drop(s) - Reset changed variables NOTE! These kind of problems are easily found with --check-testcases options to mysql-test-run.pl mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: Add missing drop table mysql-test/extra/rpl_tests/rpl_loaddata.test: Add missing drop table mysql-test/extra/rpl_tests/rpl_log.test: Tables where only dropped on slave, switch to master connection before dropping them mysql-test/extra/rpl_tests/rpl_multi_update3.test: Add missing drop table mysql-test/extra/rpl_tests/rpl_row_sp006.test: Add missing drop database mysql-test/include/check-testcase.test: Add option "--skip-lock-tables" when dumping tables, as noone else is using the tables anyway mysql-test/r/ndb_cache_multi.result: Reset query_cache_size after test on both master and "second" master mysqld mysql-test/r/partition.result: Add missing drop procedure mysql-test/r/rpl_drop_db.result: Add missing drop table mysql-test/r/rpl_multi_update3.result: Add missing drop table mysql-test/r/rpl_ndb_multi_update3.result: Add missing drop table mysql-test/r/rpl_ndb_sp006.result: Add missing drop database mysql-test/r/rpl_stm_no_op.result: Add missing drop table mysql-test/r/rpl_variables.result: Reset slave_net_timeout to it's default value after test mysql-test/t/ndb_cache_multi.test: Reset query_cahche_size after test mysql-test/t/partition.test: Add missing drop procedure mysql-test/t/rpl_drop_db.test: Add missing drop table mysql-test/t/rpl_stm_no_op.test: Add missing drop table mysql-test/t/rpl_variables.test: Reset slave_net_timeout to it's default value after test
91 lines
3.1 KiB
Text
91 lines
3.1 KiB
Text
#############################################################################
|
|
# Original Author: JBM #
|
|
# Original Date: Aug/15/2005 #
|
|
# Updated: 08/29/2005 to remove sleeps #
|
|
#############################################################################
|
|
# Test: This test uses two SPs, one to populate a table, and another to use #
|
|
# Cursors, CURRENT_DATE(), loop control, date math and logic control #
|
|
# to populate a table with data from the first table. #
|
|
#############################################################################
|
|
|
|
# Includes
|
|
-- source include/have_binlog_format_row.inc
|
|
-- source include/master-slave.inc
|
|
|
|
# Begin clean up test section
|
|
connection master;
|
|
--disable_warnings
|
|
create database if not exists mysqltest1;
|
|
DROP PROCEDURE IF EXISTS mysqltest1.p1;
|
|
DROP PROCEDURE IF EXISTS mysqltest1.p2;
|
|
DROP TABLE IF EXISTS mysqltest1.t2;
|
|
DROP TABLE IF EXISTS mysqltest1.t1;
|
|
--enable_warnings
|
|
# End of cleanup
|
|
|
|
# Begin test section 1
|
|
eval CREATE TABLE IF NOT EXISTS mysqltest1.t1(name CHAR(16), birth DATE,PRIMARY KEY(name))ENGINE=$engine_type;
|
|
eval CREATE TABLE IF NOT EXISTS mysqltest1.t2(name CHAR(16), age INT ,PRIMARY KEY(name))ENGINE=$engine_type;
|
|
|
|
delimiter |;
|
|
CREATE PROCEDURE mysqltest1.p1()
|
|
BEGIN
|
|
DECLARE done INT DEFAULT 0;
|
|
DECLARE spa CHAR(16);
|
|
DECLARE spb INT;
|
|
DECLARE cur1 CURSOR FOR SELECT name,
|
|
(YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(),5)<RIGHT(birth,5))
|
|
FROM mysqltest1.t1;
|
|
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
|
|
|
|
OPEN cur1;
|
|
|
|
SET AUTOCOMMIT=0;
|
|
REPEAT
|
|
FETCH cur1 INTO spa, spb;
|
|
IF NOT done THEN
|
|
START TRANSACTION;
|
|
INSERT INTO mysqltest1.t2 VALUES (spa,spb);
|
|
COMMIT;
|
|
END IF;
|
|
UNTIL done END REPEAT;
|
|
|
|
SET AUTOCOMMIT=1;
|
|
CLOSE cur1;
|
|
END|
|
|
CREATE PROCEDURE mysqltest1.p2()
|
|
BEGIN
|
|
INSERT INTO mysqltest1.t1 VALUES ('MySQL','1993-02-04'),('ROCKS', '1990-08-27'),('Texas', '1999-03-30'),('kyle','2005-1-1');
|
|
END|
|
|
delimiter ;|
|
|
|
|
CALL mysqltest1.p2();
|
|
sync_slave_with_master;
|
|
|
|
connection master;
|
|
CALL mysqltest1.p1();
|
|
sync_slave_with_master;
|
|
|
|
connection master;
|
|
|
|
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info mysqltest1 > $MYSQLTEST_VARDIR/tmp/sp006_master.sql
|
|
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info mysqltest1 > $MYSQLTEST_VARDIR/tmp/sp006_slave.sql
|
|
|
|
|
|
DROP PROCEDURE IF EXISTS mysqltest1.p1;
|
|
DROP PROCEDURE IF EXISTS mysqltest1.p2;
|
|
DROP TABLE IF EXISTS mysqltest1.t1;
|
|
DROP TABLE IF EXISTS mysqltest1.t2;
|
|
DROP DATABASE mysqltest1;
|
|
|
|
# Lets compare. Note: If they match test will pass, if they do not match
|
|
# the test will show that the diff statement failed and not reject file
|
|
# will be created. You will need to go to the mysql-test dir and diff
|
|
# the files your self to see what is not matching :-) Failed test
|
|
# Dump files will be located in $MYSQLTEST_VARDIR/tmp.
|
|
|
|
exec diff $MYSQLTEST_VARDIR/tmp/sp006_master.sql $MYSQLTEST_VARDIR/tmp/sp006_slave.sql;
|
|
|
|
sync_slave_with_master;
|
|
|
|
# End of 5.1 test case
|