summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2006-10-03 20:22:28 +0200
committerunknown <msvensson@neptunus.(none)>2006-10-03 20:22:28 +0200
commitc8b64ea17cf81dcab30f341160a1c07d5c6ccaae (patch)
tree23831d205e9500c9e8dcbeefabd6505c5b3dfb71 /mysql-test
parentc9970c5b418742395fb01df17397e50c3e7c3d16 (diff)
parent0416b69da6da17747cc8571b5cd040b25aa81d16 (diff)
downloadmariadb-git-c8b64ea17cf81dcab30f341160a1c07d5c6ccaae.tar.gz
Merge bk-internal:/home/bk/mysql-5.1
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint sql/item_func.cc: Auto merged sql/log.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_select.cc: Auto merged
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/extra/rpl_tests/rpl_insert_id.test17
-rw-r--r--mysql-test/r/rpl_insert_id.result18
2 files changed, 35 insertions, 0 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_id.test b/mysql-test/extra/rpl_tests/rpl_insert_id.test
index 6d38760a849..33194270d37 100644
--- a/mysql-test/extra/rpl_tests/rpl_insert_id.test
+++ b/mysql-test/extra/rpl_tests/rpl_insert_id.test
@@ -337,6 +337,7 @@ DROP TABLE t1, t2;
DROP PROCEDURE IF EXISTS p1;
DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
+DROP FUNCTION IF EXISTS f3;
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
@@ -366,6 +367,12 @@ END |
CREATE FUNCTION f2() RETURNS INT NOT DETERMINISTIC
RETURN LAST_INSERT_ID() |
+
+CREATE FUNCTION f3() RETURNS INT MODIFIES SQL DATA
+BEGIN
+ INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
+ RETURN 0;
+END |
delimiter ;|
INSERT INTO t1 VALUES (NULL, -1);
@@ -380,6 +387,15 @@ INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)),
INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID());
UPDATE t1 SET j= -1 WHERE i IS NULL;
+# Test statement-based replication of function calls.
+INSERT INTO t1 (i) VALUES (NULL);
+
+connection master1;
+INSERT INTO t1 (i) VALUES (NULL);
+
+connection master;
+SELECT f3();
+
SELECT * FROM t1;
SELECT * FROM t2;
@@ -391,6 +407,7 @@ connection master;
DROP PROCEDURE p1;
DROP FUNCTION f1;
DROP FUNCTION f2;
+DROP FUNCTION f3;
DROP TABLE t1, t2;
diff --git a/mysql-test/r/rpl_insert_id.result b/mysql-test/r/rpl_insert_id.result
index 5df103f6ea0..63be35b8720 100644
--- a/mysql-test/r/rpl_insert_id.result
+++ b/mysql-test/r/rpl_insert_id.result
@@ -301,6 +301,7 @@ DROP TABLE t1, t2;
DROP PROCEDURE IF EXISTS p1;
DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
+DROP FUNCTION IF EXISTS f3;
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (
i INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
@@ -324,6 +325,11 @@ RETURN 0;
END |
CREATE FUNCTION f2() RETURNS INT NOT DETERMINISTIC
RETURN LAST_INSERT_ID() |
+CREATE FUNCTION f3() RETURNS INT MODIFIES SQL DATA
+BEGIN
+INSERT INTO t2 (i) VALUES (LAST_INSERT_ID());
+RETURN 0;
+END |
INSERT INTO t1 VALUES (NULL, -1);
CALL p1();
SELECT f1();
@@ -336,6 +342,11 @@ INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)),
(NULL, @@LAST_INSERT_ID);
INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID());
UPDATE t1 SET j= -1 WHERE i IS NULL;
+INSERT INTO t1 (i) VALUES (NULL);
+INSERT INTO t1 (i) VALUES (NULL);
+SELECT f3();
+f3()
+0
SELECT * FROM t1;
i j
1 -1
@@ -356,12 +367,15 @@ i j
16 13
17 -1
18 14
+19 0
+20 0
SELECT * FROM t2;
i
2
3
5
6
+19
SELECT * FROM t1;
i j
1 -1
@@ -382,15 +396,19 @@ i j
16 13
17 -1
18 14
+19 0
+20 0
SELECT * FROM t2;
i
2
3
5
6
+19
DROP PROCEDURE p1;
DROP FUNCTION f1;
DROP FUNCTION f2;
+DROP FUNCTION f3;
DROP TABLE t1, t2;
#
# End of 5.0 tests