1 # Test file for stored procedure bugfixes
4 --echo # Bug #47412: Valgrind warnings / user can read uninitalized memory
5 --echo # using SP variables
11 CREATE FUNCTION f2 () RETURNS INTEGER
13 DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' SET @aux = 1;
14 RETURN f_not_exists () ;
16 CREATE PROCEDURE p3 ( arg1 VARCHAR(32) )
18 CALL p_not_exists ( );
21 --echo # should not return valgrind warnings
22 --error ER_SP_DOES_NOT_EXIST
30 CREATE FUNCTION f2 () RETURNS INTEGER
32 DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' SET @aux = 1;
33 RETURN f_not_exists () ;
35 CREATE PROCEDURE p3 ( arg2 INTEGER )
37 CALL p_not_exists ( );
40 --echo # should not return valgrind warnings
41 --error ER_SP_DOES_NOT_EXIST
49 CREATE FUNCTION f2 () RETURNS INTEGER
51 DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' SET @aux = 1;
52 RETURN f_not_exists () ;
55 --echo # should not return valgrind warnings
63 --echo # Bug#50423: Crash on second call of a procedure dropping a trigger
67 DROP TABLE IF EXISTS t1;
68 DROP TRIGGER IF EXISTS tr1;
69 DROP PROCEDURE IF EXISTS p1;
72 CREATE TABLE t1 (f1 INTEGER);
73 CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @aux = 1;
74 CREATE PROCEDURE p1 () DROP TRIGGER tr1;
77 --error ER_TRG_DOES_NOT_EXIST
84 --echo # Bug#50423: Crash on second call of a procedure dropping a trigger
88 DROP TABLE IF EXISTS t1;
89 DROP TRIGGER IF EXISTS tr1;
90 DROP PROCEDURE IF EXISTS p1;
93 CREATE TABLE t1 (f1 INTEGER);
94 CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @aux = 1;
95 CREATE PROCEDURE p1 () DROP TRIGGER tr1;
98 --error ER_TRG_DOES_NOT_EXIST
105 --echo # Bug#54375: Error in stored procedure leaves connection
106 --echo # in different default schema
110 SET @@SQL_MODE = 'STRICT_ALL_TABLES';
111 DROP DATABASE IF EXISTS db1;
114 DROP TABLE IF EXISTS t1;
115 CREATE TABLE t1 (c1 int NOT NULL PRIMARY KEY);
116 INSERT INTO t1 VALUES (1);
124 INSERT INTO t1 SET c1 = some_value;
125 RETURN(LAST_INSERT_ID());
128 DROP DATABASE IF EXISTS db2;
137 DROP FUNCTION db1.f1;
144 --echo # Bug#13105873:valgrind warning:possible crash in foreign
145 --echo # key handling on subsequent create table if not exists
149 DROP DATABASE IF EXISTS testdb;
151 CREATE DATABASE testdb;
153 CREATE TABLE t1 (id1 INT PRIMARY KEY);
155 CREATE PROCEDURE `p1`()
157 CREATE TABLE IF NOT EXISTS t2(id INT PRIMARY KEY,
158 CONSTRAINT FK FOREIGN KEY (id) REFERENCES t1( id1 ));
162 --echo # below stmt should not return valgrind warnings
164 DROP DATABASE testdb;
167 --echo End of 5.1 tests
170 --echo # Bug#11763507 - 56224: FUNCTION NAME IS CASE-SENSITIVE
174 CREATE FUNCTION testf_bug11763507() RETURNS INT
180 CREATE PROCEDURE testp_bug11763507()
182 SELECT "PROCEDURE testp_bug11763507";
189 SELECT testf_bug11763507();
190 SELECT TESTF_bug11763507();
192 --replace_column 5 # 6 #
193 SHOW FUNCTION STATUS LIKE 'testf_bug11763507';
194 --replace_column 5 # 6 #
195 SHOW FUNCTION STATUS WHERE NAME='testf_bug11763507';
196 --replace_column 5 # 6 #
197 SHOW FUNCTION STATUS LIKE 'TESTF_bug11763507';
198 --replace_column 5 # 6 #
199 SHOW FUNCTION STATUS WHERE NAME='TESTF_bug11763507';
201 SHOW CREATE FUNCTION testf_bug11763507;
202 SHOW CREATE FUNCTION TESTF_bug11763507;
205 CALL testp_bug11763507();
206 CALL TESTP_bug11763507();
208 --replace_column 5 # 6 #
209 SHOW PROCEDURE STATUS LIKE 'testp_bug11763507';
210 --replace_column 5 # 6 #
211 SHOW PROCEDURE STATUS WHERE NAME='testp_bug11763507';
212 --replace_column 5 # 6 #
213 SHOW PROCEDURE STATUS LIKE 'TESTP_bug11763507';
214 --replace_column 5 # 6 #
215 SHOW PROCEDURE STATUS WHERE NAME='TESTP_bug11763507';
217 SHOW CREATE PROCEDURE testp_bug11763507;
218 SHOW CREATE PROCEDURE TESTP_bug11763507;
221 SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name LIKE 'testf_bug11763507';
222 SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name LIKE 'TESTF_bug11763507';
224 SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name='testf_bug11763507';
225 SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name='TESTF_bug11763507';
227 DROP PROCEDURE testp_bug11763507;
228 DROP FUNCTION testf_bug11763507;
230 --echo #END OF BUG#11763507 test.