# # Bug #47412: Valgrind warnings / user can read uninitalized memory # using SP variables # CREATE SCHEMA testdb; USE testdb; CREATE FUNCTION f2 () RETURNS INTEGER BEGIN DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' SET @aux = 1; RETURN f_not_exists () ; END| CREATE PROCEDURE p3 ( arg1 VARCHAR(32) ) BEGIN CALL p_not_exists ( ); END| # should not return valgrind warnings CALL p3 ( f2 () ); ERROR 42000: PROCEDURE testdb.p_not_exists does not exist DROP SCHEMA testdb; CREATE SCHEMA testdb; USE testdb; CREATE FUNCTION f2 () RETURNS INTEGER BEGIN DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' SET @aux = 1; RETURN f_not_exists () ; END| CREATE PROCEDURE p3 ( arg2 INTEGER ) BEGIN CALL p_not_exists ( ); END| # should not return valgrind warnings CALL p3 ( f2 () ); ERROR 42000: PROCEDURE testdb.p_not_exists does not exist DROP SCHEMA testdb; CREATE SCHEMA testdb; USE testdb; CREATE FUNCTION f2 () RETURNS INTEGER BEGIN DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' SET @aux = 1; RETURN f_not_exists () ; END| # should not return valgrind warnings SELECT f2 (); f2 () NULL Warnings: Error 1305 FUNCTION testdb.f_not_exists does not exist DROP SCHEMA testdb; USE test; # # Bug#50423: Crash on second call of a procedure dropping a trigger # DROP TABLE IF EXISTS t1; DROP TRIGGER IF EXISTS tr1; DROP PROCEDURE IF EXISTS p1; CREATE TABLE t1 (f1 INTEGER); CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @aux = 1; CREATE PROCEDURE p1 () DROP TRIGGER tr1; CALL p1 (); CALL p1 (); ERROR HY000: Trigger does not exist DROP TABLE t1; DROP PROCEDURE p1; # # Bug#50423: Crash on second call of a procedure dropping a trigger # DROP TABLE IF EXISTS t1; DROP TRIGGER IF EXISTS tr1; DROP PROCEDURE IF EXISTS p1; CREATE TABLE t1 (f1 INTEGER); CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @aux = 1; CREATE PROCEDURE p1 () DROP TRIGGER tr1; CALL p1 (); CALL p1 (); ERROR HY000: Trigger does not exist DROP TABLE t1; DROP PROCEDURE p1; # # Bug#54375: Error in stored procedure leaves connection # in different default schema # SET @@SQL_MODE = 'STRICT_ALL_TABLES'; DROP DATABASE IF EXISTS db1; CREATE DATABASE db1; USE db1; DROP TABLE IF EXISTS t1; CREATE TABLE t1 (c1 int NOT NULL PRIMARY KEY); INSERT INTO t1 VALUES (1); CREATE FUNCTION f1 ( some_value int ) RETURNS smallint DETERMINISTIC BEGIN INSERT INTO t1 SET c1 = some_value; RETURN(LAST_INSERT_ID()); END$$ DROP DATABASE IF EXISTS db2; CREATE DATABASE db2; USE db2; SELECT DATABASE(); DATABASE() db2 SELECT db1.f1(1); ERROR 23000: Duplicate entry '1' for key 'PRIMARY' SELECT DATABASE(); DATABASE() db2 USE test; DROP FUNCTION db1.f1; DROP TABLE db1.t1; DROP DATABASE db1; DROP DATABASE db2; USE test; # # Bug#13105873:valgrind warning:possible crash in foreign # key handling on subsequent create table if not exists # DROP DATABASE IF EXISTS testdb; CREATE DATABASE testdb; USE testdb; CREATE TABLE t1 (id1 INT PRIMARY KEY); CREATE PROCEDURE `p1`() BEGIN CREATE TABLE IF NOT EXISTS t2(id INT PRIMARY KEY, CONSTRAINT FK FOREIGN KEY (id) REFERENCES t1( id1 )); END$ CALL p1(); # below stmt should not return valgrind warnings CALL p1(); Warnings: Note 1050 Table 't2' already exists DROP DATABASE testdb; USE test; End of 5.1 tests # # Bug#11763507 - 56224: FUNCTION NAME IS CASE-SENSITIVE # SET @@SQL_MODE = ''; CREATE FUNCTION testf_bug11763507() RETURNS INT BEGIN RETURN 0; END $ CREATE PROCEDURE testp_bug11763507() BEGIN SELECT "PROCEDURE testp_bug11763507"; END $ SELECT testf_bug11763507(); testf_bug11763507() 0 SELECT TESTF_bug11763507(); TESTF_bug11763507() 0 SHOW FUNCTION STATUS LIKE 'testf_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testf_bug11763507 FUNCTION root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW FUNCTION STATUS WHERE NAME='testf_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testf_bug11763507 FUNCTION root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW FUNCTION STATUS LIKE 'TESTF_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testf_bug11763507 FUNCTION root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW FUNCTION STATUS WHERE NAME='TESTF_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testf_bug11763507 FUNCTION root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE FUNCTION testf_bug11763507; Function sql_mode Create Function character_set_client collation_connection Database Collation testf_bug11763507 CREATE DEFINER=`root`@`localhost` FUNCTION `testf_bug11763507`() RETURNS int(11) BEGIN RETURN 0; END latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE FUNCTION TESTF_bug11763507; Function sql_mode Create Function character_set_client collation_connection Database Collation testf_bug11763507 CREATE DEFINER=`root`@`localhost` FUNCTION `testf_bug11763507`() RETURNS int(11) BEGIN RETURN 0; END latin1 latin1_swedish_ci latin1_swedish_ci CALL testp_bug11763507(); PROCEDURE testp_bug11763507 PROCEDURE testp_bug11763507 CALL TESTP_bug11763507(); PROCEDURE testp_bug11763507 PROCEDURE testp_bug11763507 SHOW PROCEDURE STATUS LIKE 'testp_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testp_bug11763507 PROCEDURE root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW PROCEDURE STATUS WHERE NAME='testp_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testp_bug11763507 PROCEDURE root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW PROCEDURE STATUS LIKE 'TESTP_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testp_bug11763507 PROCEDURE root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW PROCEDURE STATUS WHERE NAME='TESTP_bug11763507'; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation test testp_bug11763507 PROCEDURE root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE PROCEDURE testp_bug11763507; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation testp_bug11763507 CREATE DEFINER=`root`@`localhost` PROCEDURE `testp_bug11763507`() BEGIN SELECT "PROCEDURE testp_bug11763507"; END latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE PROCEDURE TESTP_bug11763507; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation testp_bug11763507 CREATE DEFINER=`root`@`localhost` PROCEDURE `testp_bug11763507`() BEGIN SELECT "PROCEDURE testp_bug11763507"; END latin1 latin1_swedish_ci latin1_swedish_ci SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name LIKE 'testf_bug11763507'; specific_name testf_bug11763507 SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name LIKE 'TESTF_bug11763507'; specific_name testf_bug11763507 SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name='testf_bug11763507'; specific_name testf_bug11763507 SELECT specific_name FROM INFORMATION_SCHEMA.ROUTINES WHERE specific_name='TESTF_bug11763507'; specific_name testf_bug11763507 DROP PROCEDURE testp_bug11763507; DROP FUNCTION testf_bug11763507; #END OF BUG#11763507 test.