mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	 c80ced4111
			
		
	
	c80ced4111
	
	
	
		
			
			The files below "mysql-test/suite/funcs_1" in version 5.1
did not depend on the equivalent ones in 5.0,
probably because they had been checked in independent of each other
in both versions.
Step 1:
Foreach file F in the suite that has a "deleted" counterpart D, use
    bk rm $F
    bk mv $D $F
to get those files into the 5.1 suite that (for BK) depend on 5.0.
		
	
		
			
				
	
	
		
			491 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			491 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| 
 | |
| --source suite/funcs_1/storedproc/load_sp_tb.inc
 | |
| --------------------------------------------------------------------------------
 | |
| SET @@global.max_heap_table_size=4294967295;
 | |
| SET @@session.max_heap_table_size=4294967295;
 | |
| 
 | |
| --source suite/funcs_1/storedproc/cleanup_sp_tb.inc
 | |
| --------------------------------------------------------------------------------
 | |
| DROP DATABASE IF EXISTS db_storedproc;
 | |
| DROP DATABASE IF EXISTS db_storedproc_1;
 | |
| CREATE DATABASE db_storedproc;
 | |
| CREATE DATABASE db_storedproc_1;
 | |
| USE db_storedproc;
 | |
| create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t1;
 | |
| create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t2;
 | |
| create table t3(f1 char(20),f2 char(20),f3 integer) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t3.txt' into table t3;
 | |
| create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t4;
 | |
| USE db_storedproc_1;
 | |
| create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t6;
 | |
| USE db_storedproc;
 | |
| create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t7;
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'f3' at row 1
 | |
| Warning	1265	Data truncated for column 'f3' at row 2
 | |
| Warning	1265	Data truncated for column 'f3' at row 3
 | |
| Warning	1265	Data truncated for column 'f3' at row 4
 | |
| Warning	1265	Data truncated for column 'f3' at row 5
 | |
| Warning	1265	Data truncated for column 'f3' at row 6
 | |
| Warning	1265	Data truncated for column 'f3' at row 7
 | |
| Warning	1265	Data truncated for column 'f3' at row 8
 | |
| Warning	1265	Data truncated for column 'f3' at row 9
 | |
| Warning	1265	Data truncated for column 'f3' at row 10
 | |
| create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t7.txt' into table t8;
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'f3' at row 1
 | |
| Warning	1265	Data truncated for column 'f3' at row 2
 | |
| Warning	1265	Data truncated for column 'f3' at row 3
 | |
| Warning	1265	Data truncated for column 'f3' at row 4
 | |
| Warning	1265	Data truncated for column 'f3' at row 5
 | |
| Warning	1265	Data truncated for column 'f3' at row 6
 | |
| Warning	1265	Data truncated for column 'f3' at row 7
 | |
| Warning	1265	Data truncated for column 'f3' at row 8
 | |
| Warning	1265	Data truncated for column 'f3' at row 9
 | |
| Warning	1265	Data truncated for column 'f3' at row 10
 | |
| create table t9(f1 int, f2 char(25), f3 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' into table t9;
 | |
| create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t10;
 | |
| create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = innodb;
 | |
| load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/t4.txt' into table t11;
 | |
| 
 | |
| Section 3.1.3 - Syntax checks for the stored procedure-specific flow
 | |
| control statements IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE:
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| Testcase 3.1.3.7:
 | |
| -----------------
 | |
| 
 | |
| Ensure that the IF statement acts correctly for all variants, including cases
 | |
| where statements are nested.
 | |
| --------------------------------------------------------------------------------
 | |
| DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| DROP PROCEDURE IF EXISTS sp9;
 | |
| CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 CHAR(20), f2 VARCHAR(20), f3 SMALLINT);
 | |
| CREATE PROCEDURE sp9( action char(20), subaction char(20) )
 | |
| BEGIN
 | |
| if action = 'action' then
 | |
| if subaction = 'subaction' then
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'subaction' , 1);
 | |
| else
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'none' , 2);
 | |
| END if;
 | |
| else
 | |
| if subaction = 'subaction'
 | |
|       then
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'subaction' , 3);
 | |
| elseif subaction = 'subaction1'
 | |
|       then
 | |
| BEGIN
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values ('none', 'subaction1', 4);
 | |
| END;
 | |
| else
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'none' , 5);
 | |
| END if;
 | |
| END if;
 | |
| END//
 | |
| CALL sp9( 'action', 'subaction' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=1;
 | |
| f1	f2	f3
 | |
| action	subaction	1
 | |
| CALL sp9( 'temp', 'subaction' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=3;
 | |
| f1	f2	f3
 | |
| none	subaction	3
 | |
| CALL sp9( 'temp', 'subaction1' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=4;
 | |
| f1	f2	f3
 | |
| none	subaction1	4
 | |
| CALL sp9( 'action', 'temp' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=2;
 | |
| f1	f2	f3
 | |
| action	none	2
 | |
| CALL sp9( 'temp', 'temp' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=5;
 | |
| f1	f2	f3
 | |
| none	none	5
 | |
| DROP PROCEDURE sp9;
 | |
| DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| 
 | |
| Testcase 3.1.3.8.:
 | |
| ------------------
 | |
| 
 | |
| Ensure that the CASE statement acts correctly for all variants, including cases
 | |
| where statements are nested.
 | |
| --------------------------------------------------------------------------------
 | |
| drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| DROP PROCEDURE IF EXISTS sp10;
 | |
| create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
 | |
| CREATE PROCEDURE sp10( action char(20), subaction char(20) )
 | |
| BEGIN
 | |
| case action
 | |
| when 'action' then
 | |
| case
 | |
| when subaction = 'subaction_1' then
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'subaction_2' , 1);
 | |
| when subaction = 'subaction_2' then
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'subaction_2' , 2);
 | |
| else
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'none' , 3);
 | |
| END case;
 | |
| else
 | |
| case
 | |
| when subaction = 'subaction_1' then
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'subaction_1' , 4);
 | |
| when subaction = 'subaction_2' then
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'subaction_2' , 5);
 | |
| else
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'none' , 6);
 | |
| END case;
 | |
| END case;
 | |
| END//
 | |
| CALL sp10( 'action', 'subaction_1' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| action	subaction_2	1
 | |
| delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| CALL sp10( 'action', 'subaction_2' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| action	subaction_2	2
 | |
| delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| CALL sp10( 'temp', 'subaction_1' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| none	subaction_1	4
 | |
| delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| CALL sp10( 'temp', 'subaction_2' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| none	subaction_2	5
 | |
| delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| CALL sp10( 'action', 'temp' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| action	none	3
 | |
| delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| CALL sp10( 'temp', 'temp' );
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| none	none	6
 | |
| DROP PROCEDURE sp10;
 | |
| DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| 
 | |
| Testcase 3.1.3.9 + 3.1.3.15:
 | |
| ----------------------------
 | |
| 
 | |
| 09. Ensure that the LOOP statement acts correctly for all variants, including
 | |
| .   cases where statements are nested.
 | |
| 15. Ensure that the LEAVE statement acts correctly for all variants, including
 | |
| .   cases where statements are nested.
 | |
| --------------------------------------------------------------------------------
 | |
| DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| DROP PROCEDURE IF EXISTS sp11;
 | |
| CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 CHAR(20), f2 VARCHAR(20), f3 SMALLINT);
 | |
| CREATE PROCEDURE sp11( )
 | |
| BEGIN
 | |
| declare count1 integer default 1;
 | |
| declare count2 integer default 1;
 | |
| label1: loop
 | |
| if count2 > 3 then leave label1;
 | |
| END if;
 | |
| set count1 = 1;
 | |
| label2: loop
 | |
| if count1 > 4 then leave label2;
 | |
| END if;
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
 | |
| set count1 = count1 + 1;
 | |
| iterate label2;
 | |
| END loop label2;
 | |
| set count2 = count2 + 1;
 | |
| iterate label1;
 | |
| END loop label1;
 | |
| END//
 | |
| CALL sp11();
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| xyz	pqr	1
 | |
| xyz	pqr	2
 | |
| xyz	pqr	3
 | |
| xyz	pqr	4
 | |
| xyz	pqr	1
 | |
| xyz	pqr	2
 | |
| xyz	pqr	3
 | |
| xyz	pqr	4
 | |
| xyz	pqr	1
 | |
| xyz	pqr	2
 | |
| xyz	pqr	3
 | |
| xyz	pqr	4
 | |
| DROP PROCEDURE sp11;
 | |
| DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| 
 | |
| Testcase 3.1.3.16:
 | |
| ------------------
 | |
| 
 | |
| Ensure that the ITERATE statement acts correctly for all variants, including
 | |
| cases where statements are nested.
 | |
| (tests for this testcase are also included in other testcases)
 | |
| --------------------------------------------------------------------------------
 | |
| DROP PROCEDURE IF EXISTS sp31316;
 | |
| CREATE PROCEDURE sp31316( )
 | |
| BEGIN
 | |
| declare count1 integer default 1;
 | |
| declare count2 integer default 1;
 | |
| label1: loop
 | |
| if count2 > 3 then leave label1;
 | |
| END if;
 | |
| set count1 = 1;
 | |
| label2: loop
 | |
| if count1 > 4 then leave label2;
 | |
| END if;
 | |
| insert into temp values( count1, count2);
 | |
| set count1 = count1 + 1;
 | |
| iterate label3;
 | |
| END loop label2;
 | |
| set count2 = count2 + 1;
 | |
| iterate label1;
 | |
| END loop label1;
 | |
| END//
 | |
| ERROR 42000: ITERATE with no matching label: label3
 | |
| 
 | |
| Testcase 3.1.3.18:
 | |
| ------------------
 | |
| 
 | |
| Ensure that the REPEAT statement acts correctly for all variants, including
 | |
| cases where statements are nested.
 | |
| --------------------------------------------------------------------------------
 | |
| DROP PROCEDURE IF EXISTS sp17;
 | |
| DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 CHAR(20), f2 VARCHAR(20), f3 SMALLINT);
 | |
| CREATE PROCEDURE sp17( )
 | |
| BEGIN
 | |
| declare count1 integer default 1;
 | |
| declare count2 integer default 1;
 | |
| repeat
 | |
| set count1 = count1 + 1;
 | |
| set count2 = 1;
 | |
| label1: repeat
 | |
| set count2 = count2 + 1;
 | |
| insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
 | |
| until count2 > 3
 | |
| END repeat label1;
 | |
| until count1 > 3
 | |
| END repeat;
 | |
| END//
 | |
| CALL sp17();
 | |
| SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| f1	f2	f3
 | |
| xyz	pqr	2
 | |
| xyz	pqr	2
 | |
| xyz	pqr	2
 | |
| xyz	pqr	3
 | |
| xyz	pqr	3
 | |
| xyz	pqr	3
 | |
| xyz	pqr	4
 | |
| xyz	pqr	4
 | |
| xyz	pqr	4
 | |
| DROP PROCEDURE sp17;
 | |
| DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
 | |
| 
 | |
| Testcase 3.1.3.24:
 | |
| ------------------
 | |
| 
 | |
| Ensure that the WHILE statement acts correctly for all variants, including cases
 | |
| where statements are nested.
 | |
| --------------------------------------------------------------------------------
 | |
| drop table IF EXISTS res_t21;
 | |
| DROP PROCEDURE IF EXISTS sp21;
 | |
| create table res_t21(name text(10), surname blob(20), age_averylongfieldname_averylongname_1234569 smallint);
 | |
| insert into res_t21 values('ashwin', 'mokadam', 25);
 | |
| CREATE PROCEDURE sp21( )
 | |
| BEGIN
 | |
| declare count1 integer default 0;
 | |
| declare count2 integer default 0;
 | |
| while count1 < 3 do
 | |
| BEGIN
 | |
| declare ithisissamevariablename int default 100;
 | |
| SELECT ithisissamevariablename;
 | |
| BEGIN
 | |
| declare ithisissamevariablename int default 200;
 | |
| SELECT ithisissamevariablename;
 | |
| END;
 | |
| set count2 = 0;
 | |
| label1: while count2 < 3 do
 | |
| BEGIN
 | |
| declare count1 integer default 7;
 | |
| set count2 = count2 + 1;
 | |
| insert into res_t21 values( 'xyz' , 'pqr', count2);
 | |
| label2: while count1 < 10 do
 | |
| set count1 = count1 + 1;
 | |
| insert into res_t21 values( 'xyz' , 'pqr', count1);
 | |
| END while label2;
 | |
| END;
 | |
| END while label1;
 | |
| set count1 = count1 + 1;
 | |
| END;
 | |
| END while;
 | |
| END//
 | |
| CALL sp21();
 | |
| ithisissamevariablename
 | |
| 100
 | |
| ithisissamevariablename
 | |
| 200
 | |
| ithisissamevariablename
 | |
| 100
 | |
| ithisissamevariablename
 | |
| 200
 | |
| ithisissamevariablename
 | |
| 100
 | |
| ithisissamevariablename
 | |
| 200
 | |
| SELECT * from res_t21;
 | |
| name	surname	age_averylongfieldname_averylongname_1234569
 | |
| ashwin	mokadam	25
 | |
| xyz	pqr	1
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	2
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	3
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	1
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	2
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	3
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	1
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	2
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| xyz	pqr	3
 | |
| xyz	pqr	8
 | |
| xyz	pqr	9
 | |
| xyz	pqr	10
 | |
| DROP PROCEDURE sp21;
 | |
| drop table res_t21;
 | |
| 
 | |
| Testcase 3.1.3.30:
 | |
| ------------------
 | |
| 
 | |
| Ensure that multiple cases of all possible combinations of the control flow
 | |
| statements, nested within multiple compound statements within a stored
 | |
| procedure, always act correctly and return the expected result.
 | |
| --------------------------------------------------------------------------------
 | |
| DROP TABLE IF EXISTS res_tbl;
 | |
| DROP PROCEDURE IF EXISTS sp31330;
 | |
| create table res_tbl (f1 int, f2 text, f3 blob, f4 date,
 | |
| f5 set('one', 'two', 'three', 'four', 'five') default 'one');
 | |
| CREATE PROCEDURE sp31330 (path int)
 | |
| BEGIN
 | |
| declare count int default 1;
 | |
| declare var1 text;
 | |
| declare var2 blob;
 | |
| declare var3 date;
 | |
| declare var4 set('one', 'two', 'three', 'four', 'five') DEFAULT 'five';
 | |
| case
 | |
| when path=1 then
 | |
| set var3 = '2000-11-09';
 | |
| set var1 = 'flowing through case 1';
 | |
| label1: loop
 | |
| if count > 5 then
 | |
| if var4=1000 then
 | |
| set var2 = 'exiting out of case 1 - invalid SET';
 | |
| END if;
 | |
| if var4='two' then
 | |
| set var2 = 'exiting out of case 1';
 | |
| END if;
 | |
| insert into res_tbl values (1, var1, var2, var3, (count-2));
 | |
| leave label1;
 | |
| elseif count = 5 then
 | |
| set count= count + 2;
 | |
| set var4='two';
 | |
| iterate label1;
 | |
| else
 | |
| set count= count + 1;
 | |
| END if;
 | |
| set var4='one';
 | |
| END loop label1;
 | |
| when path=2 then
 | |
| set var3 = '1989-11-09';
 | |
| set var1 = 'flowing through case 2';
 | |
| set @count3=0;
 | |
| label2: repeat
 | |
| set count=count + 1;
 | |
| set @count2=1;
 | |
| while @count2 <= 5 do
 | |
| set @count2 = @count2 + 1;
 | |
| END while;
 | |
| SELECT @count2;
 | |
| set @count3=@count3 + @count2;
 | |
| until count > 5
 | |
| END repeat label2;
 | |
| set var2 = 'exiting out of case 2';
 | |
| set var4 = count-3;
 | |
| SELECT @count3;
 | |
| insert into res_tbl values (2, var1, var2, var3, var4);
 | |
| ELSE BEGIN
 | |
| set @error_opt='undefined path specified';
 | |
| SELECT @error_opt;
 | |
| END;
 | |
| END case;
 | |
| END//
 | |
| CALL sp31330();
 | |
| ERROR 42000: Incorrect number of arguments for PROCEDURE db_storedproc.sp31330; expected 1, got 0
 | |
| CALL sp31330(1);
 | |
| SELECT * from res_tbl;
 | |
| f1	f2	f3	f4	f5
 | |
| 1	flowing through case 1	exiting out of case 1	2000-11-09	one,three
 | |
| CALL sp31330(2);
 | |
| @count2
 | |
| 6
 | |
| @count2
 | |
| 6
 | |
| @count2
 | |
| 6
 | |
| @count2
 | |
| 6
 | |
| @count2
 | |
| 6
 | |
| @count3
 | |
| 30
 | |
| SELECT * from res_tbl;
 | |
| f1	f2	f3	f4	f5
 | |
| 1	flowing through case 1	exiting out of case 1	2000-11-09	one,three
 | |
| 2	flowing through case 2	exiting out of case 2	1989-11-09	one,two
 | |
| CALL sp31330(4);
 | |
| @error_opt
 | |
| undefined path specified
 | |
| DROP PROCEDURE sp31330;
 | |
| drop table res_tbl;
 | |
| 
 | |
| --source suite/funcs_1/storedproc/cleanup_sp_tb.inc
 | |
| --------------------------------------------------------------------------------
 | |
| DROP DATABASE IF EXISTS db_storedproc;
 | |
| DROP DATABASE IF EXISTS db_storedproc_1;
 | |
| 
 | |
| .                               +++ END OF SCRIPT +++
 | |
| --------------------------------------------------------------------------------
 |