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.
							 |