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
This commit is contained in:
commit
c8b64ea17c
@ -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;
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -637,7 +637,7 @@ bool THD::store_globals()
|
||||
THD::cleanup_after_query()
|
||||
|
||||
DESCRIPTION
|
||||
This function is used to reset thread data to it's default state.
|
||||
This function is used to reset thread data to its default state.
|
||||
|
||||
NOTE
|
||||
This function is not suitable for setting thread data to some
|
||||
@ -645,6 +645,7 @@ bool THD::store_globals()
|
||||
different master threads may overwrite data of each other on
|
||||
slave.
|
||||
*/
|
||||
|
||||
void THD::cleanup_after_query()
|
||||
{
|
||||
if (!in_sub_stmt) /* stored functions and triggers are a special case */
|
||||
@ -668,6 +669,7 @@ void THD::cleanup_after_query()
|
||||
where= THD::DEFAULT_WHERE;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Convert a string to another character set
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user