From 678116f8aa50c5518e5b37ccf7820cb6b630cd82 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 12 Jan 2006 17:05:25 +0100 Subject: [PATCH] rpl_sp.test, disabled.def, rpl_stm_mystery22.test: Test cleanip per lars .del-rpl_row_sp000.result~2b24650b123e20a9: Delete: mysql-test/r/rpl_row_sp000.result .del-rpl_row_sp000.test~645e2807516682b6: Delete: mysql-test/t/rpl_row_sp000.test .del-rpl_row_sp000-slave.opt~d84baa1f59616d77: Delete: mysql-test/t/rpl_row_sp000-slave.opt .del-rpl_row_sp000-master.opt~da625c0a51a2f08a: Delete: mysql-test/t/rpl_row_sp000-master.opt rpl_sp.result: Rename: mysql-test/r/rpl_stm_sp.result -> mysql-test/r/rpl_sp.result rpl_sp-master.opt: Rename: mysql-test/t/rpl_stm_sp-master.opt -> mysql-test/t/rpl_sp-master.opt rpl_sp-slave.opt: Rename: mysql-test/t/rpl_stm_sp-slave.opt -> mysql-test/t/rpl_sp-slave.opt rpl_sp.test: Rename: mysql-test/t/rpl_stm_sp.test -> mysql-test/t/rpl_sp.test mysql-test/t/rpl_sp-slave.opt: Rename: mysql-test/t/rpl_stm_sp-slave.opt -> mysql-test/t/rpl_sp-slave.opt mysql-test/t/rpl_sp-master.opt: Rename: mysql-test/t/rpl_stm_sp-master.opt -> mysql-test/t/rpl_sp-master.opt mysql-test/r/rpl_sp.result: Rename: mysql-test/r/rpl_stm_sp.result -> mysql-test/r/rpl_sp.result BitKeeper/deleted/.del-rpl_row_sp000-master.opt~da625c0a51a2f08a: Delete: mysql-test/t/rpl_row_sp000-master.opt BitKeeper/deleted/.del-rpl_row_sp000-slave.opt~d84baa1f59616d77: Delete: mysql-test/t/rpl_row_sp000-slave.opt BitKeeper/deleted/.del-rpl_row_sp000.test~645e2807516682b6: Delete: mysql-test/t/rpl_row_sp000.test BitKeeper/deleted/.del-rpl_row_sp000.result~2b24650b123e20a9: Delete: mysql-test/r/rpl_row_sp000.result mysql-test/t/rpl_stm_mystery22.test: Test cleanip per lars mysql-test/t/disabled.def: Test cleanip per lars mysql-test/t/rpl_sp.test: Test cleanip per lars --- mysql-test/r/rpl_row_sp000.result | 365 ------------------ .../r/{rpl_stm_sp.result => rpl_sp.result} | 0 mysql-test/t/disabled.def | 3 +- mysql-test/t/rpl_row_sp000-slave.opt | 1 - mysql-test/t/rpl_row_sp000.test | 331 ---------------- ...row_sp000-master.opt => rpl_sp-master.opt} | 0 ...{rpl_stm_sp-slave.opt => rpl_sp-slave.opt} | 0 mysql-test/t/{rpl_stm_sp.test => rpl_sp.test} | 1 - mysql-test/t/rpl_stm_mystery22.test | 18 +- mysql-test/t/rpl_stm_sp-master.opt | 1 - 10 files changed, 17 insertions(+), 703 deletions(-) delete mode 100644 mysql-test/r/rpl_row_sp000.result rename mysql-test/r/{rpl_stm_sp.result => rpl_sp.result} (100%) delete mode 100644 mysql-test/t/rpl_row_sp000-slave.opt delete mode 100644 mysql-test/t/rpl_row_sp000.test rename mysql-test/t/{rpl_row_sp000-master.opt => rpl_sp-master.opt} (100%) rename mysql-test/t/{rpl_stm_sp-slave.opt => rpl_sp-slave.opt} (100%) rename mysql-test/t/{rpl_stm_sp.test => rpl_sp.test} (99%) delete mode 100644 mysql-test/t/rpl_stm_sp-master.opt diff --git a/mysql-test/r/rpl_row_sp000.result b/mysql-test/r/rpl_row_sp000.result deleted file mode 100644 index c02fdecf7fd..00000000000 --- a/mysql-test/r/rpl_row_sp000.result +++ /dev/null @@ -1,365 +0,0 @@ -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 database if exists mysqltest1; -create database mysqltest1; -use mysqltest1; -create table t1 (a varchar(100)); -use mysqltest1; -create procedure foo() -begin -declare b int; -set b = 8; -insert into t1 values (b); -insert into t1 values (unix_timestamp()); -end| -select * from mysql.proc where name='foo' and db='mysqltest1'; -db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment -mysqltest1 foo PROCEDURE foo SQL CONTAINS_SQL NO DEFINER begin -declare b int; -set b = 8; -insert into t1 values (b); -insert into t1 values (unix_timestamp()); -end root@localhost # # -select * from mysql.proc where name='foo' and db='mysqltest1'; -db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment -mysqltest1 foo PROCEDURE foo SQL CONTAINS_SQL NO DEFINER begin -declare b int; -set b = 8; -insert into t1 values (b); -insert into t1 values (unix_timestamp()); -end root@localhost # # -set timestamp=1000000000; -call foo(); -select * from t1; -a -8 -1000000000 -select * from t1; -a -8 -1000000000 -delete from t1; -create procedure foo2() -not deterministic -select * from mysqltest1.t1; -call foo2(); -a -alter procedure foo2 contains sql; -drop table t1; -create table t1 (a int); -create table t2 (a int); -create procedure foo3() -deterministic -insert into t1 values (15); -grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1; -grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1; -grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1; -SELECT 1; -1 -1 -create procedure foo4() -deterministic -begin -insert into t2 values(3); -insert into t1 values (5); -end| -call foo4(); -Got one of the listed errors -call foo3(); -show warnings; -Level Code Message -call foo4(); -Got one of the listed errors -alter procedure foo4 sql security invoker; -call foo4(); -show warnings; -Level Code Message -select * from t1; -a -15 -5 -select * from t2; -a -3 -3 -3 -select * from t1; -a -15 -5 -select * from t2; -a -3 -3 -3 -delete from t2; -alter table t2 add unique (a); -drop procedure foo4; -create procedure foo4() -deterministic -begin -insert into t2 values(20),(20); -end| -call foo4(); -ERROR 23000: Duplicate entry '20' for key 1 -show warnings; -Level Code Message -Error 1062 Duplicate entry '20' for key 1 -select * from t2; -a -20 -select * from t2; -a -20 -select * from mysql.proc where name="foo4" and db='mysqltest1'; -db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment -mysqltest1 foo4 PROCEDURE foo4 SQL CONTAINS_SQL YES DEFINER begin -insert into t2 values(20),(20); -end root@localhost # # -drop procedure foo4; -select * from mysql.proc where name="foo4" and db='mysqltest1'; -db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment -select * from mysql.proc where name="foo4" and db='mysqltest1'; -db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment -drop procedure foo; -drop procedure foo2; -drop procedure foo3; -create function fn1(x int) -returns int -deterministic -begin -insert into t1 values (x); -return x+2; -end| -delete t1,t2 from t1,t2; -select fn1(20); -fn1(20) -22 -insert into t2 values(fn1(21)); -select * from t1; -a -21 -20 -select * from t2; -a -23 -select * from t1; -a -21 -20 -select * from t2; -a -23 -drop function fn1; -create function fn1() -returns int -begin -return unix_timestamp(); -end| -alter function fn1 no sql; -delete from t1; -set timestamp=1000000000; -insert into t1 values(fn1()); -create function fn2() -returns int -no sql -begin -return unix_timestamp(); -end| -create function fn3() -returns int -not deterministic -reads sql data -begin -return 0; -end| -select fn3(); -fn3() -0 -select * from mysql.proc where db='mysqltest1'; -db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment -mysqltest1 fn1 FUNCTION fn1 SQL NO_SQL NO DEFINER int(11) begin -return unix_timestamp(); -end root@localhost # # -mysqltest1 fn2 FUNCTION fn2 SQL NO_SQL NO DEFINER int(11) begin -return unix_timestamp(); -end zedjzlcsjhd@localhost # # -mysqltest1 fn3 FUNCTION fn3 SQL READS_SQL_DATA NO DEFINER int(11) begin -return 0; -end root@localhost # # -select * from t1; -a -1000000000 -use mysqltest1; -select * from t1; -a -1000000000 -select * from mysql.proc where db='mysqltest1'; -db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment -mysqltest1 fn1 FUNCTION fn1 SQL NO_SQL NO DEFINER int(11) begin -return unix_timestamp(); -end root@localhost # # -mysqltest1 fn2 FUNCTION fn2 SQL NO_SQL NO DEFINER int(11) begin -return unix_timestamp(); -end zedjzlcsjhd@localhost # # -mysqltest1 fn3 FUNCTION fn3 SQL READS_SQL_DATA NO DEFINER int(11) begin -return 0; -end root@localhost # # -delete from t2; -alter table t2 add unique (a); -drop function fn1; -create function fn1() -returns int -begin -insert into t2 values(20),(20); -return 10; -end| -select fn1(); -ERROR 23000: Duplicate entry '20' for key 1 -select * from t2; -a -20 -select * from t2; -a -20 -create trigger trg before insert on t1 for each row set new.a= 10; -ERROR 42000: Access denied; you need the SUPER privilege for this operation -delete from t1; -create trigger trg before insert on t1 for each row set new.a= 10; -insert into t1 values (1); -select * from t1; -a -10 -select * from t1; -a -10 -delete from t1; -drop trigger trg; -insert into t1 values (1); -select * from t1; -a -1 -show binlog events in 'master-bin.000001' from 102; -Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Query 1 # drop database if exists mysqltest1 -master-bin.000001 # Query 1 # create database mysqltest1 -master-bin.000001 # Query 1 # use `mysqltest1`; create table t1 (a varchar(100)) -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1 -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Update_rows 1 # -master-bin.000001 # Query 1 # use `mysqltest1`; drop table t1 -master-bin.000001 # Query 1 # use `mysqltest1`; create table t1 (a int) -master-bin.000001 # Query 1 # use `mysqltest1`; create table t2 (a int) -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.user -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.db -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.tables_priv -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.tables_priv -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.procs_priv -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t2 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t2 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Update_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t2 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Query 1 # use `mysqltest1`; delete from t2 -master-bin.000001 # Query 1 # use `mysqltest1`; alter table t2 add unique (a) -master-bin.000001 # Table_map 1 # mysql.procs_priv -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t2 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t2 -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t2 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Update_rows 1 # -master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1 -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.procs_priv -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Query 1 # use `mysqltest1`; delete from t2 -master-bin.000001 # Query 1 # use `mysqltest1`; alter table t2 add unique (a) -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Delete_rows 1 # -master-bin.000001 # Table_map 1 # mysql.proc -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Table_map 1 # mysqltest1.t2 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1 -master-bin.000001 # Query 1 # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10 -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -master-bin.000001 # Query 1 # use `mysqltest1`; delete from t1 -master-bin.000001 # Query 1 # use `mysqltest1`; drop trigger trg -master-bin.000001 # Table_map 1 # mysqltest1.t1 -master-bin.000001 # Write_rows 1 # -select * from t1; -a -1 -create procedure foo() -not deterministic -reads sql data -select * from t1; -call foo(); -a -1 -drop procedure foo; -drop function fn1; -drop database mysqltest1; -drop user "zedjzlcsjhd"@127.0.0.1; diff --git a/mysql-test/r/rpl_stm_sp.result b/mysql-test/r/rpl_sp.result similarity index 100% rename from mysql-test/r/rpl_stm_sp.result rename to mysql-test/r/rpl_sp.result diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 2e786b669eb..f97ef82839c 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -18,8 +18,7 @@ group_min_max : Bug #15448 innodb_concurrent : Results are not deterministic, Elliot will fix (BUG#3300) subselect : Bug#15706 type_time : Bug#15805 -#rpl000002 : Bug#15920 Temporary tables are not binlogged in SBR -#ps_7ndb : Bug#15923 Core dump in RBR mode when executing test suite rpl_ddl : Bug#15963 SBR does not show "Definer" correctly mysqlslap : Bug#16167 events : Affects flush test case. A table lock not released somewhere +rpl_sp : Bug #16456 diff --git a/mysql-test/t/rpl_row_sp000-slave.opt b/mysql-test/t/rpl_row_sp000-slave.opt deleted file mode 100644 index 709a224fd92..00000000000 --- a/mysql-test/t/rpl_row_sp000-slave.opt +++ /dev/null @@ -1 +0,0 @@ ---log_bin_trust_routine_creators=0 diff --git a/mysql-test/t/rpl_row_sp000.test b/mysql-test/t/rpl_row_sp000.test deleted file mode 100644 index 4d638cfcc1c..00000000000 --- a/mysql-test/t/rpl_row_sp000.test +++ /dev/null @@ -1,331 +0,0 @@ -# row-based and statement have expected binlog difference in result files --- source include/have_binlog_format_row.inc - -# Test of replication of stored procedures in row-based replication. -# Initially copied from the statement-based version rpl_stm_sp.test. - -# Note that in the .opt files we still use the old variable name -# log-bin-trust-routine-creators so that this test checks that it's -# still accepted (this test also checks that the new name is -# accepted). The old name could be removed in 5.1 or 6.0. - -source include/master-slave.inc; - -# we need a db != test, where we don't have automatic grants ---disable_warnings -drop database if exists mysqltest1; ---enable_warnings -create database mysqltest1; -use mysqltest1; -create table t1 (a varchar(100)); -sync_slave_with_master; -use mysqltest1; - -# ********************** PART 1 : STORED PROCEDURES *************** - -# Does the same proc as on master get inserted into mysql.proc ? -# (all same properties) - -connection master; - -delimiter |; -create procedure foo() -begin - declare b int; - set b = 8; - insert into t1 values (b); - insert into t1 values (unix_timestamp()); -end| -delimiter ;| - -# we replace columns having times -# (even with fixed timestamp displayed time may changed based on TZ) ---replace_result localhost.localdomain localhost 127.0.0.1 localhost ---replace_column 13 # 14 # -select * from mysql.proc where name='foo' and db='mysqltest1'; -sync_slave_with_master; ---replace_result localhost.localdomain localhost 127.0.0.1 localhost ---replace_column 13 # 14 # -select * from mysql.proc where name='foo' and db='mysqltest1'; - -connection master; -# see if timestamp used in SP on slave is same as on master -set timestamp=1000000000; -call foo(); -select * from t1; -sync_slave_with_master; -select * from t1; - -# Now a SP which is not updating tables - -connection master; -delete from t1; -create procedure foo2() - not deterministic - select * from mysqltest1.t1; -call foo2(); - -alter procedure foo2 contains sql; - -# SP with definer's right - -drop table t1; -create table t1 (a int); -create table t2 (a int); - -create procedure foo3() - deterministic - insert into t1 values (15); - -# let's create a non-privileged user -grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1; -grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1; -grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1; - -# ToDo: BUG#14931: There is a race between the last grant binlogging, and -# the binlogging in the new connection made below, causing sporadic test -# failures due to switched statement order in binlog. To fix this we do -# SELECT 1 in the first connection before starting the second, ensuring -# that binlogging is done in the expected order. -# Please remove this SELECT 1 when BUG#14931 is fixed. -SELECT 1; - -connect (con1,127.0.0.1,zedjzlcsjhd,,mysqltest1,$MASTER_MYPORT,); -connection con1; - -# this routine will fail in the second INSERT because of privileges -delimiter |; -create procedure foo4() - deterministic - begin - insert into t2 values(3); - insert into t1 values (5); - end| - -delimiter ;| - -# I add ,0 so that it does not print the error in the test output, -# because this error is hostname-dependent ---error 1142,0 -call foo4(); # invoker has no INSERT grant on table t1 => failure - -connection master; -call foo3(); # success (definer == root) -show warnings; - ---error 1142,0 -call foo4(); # definer's rights => failure - -# we test replication of ALTER PROCEDURE -alter procedure foo4 sql security invoker; -call foo4(); # invoker's rights => success -show warnings; - -# Note that half-failed procedure calls are ok with binlogging; -# if we compare t2 on master and slave we see they are identical: - -select * from t1; -select * from t2; -sync_slave_with_master; -select * from t1; -select * from t2; - -# Let's check another failing-in-the-middle procedure -connection master; -delete from t2; -alter table t2 add unique (a); - -drop procedure foo4; -delimiter |; -create procedure foo4() - deterministic - begin - insert into t2 values(20),(20); - end| - -delimiter ;| - ---error 1062 -call foo4(); -show warnings; - -select * from t2; -sync_slave_with_master; -# check that this failed-in-the-middle replicated right: -select * from t2; - -# Test of DROP PROCEDURE - ---replace_result localhost.localdomain localhost 127.0.0.1 localhost ---replace_column 13 # 14 # -select * from mysql.proc where name="foo4" and db='mysqltest1'; -connection master; -drop procedure foo4; -select * from mysql.proc where name="foo4" and db='mysqltest1'; -sync_slave_with_master; -select * from mysql.proc where name="foo4" and db='mysqltest1'; - -# Test of a procedure and function containing UUID() is done in -# rpl_row_UUID. - - -# ********************** PART 2 : FUNCTIONS *************** - -connection master; -drop procedure foo; -drop procedure foo2; -drop procedure foo3; - -delimiter |; -create function fn1(x int) - returns int - deterministic -begin - insert into t1 values (x); - return x+2; -end| - -delimiter ;| -delete t1,t2 from t1,t2; -select fn1(20); -insert into t2 values(fn1(21)); -select * from t1; -select * from t2; -sync_slave_with_master; -select * from t1; -select * from t2; - -connection master; -delimiter |; - -drop function fn1; - -create function fn1() - returns int -begin - return unix_timestamp(); -end| - -delimiter ;| -# Just to test ALTER FUNCTION -alter function fn1 no sql; -delete from t1; -set timestamp=1000000000; -insert into t1 values(fn1()); - -connection con1; - -delimiter |; -create function fn2() - returns int - no sql -begin - return unix_timestamp(); -end| -delimiter ;| - -connection master; - -delimiter |; -create function fn3() - returns int - not deterministic - reads sql data -begin - return 0; -end| -delimiter ;| - -select fn3(); - ---replace_result localhost.localdomain localhost 127.0.0.1 localhost ---replace_column 13 # 14 # -select * from mysql.proc where db='mysqltest1'; -select * from t1; - -sync_slave_with_master; -use mysqltest1; -select * from t1; ---replace_result localhost.localdomain localhost 127.0.0.1 localhost ---replace_column 13 # 14 # -select * from mysql.proc where db='mysqltest1'; - -# Let's check a failing-in-the-middle function -connection master; -delete from t2; -alter table t2 add unique (a); - -drop function fn1; - -delimiter |; -create function fn1() - returns int -begin - insert into t2 values(20),(20); - return 10; -end| - -delimiter ;| - ---error 1062 -select fn1(); - -select * from t2; -sync_slave_with_master; - -# check that this failed-in-the-middle replicated right: -select * from t2; - -# ********************** PART 3 : TRIGGERS *************** - -connection con1; ---error 1227 -create trigger trg before insert on t1 for each row set new.a= 10; - -connection master; -delete from t1; -# TODO: when triggers can contain an update, test that this update -# does not go into binlog. -# I'm not setting user vars in the trigger, because replication of user vars -# would take care of propagating the user var's value to slave, so even if -# the trigger was not executed on slave it would not be discovered. -create trigger trg before insert on t1 for each row set new.a= 10; -insert into t1 values (1); -select * from t1; -sync_slave_with_master; -select * from t1; - -connection master; -delete from t1; -drop trigger trg; -insert into t1 values (1); -select * from t1; ---replace_column 2 # 5 # -show binlog events in 'master-bin.000001' from 102; -sync_slave_with_master; -select * from t1; - - -# -# Test for bug #13969 "Routines which are replicated from master can't be -# executed on slave". -# -connection master; -create procedure foo() - not deterministic - reads sql data - select * from t1; -sync_slave_with_master; -# This should not fail -call foo(); -connection master; -drop procedure foo; -sync_slave_with_master; - - -# Clean up -connection master; -drop function fn1; -drop database mysqltest1; -drop user "zedjzlcsjhd"@127.0.0.1; -sync_slave_with_master; diff --git a/mysql-test/t/rpl_row_sp000-master.opt b/mysql-test/t/rpl_sp-master.opt similarity index 100% rename from mysql-test/t/rpl_row_sp000-master.opt rename to mysql-test/t/rpl_sp-master.opt diff --git a/mysql-test/t/rpl_stm_sp-slave.opt b/mysql-test/t/rpl_sp-slave.opt similarity index 100% rename from mysql-test/t/rpl_stm_sp-slave.opt rename to mysql-test/t/rpl_sp-slave.opt diff --git a/mysql-test/t/rpl_stm_sp.test b/mysql-test/t/rpl_sp.test similarity index 99% rename from mysql-test/t/rpl_stm_sp.test rename to mysql-test/t/rpl_sp.test index 62ea87e5352..64f99f3d8b9 100644 --- a/mysql-test/t/rpl_stm_sp.test +++ b/mysql-test/t/rpl_sp.test @@ -1,5 +1,4 @@ # row-based and statement have expected binlog difference in result files --- source include/have_binlog_format_statement.inc # Test of replication of stored procedures (WL#2146 for MySQL 5.0) # Modified by WL#2971. diff --git a/mysql-test/t/rpl_stm_mystery22.test b/mysql-test/t/rpl_stm_mystery22.test index bb810ffb4ac..a43f2610350 100644 --- a/mysql-test/t/rpl_stm_mystery22.test +++ b/mysql-test/t/rpl_stm_mystery22.test @@ -1,7 +1,21 @@ --- source include/have_binlog_format_statement.inc - +################################ +# Change Author: JBM +# Change Date: 2006-01-12 +# Change: Added back have stm binlog +# and added requirments comments +################################ # test case to make slave thread get ahead by 22 bytes +################################ +#REQUIREMENT: If there is a faked slave duplicate key insert +#error and the slave is restarted, the replication should +#proceed in a correct way. +################################ +#REQUIREMENT: If there is a faked slave non-existing record +#delete error and the slave is restarted, then the replication +#should proceed in a correct way. +################################# +-- source include/have_binlog_format_statement.inc -- source include/master-slave.inc # first, cause a duplicate key problem on the slave diff --git a/mysql-test/t/rpl_stm_sp-master.opt b/mysql-test/t/rpl_stm_sp-master.opt deleted file mode 100644 index 709a224fd92..00000000000 --- a/mysql-test/t/rpl_stm_sp-master.opt +++ /dev/null @@ -1 +0,0 @@ ---log_bin_trust_routine_creators=0