223 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			223 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | # | ||
|  | # 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 | ||
|  | 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. |