summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <lars/lthalmann@mysql.com/dl145k.mysql.com>2007-02-27 20:57:46 +0100
committerunknown <lars/lthalmann@mysql.com/dl145k.mysql.com>2007-02-27 20:57:46 +0100
commit71b762bf69c2b0709d597df0537ae409d5020adf (patch)
tree8d3555c7f5cdec28f1ca0c9de107ef05f6ba66ec
parent7443227bcaec6f42621422cd594d3f1ca550b8b5 (diff)
downloadmariadb-git-71b762bf69c2b0709d597df0537ae409d5020adf.tar.gz
Fix of incorrect merge of test case
-rw-r--r--mysql-test/r/rpl_user_variables.result110
-rw-r--r--mysql-test/t/rpl_user_variables.test303
2 files changed, 2 insertions, 411 deletions
diff --git a/mysql-test/r/rpl_user_variables.result b/mysql-test/r/rpl_user_variables.result
index 88b65fb0d3a..3b6002a5d2d 100644
--- a/mysql-test/r/rpl_user_variables.result
+++ b/mysql-test/r/rpl_user_variables.result
@@ -241,116 +241,6 @@ SELECT f1(), f2();
f1() f2()
123 0
On master: Check to see that data was inserted correctly
-CREATE FUNCTION test.square() RETURNS INTEGER DETERMINISTIC RETURN (@var * @var);
-SET @var = 1;
-INSERT INTO t1 VALUES (square());
-SET @var = 2;
-INSERT INTO t1 VALUES (square());
-SET @var = 3;
-INSERT INTO t1 VALUES (square());
-SET @var = 4;
-INSERT INTO t1 VALUES (square());
-SET @var = 5;
-INSERT INTO t1 VALUES (square());
-On master: Retrieve the values from the table
-SELECT * FROM t1;
-i
-1
-4
-9
-16
-25
-On slave: Retrieve the values from the table and verify they are the same as on master
-SELECT * FROM t1;
-i
-1
-4
-9
-16
-25
-DROP TABLE t1;
-DROP FUNCTION test.square;
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
-CREATE TABLE t1(a int);
-CREATE FUNCTION f1() returns int deterministic
-BEGIN
-return @a;
-END |
-CREATE FUNCTION f2() returns int deterministic
-BEGIN
-IF (@b > 0) then
-SET @c = (@a + @b);
-else
-SET @c = (@a - 1);
-END if;
-return @c;
-END |
-SET @a=500;
-INSERT INTO t1 values(f1());
-SET @b = 125;
-SET @c = 1;
-INSERT INTO t1 values(f2());
-On master: Retrieve the values from the table
-SELECT * from t1;
-a
-500
-625
-On slave: Check the tables for correct data and it matches master
-SELECT * from t1;
-a
-500
-625
-DROP TABLE t1;
-DROP FUNCTION f1;
-DROP FUNCTION f2;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t1 (i int);
-CREATE TABLE t2 (k int);
-CREATE trigger t1_bi before INSERT on t1 for each row
-BEGIN
-INSERT INTO t2 values (@a);
-SET @a:=42;
-INSERT INTO t2 values (@a);
-END |
-SET @a:=100;
-INSERT INTO t1 values (5);
-On master: Check to see that data was inserted correctly in both tables
-SELECT * from t1;
-i
-5
-SELECT * from t2;
-k
-100
-42
-On slave: Check the tables for correct data and it matches master
-SELECT * from t1;
-i
-5
-SELECT * from t2;
-k
-100
-42
-End of 5.0 tests.
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
-CREATE TABLE t1 (i INT);
-CREATE FUNCTION f1() RETURNS INT RETURN @a;
-CREATE FUNCTION f2() RETURNS INT
-BEGIN
-INSERT INTO t1 VALUES (10 + @a);
-RETURN 0;
-END|
-SET @a:=123;
-SELECT f1(), f2();
-f1() f2()
-123 0
-On master: Check to see that data was inserted correctly
INSERT INTO t1 VALUES(f1());
SELECT * FROM t1;
i
diff --git a/mysql-test/t/rpl_user_variables.test b/mysql-test/t/rpl_user_variables.test
index b3a361261b5..226591bd13f 100644
--- a/mysql-test/t/rpl_user_variables.test
+++ b/mysql-test/t/rpl_user_variables.test
@@ -291,6 +291,8 @@ SELECT * from t2;
connection master;
+--echo End of 5.0 tests.
+
# Cleanup
DROP TABLE t1;
@@ -347,307 +349,6 @@ DROP FUNCTION f1;
DROP FUNCTION f2;
DROP TABLE t1;
-save_master_pos;
-connection slave;
-sync_with_master;
-
-# BUG#20141
-# The following tests ensure that if user-defined variables are used in SF/Triggers
-# that they are replicated correctly. These tests should be run in both SBR and RBR
-# modes.
-
-# This test uses a procedure that inserts data values based on the value of a
-# user-defined variable. It also has a trigger that inserts data based on the
-# same variable. Successful test runs show that the @var is replicated
-# properly and that the procedure and trigger insert the correct data on the
-# slave.
-#
-# The test of stored procedure was included for completeness. Replication of stored
-# procedures was not directly affected by BUG#20141.
-#
-# This test was constructed for BUG#20141
-
---disable_warnings
-DROP TABLE IF EXISTS t20;
-DROP TABLE IF EXISTS t21;
-DROP PROCEDURE IF EXISTS test.insert;
---enable_warnings
-
-CREATE TABLE t20 (a VARCHAR(20));
-CREATE TABLE t21 (a VARCHAR(20));
-DELIMITER |;
-
-# Create a procedure that uses the @var for flow control
-
-CREATE PROCEDURE test.insert()
-BEGIN
- IF (@VAR)
- THEN
- INSERT INTO test.t20 VALUES ('SP_TRUE');
- ELSE
- INSERT INTO test.t20 VALUES ('SP_FALSE');
- END IF;
-END|
-
-# Create a trigger that uses the @var for flow control
-
-CREATE TRIGGER test.insert_bi BEFORE INSERT
- ON test.t20 FOR EACH ROW
- BEGIN
- IF (@VAR)
- THEN
- INSERT INTO test.t21 VALUES ('TRIG_TRUE');
- ELSE
- INSERT INTO test.t21 VALUES ('TRIG_FALSE');
- END IF;
- END|
-DELIMITER ;|
-
-sync_slave_with_master;
-connection master;
-
-# Set @var and call the procedure, repeat with different values
-
-SET @VAR=0;
-CALL test.insert();
-SET @VAR=1;
-CALL test.insert();
-
---echo On master: Check the tables for correct data
-
-SELECT * FROM t20;
-SELECT * FROM t21;
-
-sync_slave_with_master;
-
---echo On slave: Check the tables for correct data and it matches master
-
-SELECT * FROM t20;
-SELECT * FROM t21;
-connection master;
-
-# Cleanup
-
-DROP TABLE t20;
-DROP TABLE t21;
-DROP PROCEDURE test.insert;
-
-# This test uses a stored function that uses user-defined variables to return data
-# This test was constructed for BUG#20141
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS test.square;
---enable_warnings
-
-CREATE TABLE t1 (i INT);
-
-# Create function that returns a value from @var. In this case, the square function
-
-CREATE FUNCTION test.square() RETURNS INTEGER DETERMINISTIC RETURN (@var * @var);
-
-sync_slave_with_master;
-connection master;
-
-# Set the @var to different values and insert them into a table
-
-SET @var = 1;
-INSERT INTO t1 VALUES (square());
-SET @var = 2;
-INSERT INTO t1 VALUES (square());
-SET @var = 3;
-INSERT INTO t1 VALUES (square());
-SET @var = 4;
-INSERT INTO t1 VALUES (square());
-SET @var = 5;
-INSERT INTO t1 VALUES (square());
-
---echo On master: Retrieve the values from the table
-
-SELECT * FROM t1;
-
-sync_slave_with_master;
-
---echo On slave: Retrieve the values from the table and verify they are the same as on master
-
-SELECT * FROM t1;
-
-connection master;
-
-# Cleanup
-
-DROP TABLE t1;
-DROP FUNCTION test.square;
-
-# This test uses stored functions that uses user-defined variables to return data
-# based on the use of @vars inside a function body.
-# This test was constructed for BUG#14914
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
---enable_warnings
-
-CREATE TABLE t1(a int);
-DELIMITER |;
-
-# Create a function that simply returns the value of an @var.
-# Create a function that uses an @var for flow control, creates and uses another
-# @var and sets its value to a value based on another @var.
-
-CREATE FUNCTION f1() returns int deterministic
-BEGIN
- return @a;
-END |
-
-CREATE FUNCTION f2() returns int deterministic
-BEGIN
- IF (@b > 0) then
- SET @c = (@a + @b);
- else
- SET @c = (@a - 1);
- END if;
- return @c;
-END |
-DELIMITER ;|
-
-sync_slave_with_master;
-connection master;
-
-# Set an @var to a value and insert data into a table using the first function.
-# Set two more @vars to some values and insert data into a table using the second function.
-
-SET @a=500;
-INSERT INTO t1 values(f1());
-SET @b = 125;
-SET @c = 1;
-INSERT INTO t1 values(f2());
-
-sync_slave_with_master;
-
---echo On master: Retrieve the values from the table
-
-SELECT * from t1;
-
---echo On slave: Check the tables for correct data and it matches master
-
-SELECT * from t1;
-
-connection master;
-
-# Cleanup
-
-DROP TABLE t1;
-DROP FUNCTION f1;
-DROP FUNCTION f2;
-
-# This test uses a function that changes a user-defined variable in its body. This test
-# will ensure the @vars are replicated when needed and not interrupt the normal execution
-# of the function on the slave. This also applies to triggers.
-#
-# This test was constructed for BUG#25167
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
---enable_warnings
-CREATE TABLE t1 (i int);
-CREATE TABLE t2 (k int);
-DELIMITER |;
-
-# Create a trigger that inserts data into another table, changes the @var then inserts
-# another row with the modified value.
-
-CREATE trigger t1_bi before INSERT on t1 for each row
-BEGIN
- INSERT INTO t2 values (@a);
- SET @a:=42;
- INSERT INTO t2 values (@a);
-END |
-DELIMITER ;|
-
-sync_slave_with_master;
-connection master;
-
-# Set the @var to a value then insert data into first table.
-
-SET @a:=100;
-INSERT INTO t1 values (5);
-
---echo On master: Check to see that data was inserted correctly in both tables
-
-SELECT * from t1;
-SELECT * from t2;
-
-sync_slave_with_master;
-
---echo On slave: Check the tables for correct data and it matches master
-
-SELECT * from t1;
-SELECT * from t2;
-
-connection master;
-
---echo End of 5.0 tests.
-
-# Cleanup
-
-DROP TABLE t1;
-DROP TABLE t2;
-
-# This test uses a stored function that uses user-defined variables to return data
-# The test ensures the value of the user-defined variable is replicated correctly
-# and in the correct order of assignment.
-# This test was constructed for BUG#20141
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS f1;
-DROP FUNCTION IF EXISTS f2;
---enable_warnings
-
-CREATE TABLE t1 (i INT);
-
-# Create two functions. One simply returns the user-defined variable. The other
-# returns a value based on the user-defined variable.
-
-CREATE FUNCTION f1() RETURNS INT RETURN @a;
-DELIMITER |;
-CREATE FUNCTION f2() RETURNS INT
-BEGIN
- INSERT INTO t1 VALUES (10 + @a);
- RETURN 0;
-END|
-DELIMITER ;|
-
-sync_slave_with_master;
-connection master;
-
-# Set the variable and execute the functions.
-
-SET @a:=123;
-SELECT f1(), f2();
-
---echo On master: Check to see that data was inserted correctly
-
-INSERT INTO t1 VALUES(f1());
-SELECT * FROM t1;
-
-sync_slave_with_master;
-
---echo On slave: Check the table for correct data and it matches master
-
-SELECT * FROM t1;
-
-connection master;
-
-# Cleanup
-
-DROP FUNCTION f1;
-DROP FUNCTION f2;
-DROP TABLE t1;
-
sync_slave_with_master;
stop slave;