A backporting patch for the following revision from 6.0:
revno: 2630.22.41 committer: Alexander Nozdrin <alik@mysql.com> branch nick: 6.0-rt-bug39255 timestamp: Thu 2008-10-16 16:39:30 +0400 message: A patch for Bug#39255: Stored procedures: crash if function references nonexistent table. The problem is not reproduced in 6.0. Adding a test case.
This commit is contained in:
parent
eed8c7ab7d
commit
adc8d5eea0
@ -3065,3 +3065,4 @@ sql/share/swedish
|
||||
sql/share/ukrainian
|
||||
libmysqld/examples/mysqltest.cc
|
||||
libmysqld/sql_signal.cc
|
||||
libmysqld/rpl_handler.cc
|
||||
|
@ -6933,6 +6933,21 @@ DROP TABLE t1, t2;
|
||||
# ------------------------------------------------------------------
|
||||
# -- End of 5.1 tests
|
||||
# ------------------------------------------------------------------
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
DROP TABLE IF EXISTS t_non_existing;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE FUNCTION f1() RETURNS INT
|
||||
BEGIN
|
||||
DECLARE v INT;
|
||||
SELECT a INTO v FROM t_non_existing;
|
||||
RETURN 1;
|
||||
END|
|
||||
CREATE TABLE t1 (a INT) ENGINE = myisam;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
SELECT * FROM t1 WHERE a = f1();
|
||||
ERROR 42S02: Table 'test.t_non_existing' doesn't exist
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#34197: CREATE PROCEDURE fails when COMMENT truncated in non
|
||||
# strict SQL mode
|
||||
|
@ -8268,6 +8268,34 @@ DROP TABLE t1, t2;
|
||||
--echo # -- End of 5.1 tests
|
||||
--echo # ------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Bug#39255: Stored procedures: crash if function references nonexistent table
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
DROP TABLE IF EXISTS t_non_existing;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
delimiter |;
|
||||
CREATE FUNCTION f1() RETURNS INT
|
||||
BEGIN
|
||||
DECLARE v INT;
|
||||
SELECT a INTO v FROM t_non_existing;
|
||||
RETURN 1;
|
||||
END|
|
||||
delimiter ;|
|
||||
|
||||
CREATE TABLE t1 (a INT) ENGINE = myisam;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
--error ER_NO_SUCH_TABLE
|
||||
SELECT * FROM t1 WHERE a = f1();
|
||||
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#34197: CREATE PROCEDURE fails when COMMENT truncated in non
|
||||
--echo # strict SQL mode
|
||||
|
Loading…
x
Reference in New Issue
Block a user