diff options
Diffstat (limited to 'mysql-test/t/rpl_misc_functions.test')
-rw-r--r-- | mysql-test/t/rpl_misc_functions.test | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/mysql-test/t/rpl_misc_functions.test b/mysql-test/t/rpl_misc_functions.test deleted file mode 100644 index 1c94471c975..00000000000 --- a/mysql-test/t/rpl_misc_functions.test +++ /dev/null @@ -1,114 +0,0 @@ -# -# Test of replicating some difficult functions -# -source include/master-slave.inc; - -create table t1(id int, i int, r1 int, r2 int, p varchar(100)); -insert into t1 values(1, connection_id(), 0, 0, ""); -# don't put rand and password in the same query, to see if they replicate -# independently -# Pure rand test -insert into t1 values(2, 0, rand()*1000, rand()*1000, ""); -# change the rand suite on the master (we do this because otherwise password() -# benefits from the fact that the above rand() is well replicated : -# it picks the same sequence element, which hides a possible bug in password() replication. -set sql_log_bin=0; -insert into t1 values(6, 0, rand(), rand(), ""); -delete from t1 where id=6; -set sql_log_bin=1; -# Pure password test -insert into t1 values(3, 0, 0, 0, password('does_this_work?')); -# "altogether now" -insert into t1 values(4, connection_id(), rand()*1000, rand()*1000, password('does_this_still_work?')); -select * into outfile 'rpl_misc_functions.outfile' from t1; -sync_slave_with_master; -create table t2 like t1; -# read the values from the master table ---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR -eval load data local infile '$MYSQLTEST_VARDIR/master-data/test/rpl_misc_functions.outfile' into table t2; -# compare them with the replica; the SELECT below should return no row -select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p); - -connection master; -drop table t1; - -# End of 4.1 tests - -# -# BUG#25543 test calling rand() multiple times on the master in -# a stored procedure. -# - ---disable_warnings -DROP TABLE IF EXISTS t1; ---enable_warnings - -CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - col_a DOUBLE DEFAULT NULL); - -DELIMITER |; - -# Use a SP that calls rand() multiple times -CREATE PROCEDURE test_replication_sp1() -BEGIN - INSERT INTO t1 (col_a) VALUES (rand()), (rand()); - INSERT INTO t1 (col_a) VALUES (rand()); -END| - -# Use a SP that calls another SP to call rand() multiple times -CREATE PROCEDURE test_replication_sp2() -BEGIN - CALL test_replication_sp1(); - CALL test_replication_sp1(); -END| - -# Use a SF that calls rand() multiple times -CREATE FUNCTION test_replication_sf() RETURNS DOUBLE DETERMINISTIC -BEGIN - RETURN (rand() + rand()); -END| - -DELIMITER ;| - -# Exercise the functions and procedures then compare the results on -# the master to those on the slave. -CALL test_replication_sp1(); -CALL test_replication_sp2(); -INSERT INTO t1 (col_a) VALUES (test_replication_sf()); -INSERT INTO t1 (col_a) VALUES (test_replication_sf()); -INSERT INTO t1 (col_a) VALUES (test_replication_sf()); - ---sync_slave_with_master - -# Dump table on slave -select * from t1 into outfile "../tmp/t1_slave.txt"; - -# Load data from slave into temp table on master -connection master; -create temporary table t1_slave select * from t1 where 1=0; -load data infile '../tmp/t1_slave.txt' into table t1_slave; ---remove_file $MYSQLTEST_VARDIR/tmp/t1_slave.txt - -# Compare master and slave temp table, use subtraction -# for floating point comparison of "double" -select count(*) into @aux from t1 join t1_slave using (id) -where ABS(t1.col_a - t1_slave.col_a) < 0.0000001 ; -SELECT @aux; -if (`SELECT @aux <> 12 OR @aux IS NULL`) -{ - --echo # ERROR: We expected to get count(*) = 12. - SELECT id, col_a FROM t1; - SELECT id, col_a FROM t1_slave; - --echo # abort - exit; -} - -# Cleanup -connection master; -DROP TABLE t1, t1_slave; -DROP PROCEDURE test_replication_sp1; -DROP PROCEDURE test_replication_sp2; -DROP FUNCTION test_replication_sf; ---sync_slave_with_master - - |