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