1# suite/funcs_1/t/storedproc.test
2#
3# Check general properties of stored procedures.
4#
5# Last Modification:
6# 2008-08-27 mleich - Fix Bug#37744 Expected result of "<engine>_storedproc"
7#                                   test is inconsistent
8#                   - remove variation of storage engines
9#                   - restore global sort_buffer_size after some subtest
10#
11############################################################################
12
13--source include/default_charset.inc
14set sql_mode="";
15
16# Bug#37746 - Arithmetic range ("int") is smaller than expected
17# This code is in place to ensure this test is only skipped
18# for the Win64 platform
19if(`SELECT CONVERT(@@version_compile_os using latin1) IN ("Win64")`)
20{
21--skip Bug#37746 2009-07-07 pcrews Arithmetic range ("int") is smaller than expected
22}
23
24
25
26
27# This test cannot be used for the embedded server because we check here
28# privileges.
29--source include/not_embedded.inc
30
31# It is assumed that the storage engine used for some tables has no impact on
32# the outcome of this test. Therefor we use simply the fastest engine.
33let $engine_type= memory;
34
35--source suite/funcs_1/storedproc/load_sp_tb.inc
36
37
38# ==============================================================================
39echo;
40echo
41Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE
42FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW
43CREATE PROCEDURE, SHOW CREATE FUNCTION, SHOW CREATE PROCEDURE STATUS, SHOW
44CREATE FUNCTION STATUS, and CALL statements:;
45echo --------------------------------------------------------------------------------;
46
47
48# ------------------------------------------------------------------------------
49echo;
50echo
51Testcase 4.1.1:
52---------------
53Ensure that all clauses that should be supported are supported
54CREATE PROCEDURE;
55echo --------------------------------------------------------------------------------;
56
57USE db_storedproc;
58
59--disable_warnings
60--error ER_TOO_LONG_IDENT
61DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
62--enable_warnings
63
64--error ER_TOO_LONG_IDENT
65CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934 (f1 char(20) )
66            SELECT * from t1 where f2 = f1;
67--error ER_TOO_LONG_IDENT
68CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934('aaaa');
69
70--disable_warnings
71--error ER_TOO_LONG_IDENT
72DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
73--enable_warnings
74
75delimiter //;
76--error ER_TOO_LONG_IDENT
77CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( f1 TINYTEXT )
78   LANGUAGE SQL DETERMINISTIC SQL SECURITY DEFINER COMMENT 'this is simple'
79BEGIN
80   SET @v1 = f1;
81   SELECT @v1, @v1;
82END//
83delimiter ;//
84
85--error ER_TOO_LONG_IDENT
86CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' );
87
88--replace_column 5 <modified> 6 <created>
89SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
90
91--disable_warnings
92DROP PROCEDURE IF EXISTS sp1;
93--enable_warnings
94
95delimiter //;
96CREATE PROCEDURE sp1( f1 BINARY )
97   LANGUAGE SQL DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
98BEGIN
99   SET @v1 = f1;
100   SELECT @v1;
101END//
102delimiter ;//
103
104CALL sp1( 34 );
105
106--replace_column 5 <modified> 6 <created>
107SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
108
109--disable_warnings
110DROP PROCEDURE IF EXISTS sp1;
111--enable_warnings
112
113delimiter //;
114CREATE PROCEDURE sp1( f1 BLOB )
115   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
116BEGIN
117   set @v1 = f1;
118   SELECT @v1;
119END//
120delimiter ;//
121
122CALL sp1( 34 );
123
124--replace_column 5 <modified> 6 <created>
125SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
126
127--disable_warnings
128DROP PROCEDURE IF EXISTS sp1;
129--enable_warnings
130
131delimiter //;
132CREATE PROCEDURE sp1( f1 INT )
133   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
134BEGIN
135   SET @v1 = f1;
136   SELECT @v1;
137END//
138delimiter ;//
139
140CALL sp1( 34 );
141
142--replace_column 5 <modified> 6 <created>
143SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
144
145--disable_warnings
146DROP PROCEDURE IF EXISTS sp1;
147--enable_warnings
148
149delimiter //;
150--error ER_TOO_BIG_PRECISION
151CREATE PROCEDURE sp1( f1 DECIMAL(256, 30) )
152   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
153BEGIN
154   SET @v1 = f1;
155   SELECT @v1;
156END//
157DROP PROCEDURE IF EXISTS sp1//
158
159--error ER_TOO_BIG_PRECISION
160CREATE PROCEDURE sp1( f1 DECIMAL(66, 30) )
161   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
162BEGIN
163   SET @v1 = f1;
164   SELECT @v1;
165END//
166DROP PROCEDURE IF EXISTS sp1//
167delimiter ;//
168
169
170# Check assignment of float values to DECIMAL(65, 30) parameters of
171# PRODDUREs and FUNCTIONs.
172###########################################################################
173# - The assignment of float values causes that conversions with OS/compiler
174#   specific math libraries are involved.
175#   --> The content depends on the testing box and simple printing
176#       of content will often lead to differences.
177# - We have the same conversions when assigning float values to columns
178#   of tables.
179# --> Reveal that we have a consistent behaviour per testing box.
180#
181# Checks that floating point values assigned to objects of type DECIMAL
182# end up with correct DECIMAL values (truncated to a border of the DECIMAL
183# value range or reasonable nearby the floating point value) must be done
184# in other tests.
185###########################################################################
186--disable_warnings
187DROP TABLE IF EXISTS t1_aux;
188DROP PROCEDURE IF EXISTS sproc_1;
189DROP FUNCTION IF EXISTS func_1;
190--enable_warnings
191CREATE TABLE t1_aux ( f1 DECIMAL(65, 30) );
192INSERT INTO t1_aux SET f1 = NULL;
193delimiter //;
194CREATE PROCEDURE sproc_1(f1 DECIMAL(65, 30), OUT f2 DECIMAL(65, 30))
195   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
196BEGIN
197   SET f2 = NULL;
198   SET f2 = f1;
199   SET @v2_proc = f1;
200END//
201CREATE FUNCTION func_1(f1 DECIMAL(65, 30)) RETURNS DECIMAL(65,30)
202   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
203BEGIN
204    RETURN f1;
205END//
206delimiter ;//
207--replace_column 5 <modified> 6 <created>
208SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
209--replace_column 5 <modified> 6 <created>
210SHOW FUNCTION STATUS WHERE db = 'db_storedproc';
211
212let $test_value = 1.7976931348623157493578e+308;
213--source suite/funcs_1/storedproc/param_check.inc
214#
215# Check all ...E+nnn
216let digits= 100;
217let $run= 1;
218while ($run)
219{
220   let $test_value = 0.1234567890987654321e+$digits;
221   --source suite/funcs_1/storedproc/param_check.inc
222   let $run = `SELECT $digits > 0`;
223   if ($run)
224   {
225      dec $digits;
226   }
227}
228# Check all ...E-nnn
229let digits= 100;
230let $run= 1;
231while ($run)
232{
233   let $test_value = 0.1234567890987654321e-$digits;
234   --source suite/funcs_1/storedproc/param_check.inc
235   let $run = `SELECT $digits > 0`;
236   if ($run)
237   {
238      dec $digits;
239   }
240}
241
242# Cleanup
243DROP PROCEDURE sproc_1;
244DROP FUNCTION  func_1;
245DROP TABLE     t1_aux;
246
247--disable_warnings
248DROP PROCEDURE IF EXISTS sp1;
249--enable_warnings
250
251delimiter //;
252CREATE PROCEDURE sp1( f1 ENUM("value1", "value1") )
253   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
254BEGIN
255   SELECT f1;
256END//
257delimiter ;//
258
259CALL sp1( "value1" );
260
261--replace_column 5 <modified> 6 <created>
262SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
263
264--disable_warnings
265DROP PROCEDURE IF EXISTS sp1;
266--enable_warnings
267
268delimiter //;
269CREATE PROCEDURE sp1( f1 SET("value1", "value1") )
270   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
271BEGIN
272   SELECT f1;
273END//
274delimiter ;//
275
276CALL sp1( "value1, value1" );
277
278--replace_column 5 <modified> 6 <created>
279SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
280
281--disable_warnings
282DROP PROCEDURE IF EXISTS sp1;
283--enable_warnings
284
285delimiter //;
286CREATE PROCEDURE sp1( f1 ENUM("value1", "value1") )
287   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
288BEGIN
289   SELECT f1;
290END//
291delimiter ;//
292
293CALL sp1( "value1" );
294
295--replace_column 5 <modified> 6 <created>
296SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
297
298--disable_warnings
299DROP PROCEDURE IF EXISTS sp1;
300--enable_warnings
301
302CREATE PROCEDURE sp1( f1 TEXT ) LANGUAGE SQL SELECT f1;
303
304CALL sp1( 'abc' );
305
306--replace_column 5 <modified> 6 <created>
307SHOW PROCEDURE STATUS LIKE 'sp1';
308
309--disable_warnings
310DROP PROCEDURE IF EXISTS sp1;
311--enable_warnings
312
313CREATE PROCEDURE sp1( f1 text ) deterministic SELECT f1;
314CALL sp1( 'abc' );
315
316--replace_column 5 <modified> 6 <created>
317SHOW PROCEDURE STATUS LIKE 'sp1';
318
319--disable_warnings
320DROP PROCEDURE IF EXISTS sp1;
321--enable_warnings
322
323CREATE PROCEDURE sp1( f1 TEXT ) NOT DETERMINISTIC SELECT f1;
324CALL sp1( 'abc' );
325
326--replace_column 5 <modified> 6 <created>
327SHOW PROCEDURE STATUS LIKE 'sp1';
328
329--disable_warnings
330DROP PROCEDURE IF EXISTS sp1;
331--enable_warnings
332
333CREATE PROCEDURE sp1( f1 TEXT ) SQL SECURITY DEFINER SELECT f1;
334CALL sp1( 'abc' );
335
336--replace_column 5 <modified> 6 <created>
337SHOW PROCEDURE STATUS LIKE 'sp1';
338
339--disable_warnings
340DROP PROCEDURE IF EXISTS sp1;
341--enable_warnings
342
343CREATE PROCEDURE sp1( f1 TEXT ) SQL SECURITY INVOKER SELECT f1;
344CALL sp1( 'abc' );
345
346--replace_column 5 <modified> 6 <created>
347SHOW PROCEDURE STATUS LIKE 'sp1';
348
349--disable_warnings
350DROP PROCEDURE IF EXISTS sp1;
351--enable_warnings
352
353CREATE PROCEDURE sp1( f1 TEXT ) COMMENT 'this is simple' SELECT f1;
354CALL sp1( 'abc' );
355
356--replace_column 5 <modified> 6 <created>
357SHOW PROCEDURE STATUS LIKE 'sp1';
358
359# cleanup
360DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
361DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
362DROP PROCEDURE sp1;
363
364# ------------------------------------------------------------------------------
365let $message= Testcase 4.1.2:
366              ---------------
367              Ensure that all clauses that should be supported are supported
368              CREATE FUNCTION;
369--source include/show_msg80.inc
370
371
372--disable_warnings
373DROP FUNCTION IF EXISTS fn1;
374--enable_warnings
375
376CREATE FUNCTION fn1 (s CHAR(20)) RETURNS CHAR(50)
377   RETURN CONCAT('hello, ', s, '!');
378SELECT fn1('world');
379
380--disable_warnings
381DROP FUNCTION IF EXISTS fn1;
382--enable_warnings
383
384delimiter //;
385CREATE FUNCTION fn1( f1 MEDIUMTEXT ) RETURNS MEDIUMTEXT
386   LANGUAGE SQL DETERMINISTIC SQL SECURITY DEFINER COMMENT 'this is simple'
387BEGIN
388   SET @v1 = 'hello';
389   SET f1 = CONCAT( @v1, f1 );
390   RETURN f1;
391END//
392delimiter ;//
393
394SELECT fn1( ' world');
395
396--replace_column 5 <modified> 6 <created>
397SHOW FUNCTION STATUS LIKE 'fn1';
398
399--disable_warnings
400DROP FUNCTION IF EXISTS fn1;
401--enable_warnings
402
403delimiter //;
404CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT
405   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
406BEGIN
407   SET f1 = 1 + f1;
408   RETURN f1;
409END//
410delimiter ;//
411
412SELECT fn1( 126 );
413
414--replace_column 5 <modified> 6 <created>
415SHOW FUNCTION STATUS LIKE 'fn1';
416
417--disable_warnings
418DROP FUNCTION IF EXISTS fn1;
419--enable_warnings
420
421delimiter //;
422# 1425: Too big scale 63 specified for column ''. Maximum is 39.
423--error ER_TOO_BIG_SCALE
424CREATE FUNCTION fn1( f1 DECIMAL(63, 61) ) RETURNS DECIMAL(63, 61)
425   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
426BEGIN
427   SET f1 = 1000000 + f1;
428   RETURN f1;
429END//
430delimiter ;//
431
432--error ER_SP_DOES_NOT_EXIST
433SELECT fn1( 1.3326e+8 );
434
435delimiter //;
436CREATE FUNCTION fn1( f1 DECIMAL(63, 30) ) RETURNS DECIMAL(63, 30)
437   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
438BEGIN
439   SET f1 = 1000000 + f1;
440   RETURN f1;
441END//
442delimiter ;//
443
444SELECT fn1( 1.3326e+8 );
445
446--replace_column 5 <modified> 6 <created>
447SHOW FUNCTION STATUS LIKE 'fn1';
448
449--disable_warnings
450DROP FUNCTION IF EXISTS fn1;
451--enable_warnings
452
453delimiter //;
454CREATE FUNCTION fn1( f1 ENUM("value1", "value1") ) RETURNS DECIMAL(63, 30)
455   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
456BEGIN
457   RETURN f1;
458END//
459delimiter ;//
460
461# warnings for this select disabled due to diffs with/without --ps-protocol:
462# without ps-protocol the following warning is shown:
463# +Note   1291    Column '' has duplicated value 'value1' in SET
464# +Warning        1265    Data truncated for column 'f1' at row 1
465# Reported as BUG#33396
466--disable_warnings
467SELECT fn1( "value1" );
468--enable_warnings
469
470--replace_column 5 <modified> 6 <created>
471SHOW FUNCTION STATUS LIKE 'fn1';
472
473--disable_warnings
474DROP FUNCTION IF EXISTS fn1;
475--enable_warnings
476
477delimiter //;
478CREATE FUNCTION fn1( f1 SET("value1", "value1") ) RETURNS DECIMAL(63, 30)
479   LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
480BEGIN
481   RETURN f1;
482END//
483delimiter ;//
484
485# warnings for this select disabled due to diffs with/without --ps-protocol:
486# without ps-protocol the following warning is shown:
487# +Note   1291    Column '' has duplicated value 'value1' in SET
488# +Warning        1265    Data truncated for column 'f1' at row 1
489# Reported as BUG#33396
490--disable_warnings
491SELECT fn1( "value1, value1" );
492--enable_warnings
493
494--replace_column 5 <modified> 6 <created>
495SHOW FUNCTION STATUS LIKE 'fn1';
496
497--disable_warnings
498DROP FUNCTION IF EXISTS fn1;
499--enable_warnings
500
501delimiter //;
502CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT LANGUAGE SQL
503BEGIN
504   SET f1 = 1 + f1;
505   RETURN f1;
506END//
507delimiter ;//
508
509SELECT fn1( 126 );
510
511--replace_column 5 <modified> 6 <created>
512SHOW FUNCTION STATUS LIKE 'fn1';
513
514--disable_warnings
515DROP FUNCTION IF EXISTS fn1;
516--enable_warnings
517
518delimiter //;
519CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT DETERMINISTIC
520BEGIN
521   SET f1 = 1 + f1;
522   RETURN f1;
523END//
524delimiter ;//
525
526SELECT fn1( 126 );
527
528--replace_column 5 <modified> 6 <created>
529SHOW FUNCTION STATUS LIKE 'fn1';
530
531--disable_warnings
532DROP FUNCTION IF EXISTS fn1;
533--enable_warnings
534
535delimiter //;
536CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT NOT DETERMINISTIC
537BEGIN
538   SET f1 = 1 + f1;
539   RETURN f1;
540END//
541delimiter ;//
542
543SELECT fn1( 126 );
544
545--replace_column 5 <modified> 6 <created>
546SHOW FUNCTION STATUS LIKE 'fn1';
547
548--disable_warnings
549DROP FUNCTION IF EXISTS fn1;
550--enable_warnings
551
552delimiter //;
553CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT SQL SECURITY DEFINER
554BEGIN
555   SET f1 = 1 + f1;
556   RETURN f1;
557END//
558delimiter ;//
559
560SELECT fn1( 126 );
561
562--replace_column 5 <modified> 6 <created>
563SHOW FUNCTION STATUS LIKE 'fn1';
564
565--disable_warnings
566DROP FUNCTION IF EXISTS fn1;
567--enable_warnings
568
569delimiter //;
570CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT SQL SECURITY INVOKER
571BEGIN
572  SET f1 = 1 + f1;
573  RETURN f1;
574END//
575delimiter ;//
576
577SELECT fn1( 126 );
578
579--replace_column 5 <modified> 6 <created>
580SHOW FUNCTION STATUS LIKE 'fn1';
581
582--disable_warnings
583DROP FUNCTION IF EXISTS fn1;
584--enable_warnings
585
586delimiter //;
587CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT COMMENT 'this is simple'
588BEGIN
589   SET f1 = 1 + f1;
590   RETURN f1;
591END//
592delimiter ;//
593
594SELECT fn1( 126 );
595
596--replace_column 5 <modified> 6 <created>
597SHOW FUNCTION STATUS LIKE 'fn1';
598
599# cleanup
600DROP FUNCTION fn1;
601
602# ------------------------------------------------------------------------------
603let $message= Testcase 4.1.3:
604              ---------------
605              Ensure that all clauses that should be supported are supported
606              SHOW CREATE PROC;
607--source include/show_msg80.inc
608
609--disable_warnings
610DROP PROCEDURE IF EXISTS sp1;
611--enable_warnings
612
613CREATE PROCEDURE sp1 (f1 char(20) )
614    SELECT * from t1 where f2 = f1;
615
616--replace_column 5 <modified> 6 <created>
617show CREATE PROCEDURE sp1;
618
619# cleanup
620DROP PROCEDURE sp1;
621
622# ------------------------------------------------------------------------------
623let $message= Testcase 4.1.4:
624              ---------------
625show create function;
626--source include/show_msg80.inc
627
628--disable_warnings
629DROP FUNCTION IF EXISTS fn1;
630--enable_warnings
631
632CREATE FUNCTION fn1 (s char(20)) returns char(50)
633   return concat('hello, ', s, '!');
634
635--replace_column 5 <modified> 6 <created>
636show CREATE FUNCTION fn1;
637
638# cleanup
639DROP FUNCTION fn1;
640
641# ------------------------------------------------------------------------------
642let $message= Testcase 4.1.5:
643              ---------------
644SHOW PROCEDURE status;
645--source include/show_msg80.inc
646
647
648CREATE PROCEDURE sp5()
649   SELECT * from t1;
650
651--replace_column 5 <modified> 6 <created>
652SHOW PROCEDURE status like 'sp5';
653
654# cleanup
655DROP PROCEDURE sp5;
656
657# ------------------------------------------------------------------------------
658let $message= Testcase 4.1.6:
659              ---------------
660show function status;
661--source include/show_msg80.inc
662
663
664delimiter //;
665CREATE FUNCTION fn5(a int) returns int
666BEGIN
667   set @b = 0.9 * a;
668   return @b;
669END//
670delimiter ;//
671
672--replace_column 5 <modified> 6 <created>
673SHOW FUNCTION STATUS LIKE 'fn5';
674
675# cleanup
676DROP FUNCTION fn5;
677
678# ------------------------------------------------------------------------------
679let $message= Testcase 4.1.7:
680              ---------------
681CALL procedure;
682--source include/show_msg80.inc
683
684--disable_warnings
685DROP PROCEDURE IF EXISTS sp7a;
686DROP PROCEDURE IF EXISTS sp7b;
687DROP PROCEDURE IF EXISTS sp7c;
688--enable_warnings
689
690CREATE PROCEDURE sp7a(a char(20))
691    SELECT * from t1 where t1.f2 = a;
692
693CALL sp7a( 'xyz' );
694
695CREATE PROCEDURE sp7b (a char (20), out b char(20))
696    SELECT f1 into b from t1 where t1.f2= a;
697
698CALL sp7b('xyz', @out_param);
699SELECT @out_param;
700
701delimiter //;
702CREATE PROCEDURE sp7c (a char (20), out b char(20), inout c int)
703BEGIN
704SELECT f1 into b from t1 where t1.f2=a;
705   update t1 set t1.f2=999 where t1.f4=c;
706SELECT f2 into c from t1 where t1.f2=999;
707END//
708delimiter ;//
709
710--disable_warnings
711set @c=1;
712CALL sp7c('xyz', @out_param, @c);
713SELECT @out_param;
714SELECT @c;
715--enable_warnings
716
717# cleanup
718DROP PROCEDURE sp7a;
719DROP PROCEDURE sp7b;
720DROP PROCEDURE sp7c;
721
722
723# ------------------------------------------------------------------------------
724let $message= Testcase 4.1.8:
725              ---------------
726calling function;
727--source include/show_msg80.inc
728
729
730CREATE FUNCTION fn8(a char(20)) returns char(50)
731return concat('hello, ', a, '!');
732SELECT fn8('world');
733
734# cleanup
735DROP FUNCTION fn8;
736
737# ------------------------------------------------------------------------------
738let $message= Testcase 4.1.9:
739              ---------------
740drop procedure;
741--source include/show_msg80.inc
742
743--sorted_result
744--replace_column 13 created 14 modified
745SELECT * from mysql.proc where specific_name='sp9';
746
747--disable_warnings
748DROP PROCEDURE IF EXISTS sp9;
749--enable_warnings
750
751--sorted_result
752--replace_column 13 created 14 modified
753SELECT * from mysql.proc where specific_name='sp9';
754
755CREATE PROCEDURE sp9()SELECT * from t1;
756
757--sorted_result
758--replace_column 13 created 14 modified
759SELECT * from mysql.proc where specific_name='sp9';
760
761DROP PROCEDURE sp9;
762
763--sorted_result
764--replace_column 13 created 14 modified
765SELECT * from mysql.proc where specific_name='sp9';
766
767CREATE PROCEDURE sp9()SELECT * from t1;
768
769--sorted_result
770--replace_column 13 created 14 modified
771SELECT * from mysql.proc where specific_name='sp9';
772
773DROP PROCEDURE IF EXISTS sp9;
774
775--sorted_result
776--replace_column 13 created 14 modified
777SELECT * from mysql.proc where specific_name='sp9';
778
779# ------------------------------------------------------------------------------
780let $message= Testcase 4.1.10:
781              ----------------
782DROP FUNCTION;
783--source include/show_msg80.inc
784
785--replace_column 13 created 14 modified
786SELECT * from mysql.proc where specific_name='fn10' and type='function';
787
788--disable_warnings
789DROP FUNCTION IF EXISTS fn10;
790--enable_warnings
791
792--replace_column 13 created 14 modified
793SELECT * from mysql.proc where specific_name='fn10' and type='function';
794
795
796CREATE FUNCTION fn10() returns int return 100;
797
798--replace_column 13 created 14 modified
799SELECT * from mysql.proc where specific_name='fn10' and type='function';
800
801DROP FUNCTION fn10;
802
803--replace_column 13 created 14 modified
804SELECT * from mysql.proc where specific_name='fn10' and type='function';
805
806CREATE FUNCTION fn10() returns int return 100;
807
808--replace_column 13 created 14 modified
809SELECT * from mysql.proc where specific_name='fn10' and type='function';
810
811DROP FUNCTION IF EXISTS fn10;
812
813--replace_column 13 created 14 modified
814SELECT * from mysql.proc where specific_name='fn10' and type='function';
815
816
817# ------------------------------------------------------------------------------
818let $message= Testcase 4.1.11:
819              ----------------
820alter proc;
821--source include/show_msg80.inc
822
823
824create user 'user_1'@'localhost';
825grant execute on db_storedproc.* to 'user_1'@'localhost';
826flush privileges;
827drop table IF EXISTS mysql.t1;
828create table mysql.t1( f1 char );
829DROP PROCEDURE IF EXISTS sp11;
830CREATE PROCEDURE sp11() insert into mysql.t1 values('a');
831--replace_column 13 created 14 modified
832SELECT security_type from mysql.proc where specific_name='sp11';
833
834--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
835connect (u_1, localhost, user_1, , db_storedproc);
836--source suite/funcs_1/include/show_connection.inc
837
838CALL sp11();
839
840connection default;
841USE db_storedproc;
842--source suite/funcs_1/include/show_connection.inc
843
844alter procedure sp11 sql security invoker;
845--replace_column 13 created 14 modified
846SELECT security_type from mysql.proc where specific_name='sp11';
847
848--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
849connection u_1;
850--source suite/funcs_1/include/show_connection.inc
851USE db_storedproc;
852
853--error ER_TABLEACCESS_DENIED_ERROR
854CALL sp11();
855
856commit work;
857disconnect u_1;
858connection default;
859--source suite/funcs_1/include/show_connection.inc
860
861alter procedure sp11 sql security DEFINER;
862--replace_column 13 created 14 modified
863SELECT security_type from mysql.proc where specific_name='sp11';
864CALL sp11();
865
866# cleanup
867DROP USER 'user_1'@'localhost';
868DROP PROCEDURE sp11;
869drop table mysql.t1;
870
871
872# ------------------------------------------------------------------------------
873let $message= Testcase 4.1.12:
874              ----------------
875alter function;
876--source include/show_msg80.inc
877
878
879CREATE FUNCTION fn12() returns int
880 return 100;
881SELECT security_type from mysql.proc where specific_name='fn12';
882--replace_column 13 created 14 modified
883SELECT fn12();
884
885alter function fn12 sql security invoker;
886SELECT security_type from mysql.proc where specific_name='fn12';
887--replace_column 13 created 14 modified
888SELECT fn12();
889
890alter function fn12 sql security DEFINER;
891SELECT security_type from mysql.proc where specific_name='fn12';
892--replace_column 13 created 14 modified
893SELECT fn12();
894
895# cleanup
896DROP FUNCTION fn12;
897
898
899# ------------------------------------------------------------------------------
900let $message= Testcase 4.1.13:
901              ----------------
902alter proc;
903--source include/show_msg80.inc
904
905
906DROP PROCEDURE IF EXISTS sp11;
907CREATE PROCEDURE sp11()
908   SELECT * from t1;
909
910SELECT comment from mysql.proc where specific_name='sp11';
911--replace_column 13 created 14 modified
912alter procedure sp11 comment 'this is simple';
913SELECT comment from mysql.proc where specific_name='sp11';
914--replace_column 13 created 14 modified
915
916# cleanup
917DROP PROCEDURE sp11;
918
919
920# ------------------------------------------------------------------------------
921let $message= Testcase 4.1.14:
922              ----------------
923alter function;
924--source include/show_msg80.inc
925
926DROP FUNCTION IF EXISTS fn12;
927CREATE FUNCTION fn12() returns int
928    return 100;
929  SELECT comment from mysql.proc where specific_name='fn12';
930--replace_column 13 created 14 modified
931
932  alter function fn12 comment 'this is simple';
933  SELECT comment from mysql.proc where specific_name='fn12';
934--replace_column 13 created 14 modified
935
936# cleanup
937DROP FUNCTION fn12;
938
939
940# ------------------------------------------------------------------------------
941let $message= Testcase 4.1.15:
942              ----------------
943Ensure that any invalid stored procedure name is never accepted, and that an
944appropriate error message is returned when the name is rejected;
945--source include/show_msg80.inc
946
947
948--error ER_SP_NO_DROP_SP
949CREATE PROCEDURE sp1()
950DROP PROCEDURE sp1;
951
952--error ER_PARSE_ERROR
953CREATE PROCEDURE !_sp1( f1 char(20) )
954SELECT * from t1 where f2 = f1;
955
956CREATE PROCEDURE function()
957   SELECT * from t1 where f2=f1;
958DROP PROCEDURE function;
959
960--error ER_PARSE_ERROR
961CREATE PROCEDURE accessible()
962   SELECT * from t1 where f2=f1;
963
964--error ER_PARSE_ERROR
965CREATE PROCEDURE add()
966   SELECT * from t1 where f2=f1;
967
968--error ER_PARSE_ERROR
969CREATE PROCEDURE all()
970   SELECT * from t1 where f2=f1;
971
972--error ER_PARSE_ERROR
973CREATE PROCEDURE alter()
974   SELECT * from t1 where f2=f1;
975
976--error ER_PARSE_ERROR
977CREATE PROCEDURE analyze()
978   SELECT * from t1 where f2=f1;
979
980--error ER_PARSE_ERROR
981CREATE PROCEDURE and()
982   SELECT * from t1 where f2=f1;
983
984--error ER_PARSE_ERROR
985CREATE PROCEDURE as()
986   SELECT * from t1 where f2=f1;
987
988--error ER_PARSE_ERROR
989CREATE PROCEDURE asc()
990   SELECT * from t1 where f2=f1;
991
992--error ER_PARSE_ERROR
993CREATE PROCEDURE asensitive()
994   SELECT * from t1 where f2=f1;
995
996--error ER_PARSE_ERROR
997CREATE PROCEDURE before()
998   SELECT * from t1 where f2=f1;
999
1000--error ER_PARSE_ERROR
1001CREATE PROCEDURE between()
1002   SELECT * from t1 where f2=f1;
1003
1004--error ER_PARSE_ERROR
1005CREATE PROCEDURE bigint()
1006   SELECT * from t1 where f2=f1;
1007
1008--error ER_PARSE_ERROR
1009CREATE PROCEDURE binary()
1010   SELECT * from t1 where f2=f1;
1011
1012--error ER_PARSE_ERROR
1013CREATE PROCEDURE blob()
1014   SELECT * from t1 where f2=f1;
1015
1016--error ER_PARSE_ERROR
1017CREATE PROCEDURE both()
1018   SELECT * from t1 where f2=f1;
1019
1020--error ER_PARSE_ERROR
1021CREATE PROCEDURE by()
1022   SELECT * from t1 where f2=f1;
1023
1024--error ER_PARSE_ERROR
1025CREATE PROCEDURE call()
1026   SELECT * from t1 where f2=f1;
1027
1028--error ER_PARSE_ERROR
1029CREATE PROCEDURE cascade()
1030   SELECT * from t1 where f2=f1;
1031
1032--error ER_PARSE_ERROR
1033CREATE PROCEDURE case()
1034   SELECT * from t1 where f2=f1;
1035
1036--error ER_PARSE_ERROR
1037CREATE PROCEDURE change()
1038   SELECT * from t1 where f2=f1;
1039
1040--error ER_PARSE_ERROR
1041CREATE PROCEDURE char()
1042   SELECT * from t1 where f2=f1;
1043
1044--error ER_PARSE_ERROR
1045CREATE PROCEDURE character()
1046   SELECT * from t1 where f2=f1;
1047
1048--error ER_PARSE_ERROR
1049CREATE PROCEDURE check()
1050   SELECT * from t1 where f2=f1;
1051
1052--error ER_PARSE_ERROR
1053CREATE PROCEDURE collate()
1054   SELECT * from t1 where f2=f1;
1055
1056--error ER_PARSE_ERROR
1057CREATE PROCEDURE column()
1058   SELECT * from t1 where f2=f1;
1059
1060--error ER_PARSE_ERROR
1061CREATE PROCEDURE condition()
1062   SELECT * from t1 where f2=f1;
1063
1064--error ER_PARSE_ERROR
1065CREATE PROCEDURE constraint()
1066   SELECT * from t1 where f2=f1;
1067
1068--error ER_PARSE_ERROR
1069CREATE PROCEDURE continue()
1070   SELECT * from t1 where f2=f1;
1071
1072--error ER_PARSE_ERROR
1073CREATE PROCEDURE convert()
1074   SELECT * from t1 where f2=f1;
1075
1076--error ER_PARSE_ERROR
1077CREATE PROCEDURE create()
1078   SELECT * from t1 where f2=f1;
1079
1080--error ER_PARSE_ERROR
1081CREATE PROCEDURE cross()
1082   SELECT * from t1 where f2=f1;
1083
1084--error ER_PARSE_ERROR
1085CREATE PROCEDURE current_date()
1086  SELECT * from t1 where f2=f1;
1087
1088--error ER_PARSE_ERROR
1089CREATE PROCEDURE current_time()
1090   SELECT * from t1 where f2=f1;
1091
1092--error ER_PARSE_ERROR
1093CREATE PROCEDURE current_timestamp()
1094   SELECT * from t1 where f2=f1;
1095
1096--error ER_PARSE_ERROR
1097CREATE PROCEDURE current_user()
1098   SELECT * from t1 where f2=f1;
1099
1100--error ER_PARSE_ERROR
1101CREATE PROCEDURE cursor()
1102  SELECT * from t1 where f2=f1;
1103
1104--error ER_PARSE_ERROR
1105CREATE PROCEDURE database()
1106   SELECT * from t1 where f2=f1;
1107
1108--error ER_PARSE_ERROR
1109CREATE PROCEDURE databases()
1110   SELECT * from t1 where f2=f1;
1111
1112--error ER_PARSE_ERROR
1113CREATE PROCEDURE day_hour()
1114   SELECT * from t1 where f2=f1;
1115
1116--error ER_PARSE_ERROR
1117CREATE PROCEDURE day_microsecond()
1118   SELECT * from t1 where f2=f1;
1119
1120--error ER_PARSE_ERROR
1121CREATE PROCEDURE day_minute()
1122   SELECT * from t1 where f2=f1;
1123
1124--error ER_PARSE_ERROR
1125CREATE PROCEDURE day_second()
1126   SELECT * from t1 where f2=f1;
1127
1128--error ER_PARSE_ERROR
1129CREATE PROCEDURE dec()
1130   SELECT * from t1 where f2=f1;
1131
1132--error ER_PARSE_ERROR
1133CREATE PROCEDURE decimal()
1134   SELECT * from t1 where f2=f1;
1135
1136--error ER_PARSE_ERROR
1137CREATE PROCEDURE declare()
1138   SELECT * from t1 where f2=f1;
1139
1140--error ER_PARSE_ERROR
1141CREATE PROCEDURE default()
1142   SELECT * from t1 where f2=f1;
1143
1144--error ER_PARSE_ERROR
1145CREATE PROCEDURE delayed()
1146   SELECT * from t1 where f2=f1;
1147
1148--error ER_PARSE_ERROR
1149CREATE PROCEDURE delete()
1150   SELECT * from t1 where f2=f1;
1151
1152--error ER_PARSE_ERROR
1153CREATE PROCEDURE desc()
1154   SELECT * from t1 where f2=f1;
1155
1156--error ER_PARSE_ERROR
1157CREATE PROCEDURE describe()
1158   SELECT * from t1 where f2=f1;
1159
1160--error ER_PARSE_ERROR
1161CREATE PROCEDURE deterministic()
1162   SELECT * from t1 where f2=f1;
1163
1164--error ER_PARSE_ERROR
1165CREATE PROCEDURE distinct()
1166   SELECT * from t1 where f2=f1;
1167
1168--error ER_PARSE_ERROR
1169CREATE PROCEDURE distinctrow()
1170   SELECT * from t1 where f2=f1;
1171
1172--error ER_PARSE_ERROR
1173CREATE PROCEDURE div()
1174   SELECT * from t1 where f2=f1;
1175
1176--error ER_PARSE_ERROR
1177CREATE PROCEDURE double()
1178   SELECT * from t1 where f2=f1;
1179
1180--error ER_PARSE_ERROR
1181CREATE PROCEDURE drop()
1182   SELECT * from t1 where f2=f1;
1183
1184--error ER_PARSE_ERROR
1185CREATE PROCEDURE dual()
1186   SELECT * from t1 where f2=f1;
1187
1188--error ER_PARSE_ERROR
1189CREATE PROCEDURE each()
1190   SELECT * from t1 where f2=f1;
1191
1192--error ER_PARSE_ERROR
1193CREATE PROCEDURE else()
1194   SELECT * from t1 where f2=f1;
1195
1196--error ER_PARSE_ERROR
1197CREATE PROCEDURE elseif()
1198   SELECT * from t1 where f2=f1;
1199
1200--error ER_PARSE_ERROR
1201CREATE PROCEDURE enclosed()
1202   SELECT * from t1 where f2=f1;
1203
1204--error ER_PARSE_ERROR
1205CREATE PROCEDURE escaped()
1206   SELECT * from t1 where f2=f1;
1207
1208--error ER_PARSE_ERROR
1209CREATE PROCEDURE exists()
1210   SELECT * from t1 where f2=f1;
1211
1212--error ER_PARSE_ERROR
1213CREATE PROCEDURE exit()
1214   SELECT * from t1 where f2=f1;
1215
1216--error ER_PARSE_ERROR
1217CREATE PROCEDURE explain()
1218   SELECT * from t1 where f2=f1;
1219
1220--error ER_PARSE_ERROR
1221CREATE PROCEDURE false()
1222   SELECT * from t1 where f2=f1;
1223
1224--error ER_PARSE_ERROR
1225CREATE PROCEDURE fetch()
1226   SELECT * from t1 where f2=f1;
1227
1228#--error ER_PARSE_ERROR
1229CREATE PROCEDURE fields()
1230   SELECT * from t1 where f2=f1;
1231DROP PROCEDURE fields;
1232
1233--error ER_PARSE_ERROR
1234CREATE PROCEDURE float()
1235   SELECT * from t1 where f2=f1;
1236
1237--error ER_PARSE_ERROR
1238CREATE PROCEDURE for()
1239   SELECT * from t1 where f2=f1;
1240
1241--error ER_PARSE_ERROR
1242CREATE PROCEDURE force()
1243   SELECT * from t1 where f2=f1;
1244
1245--error ER_PARSE_ERROR
1246CREATE PROCEDURE foreign()
1247   SELECT * from t1 where f2=f1;
1248
1249--error ER_PARSE_ERROR
1250CREATE PROCEDURE from()
1251   SELECT * from t1 where f2=f1;
1252
1253--error ER_PARSE_ERROR
1254CREATE PROCEDURE fulltext()
1255   SELECT * from t1 where f2=f1;
1256
1257--error ER_PARSE_ERROR
1258CREATE PROCEDURE grant()
1259   SELECT * from t1 where f2=f1;
1260
1261--error ER_PARSE_ERROR
1262CREATE PROCEDURE group()
1263   SELECT * from t1 where f2=f1;
1264
1265--error ER_PARSE_ERROR
1266CREATE PROCEDURE having()
1267   SELECT * from t1 where f2=f1;
1268
1269--error ER_PARSE_ERROR
1270CREATE PROCEDURE high_priority()
1271   SELECT * from t1 where f2=f1;
1272
1273--error ER_PARSE_ERROR
1274CREATE PROCEDURE hour_microsecond()
1275   SELECT * from t1 where f2=f1;
1276
1277--error ER_PARSE_ERROR
1278CREATE PROCEDURE hour_minute()
1279   SELECT * from t1 where f2=f1;
1280
1281--error ER_PARSE_ERROR
1282CREATE PROCEDURE hour_second()
1283   SELECT * from t1 where f2=f1;
1284
1285--error ER_PARSE_ERROR
1286CREATE PROCEDURE if()
1287   SELECT * from t1 where f2=f1;
1288
1289--error ER_PARSE_ERROR
1290CREATE PROCEDURE ignore()
1291   SELECT * from t1 where f2=f1;
1292
1293--error ER_PARSE_ERROR
1294CREATE PROCEDURE in()
1295   SELECT * from t1 where f2=f1;
1296
1297--error ER_PARSE_ERROR
1298CREATE PROCEDURE index()
1299   SELECT * from t1 where f2=f1;
1300
1301--error ER_PARSE_ERROR
1302CREATE PROCEDURE infile()
1303   SELECT * from t1 where f2=f1;
1304
1305--error ER_PARSE_ERROR
1306CREATE PROCEDURE inner()
1307   SELECT * from t1 where f2=f1;
1308
1309--error ER_PARSE_ERROR
1310CREATE PROCEDURE inout()
1311   SELECT * from t1 where f2=f1;
1312
1313--error ER_PARSE_ERROR
1314CREATE PROCEDURE insensitive()
1315   SELECT * from t1 where f2=f1;
1316
1317--error ER_PARSE_ERROR
1318CREATE PROCEDURE insert()
1319   SELECT * from t1 where f2=f1;
1320
1321--error ER_PARSE_ERROR
1322CREATE PROCEDURE int()
1323   SELECT * from t1 where f2=f1;
1324
1325--error ER_PARSE_ERROR
1326CREATE PROCEDURE int1()
1327   SELECT * from t1 where f2=f1;
1328
1329--error ER_PARSE_ERROR
1330CREATE PROCEDURE int2()
1331   SELECT * from t1 where f2=f1;
1332
1333--error ER_PARSE_ERROR
1334CREATE PROCEDURE int3()
1335   SELECT * from t1 where f2=f1;
1336
1337--error ER_PARSE_ERROR
1338CREATE PROCEDURE int4()
1339   SELECT * from t1 where f2=f1;
1340
1341--error ER_PARSE_ERROR
1342CREATE PROCEDURE int8()
1343   SELECT * from t1 where f2=f1;
1344
1345--error ER_PARSE_ERROR
1346CREATE PROCEDURE integer()
1347   SELECT * from t1 where f2=f1;
1348
1349--error ER_PARSE_ERROR
1350CREATE PROCEDURE interval()
1351   SELECT * from t1 where f2=f1;
1352
1353--error ER_PARSE_ERROR
1354CREATE PROCEDURE into()
1355   SELECT * from t1 where f2=f1;
1356
1357--error ER_PARSE_ERROR
1358CREATE PROCEDURE is()
1359   SELECT * from t1 where f2=f1;
1360
1361--error ER_PARSE_ERROR
1362CREATE PROCEDURE iterate()
1363   SELECT * from t1 where f2=f1;
1364
1365--error ER_PARSE_ERROR
1366CREATE PROCEDURE join()
1367   SELECT * from t1 where f2=f1;
1368
1369--error ER_PARSE_ERROR
1370CREATE PROCEDURE key()
1371   SELECT * from t1 where f2=f1;
1372
1373--error ER_PARSE_ERROR
1374CREATE PROCEDURE keys()
1375   SELECT * from t1 where f2=f1;
1376
1377--error ER_PARSE_ERROR
1378CREATE PROCEDURE kill()
1379   SELECT * from t1 where f2=f1;
1380
1381--error ER_PARSE_ERROR
1382CREATE PROCEDURE leading()
1383   SELECT * from t1 where f2=f1;
1384
1385--error ER_PARSE_ERROR
1386CREATE PROCEDURE leave()
1387   SELECT * from t1 where f2=f1;
1388
1389--error ER_PARSE_ERROR
1390CREATE PROCEDURE left()
1391   SELECT * from t1 where f2=f1;
1392
1393--error ER_PARSE_ERROR
1394CREATE PROCEDURE like()
1395   SELECT * from t1 where f2=f1;
1396
1397--error ER_PARSE_ERROR
1398CREATE PROCEDURE limit()
1399   SELECT * from t1 where f2=f1;
1400
1401--error ER_PARSE_ERROR
1402CREATE PROCEDURE linear()
1403   SELECT * from t1 where f2=f1;
1404
1405--error ER_PARSE_ERROR
1406CREATE PROCEDURE lines()
1407   SELECT * from t1 where f2=f1;
1408
1409--error ER_PARSE_ERROR
1410CREATE PROCEDURE load()
1411   SELECT * from t1 where f2=f1;
1412
1413--error ER_PARSE_ERROR
1414CREATE PROCEDURE localtime()
1415   SELECT * from t1 where f2=f1;
1416
1417--error ER_PARSE_ERROR
1418CREATE PROCEDURE localtimestamp()
1419   SELECT * from t1 where f2=f1;
1420
1421--error ER_PARSE_ERROR
1422CREATE PROCEDURE lock()
1423   SELECT * from t1 where f2=f1;
1424
1425--error ER_PARSE_ERROR
1426CREATE PROCEDURE long()
1427   SELECT * from t1 where f2=f1;
1428
1429--error ER_PARSE_ERROR
1430CREATE PROCEDURE longblob()
1431   SELECT * from t1 where f2=f1;
1432
1433--error ER_PARSE_ERROR
1434CREATE PROCEDURE longtext()
1435   SELECT * from t1 where f2=f1;
1436
1437--error ER_PARSE_ERROR
1438CREATE PROCEDURE loop()
1439   SELECT * from t1 where f2=f1;
1440
1441--error ER_PARSE_ERROR
1442CREATE PROCEDURE low_priority()
1443   SELECT * from t1 where f2=f1;
1444
1445--error ER_PARSE_ERROR
1446CREATE PROCEDURE master_ssl_verify_server_cert()
1447   SELECT * from t1 where f2=f1;
1448
1449--error ER_PARSE_ERROR
1450CREATE PROCEDURE match()
1451   SELECT * from t1 where f2=f1;
1452
1453--error ER_PARSE_ERROR
1454CREATE PROCEDURE mediumblob()
1455   SELECT * from t1 where f2=f1;
1456
1457--error ER_PARSE_ERROR
1458CREATE PROCEDURE mediumint()
1459   SELECT * from t1 where f2=f1;
1460
1461--error ER_PARSE_ERROR
1462CREATE PROCEDURE mediumtext()
1463   SELECT * from t1 where f2=f1;
1464
1465--error ER_PARSE_ERROR
1466CREATE PROCEDURE middleint()
1467   SELECT * from t1 where f2=f1;
1468
1469--error ER_PARSE_ERROR
1470CREATE PROCEDURE minute_microsecond()
1471   SELECT * from t1 where f2=f1;
1472
1473--error ER_PARSE_ERROR
1474CREATE PROCEDURE minute_second()
1475   SELECT * from t1 where f2=f1;
1476
1477--error ER_PARSE_ERROR
1478CREATE PROCEDURE mod()
1479   SELECT * from t1 where f2=f1;
1480
1481--error ER_PARSE_ERROR
1482CREATE PROCEDURE modifies()
1483   SELECT * from t1 where f2=f1;
1484
1485--error ER_PARSE_ERROR
1486CREATE PROCEDURE natural()
1487   SELECT * from t1 where f2=f1;
1488
1489--error ER_PARSE_ERROR
1490CREATE PROCEDURE not()
1491   SELECT * from t1 where f2=f1;
1492
1493--error ER_PARSE_ERROR
1494CREATE PROCEDURE no_write_to_binlog()
1495   SELECT * from t1 where f2=f1;
1496
1497--error ER_PARSE_ERROR
1498CREATE PROCEDURE null()
1499   SELECT * from t1 where f2=f1;
1500
1501--error ER_PARSE_ERROR
1502CREATE PROCEDURE numeric()
1503   SELECT * from t1 where f2=f1;
1504
1505--error ER_PARSE_ERROR
1506CREATE PROCEDURE on()
1507   SELECT * from t1 where f2=f1;
1508
1509--error ER_PARSE_ERROR
1510CREATE PROCEDURE optimize()
1511   SELECT * from t1 where f2=f1;
1512
1513CREATE PROCEDURE option()
1514   SELECT * from t1 where f2=f1;
1515DROP PROCEDURE option;
1516
1517--error ER_PARSE_ERROR
1518CREATE PROCEDURE optionally()
1519   SELECT * from t1 where f2=f1;
1520
1521--error ER_PARSE_ERROR
1522CREATE PROCEDURE or()
1523   SELECT * from t1 where f2=f1;
1524
1525--error ER_PARSE_ERROR
1526CREATE PROCEDURE order()
1527   SELECT * from t1 where f2=f1;
1528
1529--error ER_PARSE_ERROR
1530CREATE PROCEDURE out()
1531   SELECT * from t1 where f2=f1;
1532
1533--error ER_PARSE_ERROR
1534CREATE PROCEDURE outer()
1535   SELECT * from t1 where f2=f1;
1536
1537--error ER_PARSE_ERROR
1538CREATE PROCEDURE outfile()
1539   SELECT * from t1 where f2=f1;
1540
1541--error ER_PARSE_ERROR
1542CREATE PROCEDURE precision()
1543   SELECT * from t1 where f2=f1;
1544
1545--error ER_PARSE_ERROR
1546CREATE PROCEDURE primary()
1547   SELECT * from t1 where f2=f1;
1548
1549--error ER_PARSE_ERROR
1550CREATE PROCEDURE procedure()
1551   SELECT * from t1 where f2=f1;
1552
1553--error ER_PARSE_ERROR
1554CREATE PROCEDURE purge()
1555   SELECT * from t1 where f2=f1;
1556
1557--error ER_PARSE_ERROR
1558CREATE PROCEDURE range()
1559   SELECT * from t1 where f2=f1;
1560
1561--error ER_PARSE_ERROR
1562CREATE PROCEDURE read()
1563   SELECT * from t1 where f2=f1;
1564
1565--error ER_PARSE_ERROR
1566CREATE PROCEDURE reads()
1567   SELECT * from t1 where f2=f1;
1568
1569--error ER_PARSE_ERROR
1570CREATE PROCEDURE real()
1571   SELECT * from t1 where f2=f1;
1572
1573--error ER_PARSE_ERROR
1574CREATE PROCEDURE references()
1575   SELECT * from t1 where f2=f1;
1576
1577--error ER_PARSE_ERROR
1578CREATE PROCEDURE regexp()
1579   SELECT * from t1 where f2=f1;
1580
1581--error ER_PARSE_ERROR
1582CREATE PROCEDURE release()
1583   SELECT * from t1 where f2=f1;
1584
1585--error ER_PARSE_ERROR
1586CREATE PROCEDURE rename()
1587   SELECT * from t1 where f2=f1;
1588
1589--error ER_PARSE_ERROR
1590CREATE PROCEDURE repeat()
1591   SELECT * from t1 where f2=f1;
1592
1593--error ER_PARSE_ERROR
1594CREATE PROCEDURE replace()
1595   SELECT * from t1 where f2=f1;
1596
1597--error ER_PARSE_ERROR
1598CREATE PROCEDURE require()
1599   SELECT * from t1 where f2=f1;
1600
1601--error ER_PARSE_ERROR
1602CREATE PROCEDURE restrict()
1603   SELECT * from t1 where f2=f1;
1604
1605--error ER_PARSE_ERROR
1606CREATE PROCEDURE return()
1607   SELECT * from t1 where f2=f1;
1608
1609--error ER_PARSE_ERROR
1610CREATE PROCEDURE revoke()
1611   SELECT * from t1 where f2=f1;
1612
1613--error ER_PARSE_ERROR
1614CREATE PROCEDURE right()
1615   SELECT * from t1 where f2=f1;
1616
1617--error ER_PARSE_ERROR
1618CREATE PROCEDURE rlike()
1619   SELECT * from t1 where f2=f1;
1620
1621--error ER_PARSE_ERROR
1622CREATE PROCEDURE schema()
1623   SELECT * from t1 where f2=f1;
1624
1625--error ER_PARSE_ERROR
1626CREATE PROCEDURE schemas()
1627   SELECT * from t1 where f2=f1;
1628
1629--error ER_PARSE_ERROR
1630CREATE PROCEDURE second_microsecond()
1631   SELECT * from t1 where f2=f1;
1632
1633--error ER_PARSE_ERROR
1634CREATE PROCEDURE select()
1635   SELECT * from t1 where f2=f1;
1636
1637--error ER_PARSE_ERROR
1638CREATE PROCEDURE sensitive()
1639   SELECT * from t1 where f2=f1;
1640
1641--error ER_PARSE_ERROR
1642CREATE PROCEDURE separator()
1643   SELECT * from t1 where f2=f1;
1644
1645--error ER_PARSE_ERROR
1646CREATE PROCEDURE set()
1647   SELECT * from t1 where f2=f1;
1648
1649--error ER_PARSE_ERROR
1650CREATE PROCEDURE show()
1651   SELECT * from t1 where f2=f1;
1652
1653--error ER_PARSE_ERROR
1654CREATE PROCEDURE smallint()
1655   SELECT * from t1 where f2=f1;
1656
1657--error ER_PARSE_ERROR
1658CREATE PROCEDURE spatial()
1659   SELECT * from t1 where f2=f1;
1660
1661--error ER_PARSE_ERROR
1662CREATE PROCEDURE specific()
1663   SELECT * from t1 where f2=f1;
1664
1665--error ER_PARSE_ERROR
1666CREATE PROCEDURE sql()
1667   SELECT * from t1 where f2=f1;
1668
1669--error ER_PARSE_ERROR
1670CREATE PROCEDURE sqlexception()
1671   SELECT * from t1 where f2=f1;
1672
1673--error ER_PARSE_ERROR
1674CREATE PROCEDURE sqlstate()
1675   SELECT * from t1 where f2=f1;
1676
1677--error ER_PARSE_ERROR
1678CREATE PROCEDURE sqlwarning()
1679   SELECT * from t1 where f2=f1;
1680
1681--error ER_PARSE_ERROR
1682CREATE PROCEDURE sql_big_result()
1683   SELECT * from t1 where f2=f1;
1684
1685--error ER_PARSE_ERROR
1686CREATE PROCEDURE sql_calc_found_rows()
1687   SELECT * from t1 where f2=f1;
1688
1689--error ER_PARSE_ERROR
1690CREATE PROCEDURE sql_small_result()
1691   SELECT * from t1 where f2=f1;
1692
1693--error ER_PARSE_ERROR
1694CREATE PROCEDURE ssl()
1695   SELECT * from t1 where f2=f1;
1696
1697--error ER_PARSE_ERROR
1698CREATE PROCEDURE starting()
1699   SELECT * from t1 where f2=f1;
1700
1701--error ER_PARSE_ERROR
1702CREATE PROCEDURE straight_join()
1703   SELECT * from t1 where f2=f1;
1704
1705--error ER_PARSE_ERROR
1706CREATE PROCEDURE table()
1707   SELECT * from t1 where f2=f1;
1708
1709--error ER_PARSE_ERROR
1710CREATE PROCEDURE terminated()
1711   SELECT * from t1 where f2=f1;
1712
1713--error ER_PARSE_ERROR
1714CREATE PROCEDURE then()
1715   SELECT * from t1 where f2=f1;
1716
1717--error ER_PARSE_ERROR
1718CREATE PROCEDURE tinyblob()
1719   SELECT * from t1 where f2=f1;
1720
1721--error ER_PARSE_ERROR
1722CREATE PROCEDURE tinyint()
1723   SELECT * from t1 where f2=f1;
1724
1725--error ER_PARSE_ERROR
1726CREATE PROCEDURE tinytext()
1727   SELECT * from t1 where f2=f1;
1728
1729--error ER_PARSE_ERROR
1730CREATE PROCEDURE to()
1731   SELECT * from t1 where f2=f1;
1732
1733--error ER_PARSE_ERROR
1734CREATE PROCEDURE trailing()
1735   SELECT * from t1 where f2=f1;
1736
1737--error ER_PARSE_ERROR
1738CREATE PROCEDURE trigger()
1739   SELECT * from t1 where f2=f1;
1740
1741--error ER_PARSE_ERROR
1742CREATE PROCEDURE true()
1743   SELECT * from t1 where f2=f1;
1744
1745--error ER_PARSE_ERROR
1746CREATE PROCEDURE undo()
1747   SELECT * from t1 where f2=f1;
1748
1749--error ER_PARSE_ERROR
1750CREATE PROCEDURE union()
1751   SELECT * from t1 where f2=f1;
1752
1753--error ER_PARSE_ERROR
1754CREATE PROCEDURE unique()
1755   SELECT * from t1 where f2=f1;
1756
1757--error ER_PARSE_ERROR
1758CREATE PROCEDURE unlock()
1759   SELECT * from t1 where f2=f1;
1760
1761--error ER_PARSE_ERROR
1762CREATE PROCEDURE unsigned()
1763   SELECT * from t1 where f2=f1;
1764
1765--error ER_PARSE_ERROR
1766CREATE PROCEDURE update()
1767   SELECT * from t1 where f2=f1;
1768
1769--error ER_PARSE_ERROR
1770CREATE PROCEDURE usage()
1771   SELECT * from t1 where f2=f1;
1772
1773--error ER_PARSE_ERROR
1774CREATE PROCEDURE use()
1775   SELECT * from t1 where f2=f1;
1776
1777--error ER_PARSE_ERROR
1778CREATE PROCEDURE using()
1779   SELECT * from t1 where f2=f1;
1780
1781--error ER_PARSE_ERROR
1782CREATE PROCEDURE utc_date()
1783   SELECT * from t1 where f2=f1;
1784
1785--error ER_PARSE_ERROR
1786CREATE PROCEDURE utc_time()
1787   SELECT * from t1 where f2=f1;
1788
1789--error ER_PARSE_ERROR
1790CREATE PROCEDURE utc_timestamp()
1791   SELECT * from t1 where f2=f1;
1792
1793--error ER_PARSE_ERROR
1794CREATE PROCEDURE values()
1795   SELECT * from t1 where f2=f1;
1796
1797--error ER_PARSE_ERROR
1798CREATE PROCEDURE varbinary()
1799   SELECT * from t1 where f2=f1;
1800
1801--error ER_PARSE_ERROR
1802CREATE PROCEDURE varchar()
1803   SELECT * from t1 where f2=f1;
1804
1805--error ER_PARSE_ERROR
1806CREATE PROCEDURE varcharacter()
1807   SELECT * from t1 where f2=f1;
1808
1809--error ER_PARSE_ERROR
1810CREATE PROCEDURE varying()
1811   SELECT * from t1 where f2=f1;
1812
1813--error ER_PARSE_ERROR
1814CREATE PROCEDURE when()
1815   SELECT * from t1 where f2=f1;
1816
1817--error ER_PARSE_ERROR
1818CREATE PROCEDURE where()
1819   SELECT * from t1 where f2=f1;
1820
1821--error ER_PARSE_ERROR
1822CREATE PROCEDURE while()
1823   SELECT * from t1 where f2=f1;
1824
1825--error ER_PARSE_ERROR
1826CREATE PROCEDURE with()
1827   SELECT * from t1 where f2=f1;
1828
1829--error ER_PARSE_ERROR
1830CREATE PROCEDURE write()
1831   SELECT * from t1 where f2=f1;
1832
1833--error ER_PARSE_ERROR
1834CREATE PROCEDURE xor()
1835   SELECT * from t1 where f2=f1;
1836
1837--error ER_PARSE_ERROR
1838CREATE PROCEDURE year_month()
1839   SELECT * from t1 where f2=f1;
1840
1841--error ER_PARSE_ERROR
1842CREATE PROCEDURE zerofill()
1843   SELECT * from t1 where f2=f1;
1844
1845
1846# ------------------------------------------------------------------------------
1847let $message= Testcase 4.1.15:
1848              ----------------
1849Ensure that any invalid function name is never accepted, and that an appropriate
1850error message is returned when the name is rejected;
1851--source include/show_msg80.inc
1852
1853
1854--error ER_PARSE_ERROR
1855CREATE FUNCTION !_fn1(f1 char) returns char
1856    return f1;
1857
1858--disable_warnings
1859--error ER_PARSE_ERROR
1860CREATE FUNCTION char(f1 char) returns char
1861    return f1;
1862
1863--error ER_PARSE_ERROR
1864CREATE FUNCTION char binary(f1 char binary) returns char binary
1865    return f1;
1866--error ER_PARSE_ERROR
1867CREATE FUNCTION char ascii(f1 char ascii) returns char ascii
1868    return f1;
1869
1870--error ER_PARSE_ERROR
1871CREATE FUNCTION char not null(f1 char not null) returns char not null
1872    return f1;
1873
1874--error ER_PARSE_ERROR
1875CREATE FUNCTION char binary not null(f1 char binary not null) returns char binary not null
1876    return f1;
1877
1878--error ER_PARSE_ERROR
1879CREATE FUNCTION char ascii not null(f1 char ascii not null) returns char ascii not null
1880    return f1;
1881
1882--error ER_PARSE_ERROR
1883CREATE FUNCTION tinytext(f1 tinytext) returns tinytext
1884    return f1;
1885
1886#--error ER_PARSE_ERROR
1887CREATE FUNCTION text(f1 text) returns text
1888    return f1;
1889  DROP FUNCTION text;
1890
1891--error ER_PARSE_ERROR
1892CREATE FUNCTION mediumtext(f1 mediumtext) returns mediumtext
1893    return f1;
1894
1895--error ER_PARSE_ERROR
1896CREATE FUNCTION longtext(f1 longtext) returns longtext
1897    return f1;
1898
1899--error ER_PARSE_ERROR
1900CREATE FUNCTION tinytext not null(f1 tinytext not null) returns tinytext not null
1901    return f1;
1902
1903--error ER_PARSE_ERROR
1904CREATE FUNCTION text not null(f1 text not null) returns text not null
1905    return f1;
1906
1907--error ER_PARSE_ERROR
1908CREATE FUNCTION mediumtext not null(f1 mediumtext not null) returns mediumtext not null
1909    return f1;
1910
1911--error ER_PARSE_ERROR
1912CREATE FUNCTION longtext not null(f1 longtext not null) returns longtext not null
1913    return f1;
1914
1915--error ER_PARSE_ERROR
1916CREATE FUNCTION tinyblob(f1 tinyblob) returns tinyblob
1917    return f1;
1918
1919--error ER_PARSE_ERROR
1920CREATE FUNCTION blob(f1 blob) returns blob
1921    return f1;
1922
1923--error ER_PARSE_ERROR
1924CREATE FUNCTION mediumblob(f1 mediumblob) returns mediumblob
1925    return f1;
1926
1927--error ER_PARSE_ERROR
1928CREATE FUNCTION longblob(f1 longblob) returns longblob
1929    return f1;
1930
1931--error ER_PARSE_ERROR
1932CREATE FUNCTION tinyblob not null(f1 tinyblob not null) returns tinyblob not null
1933    return f1;
1934
1935--error ER_PARSE_ERROR
1936CREATE FUNCTION blob not null(f1 blob not null) returns blob not null
1937    return f1;
1938
1939--error ER_PARSE_ERROR
1940CREATE FUNCTION mediumblob not null(f1 mediumblob not null) returns mediumblob not null
1941    return f1;
1942
1943--error ER_PARSE_ERROR
1944CREATE FUNCTION longblob not null(f1 longblob not null) returns longblob not null
1945    return f1;
1946
1947--error ER_PARSE_ERROR
1948CREATE FUNCTION binary(f1 binary) returns binary
1949    return f1;
1950
1951--error ER_PARSE_ERROR
1952CREATE FUNCTION binary not null(f1 binary not null) returns binary not null
1953    return f1;
1954
1955--error ER_PARSE_ERROR
1956CREATE FUNCTION tinyint(f1 tinyint) returns tinyint
1957    return f1;
1958
1959--error ER_PARSE_ERROR
1960CREATE FUNCTION tinyint unsigned(f1 tinyint unsigned) returns tinyint unsigned
1961    return f1;
1962
1963--error ER_PARSE_ERROR
1964CREATE FUNCTION tinyint zerofill(f1 tinyint zerofill) returns tinyint zerofill
1965    return f1;
1966
1967--error ER_PARSE_ERROR
1968CREATE FUNCTION tinyint unsigned zerofill(f1 tinyint unsigned zerofill) returns tinyint unsigned zerofill
1969    return f1;
1970
1971--error ER_PARSE_ERROR
1972CREATE FUNCTION smallint(f1 smallint) returns smallint
1973    return f1;
1974
1975--error ER_PARSE_ERROR
1976CREATE FUNCTION smallint unsigned(f1 smallint unsigned) returns smallint unsigned
1977    return f1;
1978
1979--error ER_PARSE_ERROR
1980CREATE FUNCTION smallint zerofill(f1 smallint zerofill) returns smallint zerofill
1981    return f1;
1982
1983--error ER_PARSE_ERROR
1984CREATE FUNCTION smallint unsigned zerofill(f1 smallint unsigned zerofill) returns smallint unsigned zerofill
1985    return f1;
1986
1987--error ER_PARSE_ERROR
1988CREATE FUNCTION mediumint(f1 mediumint) returns mediumint
1989    return f1;
1990
1991--error ER_PARSE_ERROR
1992CREATE FUNCTION mediumint unsigned(f1 mediumint unsigned) returns mediumint unsigned
1993    return f1;
1994
1995--error ER_PARSE_ERROR
1996CREATE FUNCTION mediumint zerofill(f1 mediumint zerofill) returns mediumint zerofill
1997    return f1;
1998
1999--error ER_PARSE_ERROR
2000CREATE FUNCTION mediumint unsigned zerofill(f1 mediumint unsigned zerofill) returns mediumint unsigned zerofill
2001    return f1;
2002
2003--error ER_PARSE_ERROR
2004CREATE FUNCTION int(f1 int) returns int
2005    return f1;
2006
2007--error ER_PARSE_ERROR
2008CREATE FUNCTION int1(f1 int1) returns int1
2009    return f1;
2010
2011--error ER_PARSE_ERROR
2012CREATE FUNCTION int2(f1 int2) returns int2
2013    return f1;
2014
2015--error ER_PARSE_ERROR
2016CREATE FUNCTION int3(f1 int3) returns int3
2017    return f1;
2018
2019--error ER_PARSE_ERROR
2020CREATE FUNCTION int4(f1 int4) returns int4
2021    return f1;
2022
2023--error ER_PARSE_ERROR
2024CREATE FUNCTION int8(f1 int8) returns int8
2025    return f1;
2026
2027--error ER_PARSE_ERROR
2028CREATE FUNCTION int unsigned(f1 int unsigned) returns int unsigned
2029    return f1;
2030
2031--error ER_PARSE_ERROR
2032CREATE FUNCTION int zerofill(f1 int zerofill) returns int zerofill
2033    return f1;
2034
2035--error ER_PARSE_ERROR
2036CREATE FUNCTION int unsigned zerofill(f1 int unsigned zerofill) returns int unsigned zerofill
2037    return f1;
2038
2039--error ER_PARSE_ERROR
2040CREATE FUNCTION bigint(f1 bigint) returns bigint
2041    return f1;
2042
2043--error ER_PARSE_ERROR
2044CREATE FUNCTION bigint unsigned(f1 bigint unsigned) returns bigint unsigned
2045    return f1;
2046
2047--error ER_PARSE_ERROR
2048CREATE FUNCTION bigint zerofill(f1 bigint zerofill) returns bigint zerofill
2049    return f1;
2050
2051--error ER_PARSE_ERROR
2052CREATE FUNCTION bigint unsigned zerofill(f1 bigint unsigned zerofill) returns bigint unsigned zerofill
2053    return f1;
2054
2055--error ER_PARSE_ERROR
2056CREATE FUNCTION decimal(f1 decimal) returns decimal
2057    return f1;
2058
2059--error ER_PARSE_ERROR
2060CREATE FUNCTION decimal unsigned(f1 decimal unsigned) returns decimal unsigned
2061    return f1;
2062
2063--error ER_PARSE_ERROR
2064CREATE FUNCTION decimal zerofill(f1 decimal zerofill) returns decimal zerofill
2065    return f1;
2066
2067--error ER_PARSE_ERROR
2068CREATE FUNCTION decimal unsigned zerofill(f1 decimal unsigned zerofill) returns decimal unsigned zerofill
2069    return f1;
2070
2071--error ER_PARSE_ERROR
2072CREATE FUNCTION numeric(f1 numeric) returns numeric
2073    return f1;
2074
2075--error ER_PARSE_ERROR
2076CREATE FUNCTION numeric unsigned(f1 numeric unsigned) returns numeric unsigned
2077    return f1;
2078
2079--error ER_PARSE_ERROR
2080CREATE FUNCTION numeric zerofill(f1 numeric zerofill) returns numeric zerofill
2081    return f1;
2082
2083--error ER_PARSE_ERROR
2084CREATE FUNCTION numeric unsigned zerofill(f1 numeric unsigned zerofill) returns numeric unsigned zerofill
2085    return f1;
2086
2087--error ER_PARSE_ERROR
2088CREATE FUNCTION real(f1 real) returns real
2089    return f1;
2090
2091--error ER_PARSE_ERROR
2092CREATE FUNCTION real unsigned(f1 real unsigned) returns real unsigned
2093    return f1;
2094
2095--error ER_PARSE_ERROR
2096CREATE FUNCTION real zerofill(f1 real zerofill) returns real zerofill
2097    return f1;
2098
2099--error ER_PARSE_ERROR
2100CREATE FUNCTION real unsigned zerofill(f1 real unsigned zerofill) returns real unsigned zerofill
2101    return f1;
2102
2103--error ER_PARSE_ERROR
2104CREATE FUNCTION float(f1 float) returns float
2105    return f1;
2106
2107--error ER_PARSE_ERROR
2108CREATE FUNCTION float unsigned(f1 float unsigned) returns float unsigned
2109    return f1;
2110
2111--error ER_PARSE_ERROR
2112CREATE FUNCTION float zerofill(f1 float zerofill) returns float zerofill
2113    return f1;
2114
2115--error ER_PARSE_ERROR
2116CREATE FUNCTION float unsigned zerofill(f1 float unsigned zerofill) returns float unsigned zerofill
2117    return f1;
2118
2119CREATE FUNCTION date(f1 date) returns date
2120    return f1;
2121DROP FUNCTION date;
2122
2123CREATE FUNCTION time(f1 time) returns time
2124    return f1;
2125DROP FUNCTION time;
2126
2127CREATE FUNCTION datetime(f1 datetime) returns datetime
2128    return f1;
2129DROP FUNCTION datetime;
2130
2131CREATE FUNCTION timestamp(f1 timestamp) returns timestamp
2132    return f1;
2133DROP FUNCTION timestamp;
2134
2135CREATE FUNCTION year(f1 year) returns year
2136    return f1;
2137DROP FUNCTION year;
2138
2139--error ER_PARSE_ERROR
2140CREATE FUNCTION year(3)(f1 year(3)) returns year(3)
2141    return f1;
2142
2143--error ER_PARSE_ERROR
2144CREATE FUNCTION year(4)(f1 year(4)) returns year(4)
2145    return f1;
2146
2147--error ER_PARSE_ERROR
2148CREATE FUNCTION enum("1enum", "2enum")(f1 enum("1enum", "2enum")) returns enum("1enum", "2enum")
2149    return f1;
2150
2151--error ER_PARSE_ERROR
2152CREATE FUNCTION set("1set", "2set")(f1 set("1set", "2set")) returns set("1set", "2set")
2153    return f1;
2154--enable_warnings
2155
2156DROP FUNCTION IF EXISTS fn1;
2157CREATE FUNCTION fn1(f1 char ) returns char
2158    return f1;
2159
2160DROP FUNCTION IF EXISTS fn1;
2161CREATE FUNCTION fn1(f1 char binary ) returns char binary
2162    return f1;
2163
2164DROP FUNCTION IF EXISTS fn1;
2165CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
2166    return f1;
2167
2168DROP FUNCTION IF EXISTS fn1;
2169--error ER_PARSE_ERROR
2170CREATE FUNCTION fn1(f1 char not null ) returns char not null
2171    return f1;
2172
2173DROP FUNCTION IF EXISTS fn1;
2174--error ER_PARSE_ERROR
2175CREATE FUNCTION fn1(f1 char binary not null ) returns char binary not null
2176    return f1;
2177
2178DROP FUNCTION IF EXISTS fn1;
2179--error ER_PARSE_ERROR
2180CREATE FUNCTION fn1(f1 char ascii not null ) returns char ascii not null
2181    return f1;
2182
2183DROP FUNCTION IF EXISTS fn1;
2184CREATE FUNCTION fn1(f1 tinytext ) returns tinytext
2185    return f1;
2186
2187DROP FUNCTION IF EXISTS fn1;
2188CREATE FUNCTION fn1(f1 text ) returns text
2189    return f1;
2190
2191DROP FUNCTION IF EXISTS fn1;
2192CREATE FUNCTION fn1(f1 mediumtext ) returns mediumtext
2193    return f1;
2194
2195DROP FUNCTION IF EXISTS fn1;
2196CREATE FUNCTION fn1(f1 longtext ) returns longtext
2197    return f1;
2198
2199DROP FUNCTION IF EXISTS fn1;
2200--error ER_PARSE_ERROR
2201CREATE FUNCTION fn1(f1 tinytext not null ) returns tinytext not null
2202    return f1;
2203
2204DROP FUNCTION IF EXISTS fn1;
2205--error ER_PARSE_ERROR
2206CREATE FUNCTION fn1(f1 text not null ) returns text not null
2207    return f1;
2208
2209DROP FUNCTION IF EXISTS fn1;
2210--error ER_PARSE_ERROR
2211CREATE FUNCTION fn1(f1 mediumtext not null ) returns mediumtext not null
2212    return f1;
2213
2214DROP FUNCTION IF EXISTS fn1;
2215--error ER_PARSE_ERROR
2216CREATE FUNCTION fn1(f1 longtext not null ) returns longtext not null
2217    return f1;
2218
2219DROP FUNCTION IF EXISTS fn1;
2220CREATE FUNCTION fn1(f1 tinyblob ) returns tinyblob
2221    return f1;
2222
2223DROP FUNCTION IF EXISTS fn1;
2224CREATE FUNCTION fn1(f1 blob ) returns blob
2225    return f1;
2226
2227DROP FUNCTION IF EXISTS fn1;
2228CREATE FUNCTION fn1(f1 mediumblob ) returns mediumblob
2229    return f1;
2230
2231DROP FUNCTION IF EXISTS fn1;
2232CREATE FUNCTION fn1(f1 longblob ) returns longblob
2233    return f1;
2234
2235DROP FUNCTION IF EXISTS fn1;
2236--error ER_PARSE_ERROR
2237CREATE FUNCTION fn1(f1 tinyblob not null ) returns tinyblob not null
2238    return f1;
2239
2240DROP FUNCTION IF EXISTS fn1;
2241--error ER_PARSE_ERROR
2242CREATE FUNCTION fn1(f1 blob not null ) returns blob not null
2243    return f1;
2244
2245DROP FUNCTION IF EXISTS fn1;
2246--error ER_PARSE_ERROR
2247CREATE FUNCTION fn1(f1 mediumblob not null ) returns mediumblob not null
2248    return f1;
2249
2250DROP FUNCTION IF EXISTS fn1;
2251--error ER_PARSE_ERROR
2252CREATE FUNCTION fn1(f1 longblob not null ) returns longblob not null
2253    return f1;
2254
2255DROP FUNCTION IF EXISTS fn1;
2256CREATE FUNCTION fn1(f1 binary ) returns binary
2257    return f1;
2258
2259DROP FUNCTION IF EXISTS fn1;
2260--error ER_PARSE_ERROR
2261CREATE FUNCTION fn1(f1 binary not null ) returns binary not null
2262    return f1;
2263
2264DROP FUNCTION IF EXISTS fn1;
2265CREATE FUNCTION fn1(f1 tinyint ) returns tinyint
2266    return f1;
2267
2268DROP FUNCTION IF EXISTS fn1;
2269CREATE FUNCTION fn1(f1 tinyint unsigned ) returns tinyint unsigned
2270    return f1;
2271
2272DROP FUNCTION IF EXISTS fn1;
2273CREATE FUNCTION fn1(f1 tinyint zerofill ) returns tinyint zerofill
2274    return f1;
2275
2276DROP FUNCTION IF EXISTS fn1;
2277CREATE FUNCTION fn1(f1 tinyint unsigned zerofill ) returns tinyint unsigned zerofill
2278    return f1;
2279
2280DROP FUNCTION IF EXISTS fn1;
2281CREATE FUNCTION fn1(f1 smallint ) returns smallint
2282    return f1;
2283
2284DROP FUNCTION IF EXISTS fn1;
2285CREATE FUNCTION fn1(f1 smallint unsigned ) returns smallint unsigned
2286    return f1;
2287
2288DROP FUNCTION IF EXISTS fn1;
2289CREATE FUNCTION fn1(f1 smallint zerofill ) returns smallint zerofill
2290    return f1;
2291
2292DROP FUNCTION IF EXISTS fn1;
2293CREATE FUNCTION fn1(f1 smallint unsigned zerofill ) returns smallint unsigned zerofill
2294    return f1;
2295
2296DROP FUNCTION IF EXISTS fn1;
2297CREATE FUNCTION fn1(f1 mediumint ) returns mediumint
2298    return f1;
2299
2300DROP FUNCTION IF EXISTS fn1;
2301CREATE FUNCTION fn1(f1 mediumint unsigned ) returns mediumint unsigned
2302    return f1;
2303
2304DROP FUNCTION IF EXISTS fn1;
2305CREATE FUNCTION fn1(f1 mediumint zerofill ) returns mediumint zerofill
2306    return f1;
2307
2308DROP FUNCTION IF EXISTS fn1;
2309CREATE FUNCTION fn1(f1 mediumint unsigned zerofill ) returns mediumint unsigned zerofill
2310    return f1;
2311
2312DROP FUNCTION IF EXISTS fn1;
2313CREATE FUNCTION fn1(f1 int ) returns int
2314    return f1;
2315
2316DROP FUNCTION IF EXISTS fn1;
2317CREATE FUNCTION fn1(f1 int unsigned ) returns int unsigned
2318    return f1;
2319
2320DROP FUNCTION IF EXISTS fn1;
2321CREATE FUNCTION fn1(f1 int1 unsigned ) returns int1 unsigned
2322    return f1;
2323
2324DROP FUNCTION IF EXISTS fn1;
2325CREATE FUNCTION fn1(f1 int2 unsigned ) returns int2 unsigned
2326    return f1;
2327
2328DROP FUNCTION IF EXISTS fn1;
2329CREATE FUNCTION fn1(f1 int3 unsigned ) returns int3 unsigned
2330    return f1;
2331
2332DROP FUNCTION IF EXISTS fn1;
2333CREATE FUNCTION fn1(f1 int4 unsigned ) returns int4 unsigned
2334    return f1;
2335
2336DROP FUNCTION IF EXISTS fn1;
2337CREATE FUNCTION fn1(f1 int8 unsigned ) returns int8 unsigned
2338    return f1;
2339
2340DROP FUNCTION IF EXISTS fn1;
2341CREATE FUNCTION fn1(f1 int zerofill ) returns int zerofill
2342    return f1;
2343
2344DROP FUNCTION IF EXISTS fn1;
2345CREATE FUNCTION fn1(f1 int unsigned zerofill ) returns int unsigned zerofill
2346    return f1;
2347
2348DROP FUNCTION IF EXISTS fn1;
2349CREATE FUNCTION fn1(f1 bigint ) returns bigint
2350    return f1;
2351
2352DROP FUNCTION IF EXISTS fn1;
2353CREATE FUNCTION fn1(f1 bigint unsigned ) returns bigint unsigned
2354    return f1;
2355
2356DROP FUNCTION IF EXISTS fn1;
2357CREATE FUNCTION fn1(f1 bigint zerofill ) returns bigint zerofill
2358    return f1;
2359
2360DROP FUNCTION IF EXISTS fn1;
2361CREATE FUNCTION fn1(f1 bigint unsigned zerofill ) returns bigint unsigned zerofill
2362    return f1;
2363
2364DROP FUNCTION IF EXISTS fn1;
2365CREATE FUNCTION fn1(f1 decimal ) returns decimal
2366    return f1;
2367
2368DROP FUNCTION IF EXISTS fn1;
2369CREATE FUNCTION fn1(f1 decimal unsigned ) returns decimal unsigned
2370    return f1;
2371
2372DROP FUNCTION IF EXISTS fn1;
2373CREATE FUNCTION fn1(f1 decimal zerofill ) returns decimal zerofill
2374    return f1;
2375
2376DROP FUNCTION IF EXISTS fn1;
2377CREATE FUNCTION fn1(f1 decimal unsigned zerofill ) returns decimal unsigned zerofill
2378    return f1;
2379
2380DROP FUNCTION IF EXISTS fn1;
2381CREATE FUNCTION fn1(f1 numeric ) returns numeric
2382    return f1;
2383
2384DROP FUNCTION IF EXISTS fn1;
2385CREATE FUNCTION fn1(f1 numeric unsigned ) returns numeric unsigned
2386    return f1;
2387
2388DROP FUNCTION IF EXISTS fn1;
2389CREATE FUNCTION fn1(f1 numeric zerofill ) returns numeric zerofill
2390    return f1;
2391
2392DROP FUNCTION IF EXISTS fn1;
2393CREATE FUNCTION fn1(f1 numeric unsigned zerofill ) returns numeric unsigned zerofill
2394    return f1;
2395
2396DROP FUNCTION IF EXISTS fn1;
2397CREATE FUNCTION fn1(f1 real ) returns real
2398    return f1;
2399
2400DROP FUNCTION IF EXISTS fn1;
2401CREATE FUNCTION fn1(f1 real unsigned ) returns real unsigned
2402    return f1;
2403
2404DROP FUNCTION IF EXISTS fn1;
2405CREATE FUNCTION fn1(f1 real zerofill ) returns real zerofill
2406    return f1;
2407
2408DROP FUNCTION IF EXISTS fn1;
2409CREATE FUNCTION fn1(f1 real unsigned zerofill ) returns real unsigned zerofill
2410    return f1;
2411
2412DROP FUNCTION IF EXISTS fn1;
2413CREATE FUNCTION fn1(f1 float ) returns float
2414    return f1;
2415
2416DROP FUNCTION IF EXISTS fn1;
2417CREATE FUNCTION fn1(f1 float unsigned ) returns float unsigned
2418    return f1;
2419
2420DROP FUNCTION IF EXISTS fn1;
2421CREATE FUNCTION fn1(f1 float zerofill ) returns float zerofill
2422    return f1;
2423
2424DROP FUNCTION IF EXISTS fn1;
2425CREATE FUNCTION fn1(f1 float unsigned zerofill ) returns float unsigned zerofill
2426    return f1;
2427
2428DROP FUNCTION IF EXISTS fn1;
2429CREATE FUNCTION fn1(f1 date ) returns date
2430    return f1;
2431
2432DROP FUNCTION IF EXISTS fn1;
2433CREATE FUNCTION fn1(f1 time ) returns time
2434    return f1;
2435
2436DROP FUNCTION IF EXISTS fn1;
2437CREATE FUNCTION fn1(f1 datetime ) returns datetime
2438    return f1;
2439
2440DROP FUNCTION IF EXISTS fn1;
2441CREATE FUNCTION fn1(f1 timestamp ) returns timestamp
2442    return f1;
2443
2444DROP FUNCTION IF EXISTS fn1;
2445CREATE FUNCTION fn1(f1 year ) returns year
2446    return f1;
2447
2448DROP FUNCTION IF EXISTS fn1;
2449--error ER_PARSE_ERROR
2450CREATE FUNCTION fn1(f1 year(f1 3) ) returns year(3)
2451    return f1;
2452
2453DROP FUNCTION IF EXISTS fn1;
2454--error ER_PARSE_ERROR
2455CREATE FUNCTION fn1(f1 year(f1 4) ) returns year(4)
2456    return f1;
2457
2458DROP FUNCTION IF EXISTS fn1;
2459--error ER_PARSE_ERROR
2460CREATE FUNCTION fn1(f1 enum(f1 "1enum", "2enum") ) returns enum("1enum", "2enum")
2461    return f1;
2462
2463DROP FUNCTION IF EXISTS fn1;
2464--error ER_PARSE_ERROR
2465CREATE FUNCTION fn1(f1 set(f1 "1set", "2set") ) returns set("1set", "2set")
2466    return f1;
2467
2468
2469# ------------------------------------------------------------------------------
2470let $message= Testcase 4.1.16:
2471              ----------------
2472Ensure that a reference to a non-existent stored procedure is rejected with an
2473appropriate error message;
2474--source include/show_msg80.inc
2475
2476DROP PROCEDURE IF EXISTS sp16;
2477
2478--error ER_SP_DOES_NOT_EXIST
2479CALL sp16( 'xyz' );
2480
2481CREATE DATABASE db1;
2482USE db1;
2483
2484delimiter //;
2485CREATE PROCEDURE sp16()
2486BEGIN
2487    set @var1 = 1;
2488    SELECT @var1;
2489END//
2490delimiter ;//
2491
2492--error ER_SP_DOES_NOT_EXIST
2493CALL db_storedproc.sp16();
2494
2495# cleanup
2496USE db_storedproc;
2497DROP PROCEDURE db1.sp16;
2498DROP DATABASE db1;
2499
2500
2501# ------------------------------------------------------------------------------
2502let $message= Testcase 4.1.17:
2503              ----------------
2504Ensure that it is possible to drop, create and CALL/execute a procedure and a
2505function with the same name, even in the same database;
2506--source include/show_msg80.inc
2507
2508USE db_storedproc;
2509DROP FUNCTION IF EXISTS sp1;
2510DROP PROCEDURE IF EXISTS sp1;
2511
2512delimiter //;
2513CREATE PROCEDURE sp1 ()
2514BEGIN
2515    declare x enum( 'db1', 'test' ) default 'test';
2516    SELECT x;
2517END//
2518delimiter ;//
2519
2520CALL sp1();
2521
2522
2523CREATE FUNCTION sp1 (y char) returns char return y;
2524  SELECT sp1( 'a' );
2525
2526DROP DATABASE IF EXISTS db1;
2527CREATE DATABASE db1;
2528USE db1;
2529CALL db_storedproc.sp1( );
2530SELECT db_storedproc.sp1( 'a' );
2531
2532DROP FUNCTION db_storedproc.sp1;
2533USE db_storedproc;
2534
2535--error ER_SP_DOES_NOT_EXIST
2536SELECT sp1('a');
2537
2538DROP PROCEDURE sp1;
2539
2540--error ER_SP_DOES_NOT_EXIST
2541CALL sp1();
2542
2543--error ER_SP_DOES_NOT_EXIST
2544SELECT sp1('a');
2545
2546# cleanup
2547USE db_storedproc;
2548DROP DATABASE db1;
2549
2550
2551# ------------------------------------------------------------------------------
2552let $message= Testcase 4.1.18:
2553              ----------------
2554Ensure that it is possible to alter a procedure and
2555a function with the same name, in the same database;
2556--source include/show_msg80.inc
2557
2558
2559USE db_storedproc;
2560DROP PROCEDURE IF EXISTS sp1;
2561DROP FUNCTION IF EXISTS sp1;
2562set @x=null; set @y=null;
2563
2564delimiter //;
2565CREATE PROCEDURE sp1()
2566BEGIN
2567    set @x= 1;
2568    SELECT @x;
2569END//
2570delimiter ;//
2571
2572CREATE FUNCTION sp1 () returns int return 2.2;
2573CALL db_storedproc.sp1();
2574SELECT db_storedproc.sp1();
2575
2576DROP DATABASE IF EXISTS db1;
2577CREATE DATABASE db1;
2578USE db1;
2579alter procedure db_storedproc.sp1 sql security invoker;
2580--sorted_result
2581SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
2582
2583alter function db_storedproc.sp1 sql security invoker;
2584--sorted_result
2585SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
2586
2587CALL db_storedproc.sp1();
2588
2589SELECT db_storedproc.sp1();
2590
2591USE db_storedproc;
2592alter procedure sp1 sql security DEFINER;
2593CALL db_storedproc.sp1();
2594
2595SELECT db_storedproc.sp1();
2596
2597alter function sp1 sql security DEFINER;
2598--sorted_result
2599SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
2600CALL db_storedproc.sp1();
2601
2602SELECT db_storedproc.sp1();
2603
2604# cleanup
2605USE db_storedproc;
2606DROP DATABASE db1;
2607DROP PROCEDURE db_storedproc.sp1;
2608DROP FUNCTION db_storedproc.sp1;
2609
2610# ------------------------------------------------------------------------------
2611let $message= Testcase 4.1.19:
2612              ----------------
2613verify altering procedure and function with the same name, does not affect
2614properties of a procedure and a function with the same name in the different
2615database.;
2616--source include/show_msg80.inc
2617
2618
2619--disable_warnings
2620DROP DATABASE IF EXISTS db_storedproc_3122;
2621--enable_warnings
2622
2623CREATE DATABASE db_storedproc_3122;
2624USE db_storedproc;
2625SET @x = NULL;
2626SET @y = NULL;
2627DROP PROCEDURE IF EXISTS sp1;
2628DROP FUNCTION IF EXISTS sp1;
2629DROP PROCEDURE IF EXISTS db_storedproc_3122.sp1;
2630DROP FUNCTION IF EXISTS db_storedproc_3122.sp1;
2631delimiter //;
2632CREATE PROCEDURE sp1()
2633BEGIN
2634    SET @x = 1;
2635    SELECT @x;
2636END//
2637delimiter ;//
2638
2639# FIXME ps-protocol vs. normal difference when returning float instead of double
2640CREATE FUNCTION db_storedproc_3122.sp1() RETURNS DOUBLE RETURN 2.2;
2641CALL sp1();
2642  SELECT db_storedproc_3122.sp1();
2643  USE db_storedproc_3122;
2644
2645delimiter //;
2646CREATE PROCEDURE sp1 ()
2647BEGIN
2648    SET @x = 3;
2649    SELECT @x;
2650END//
2651delimiter ;//
2652
2653CREATE FUNCTION db_storedproc.sp1() RETURNS DOUBLE RETURN 4.4;
2654CALL sp1();
2655SELECT db_storedproc.sp1();
2656
2657ALTER PROCEDURE db_storedproc_3122.sp1 SQL SECURITY INVOKER;
2658ALTER FUNCTION sp1 SQL SECURITY INVOKER;
2659
2660--sorted_result
2661SELECT db, name, type, security_type FROM mysql.proc WHERE db LIKE 'db_storedproc%' AND specific_name='sp1';
2662
2663CALL db_storedproc.sp1();
2664
2665SELECT db_storedproc.sp1();
2666CALL db_storedproc_3122.sp1();
2667SELECT db_storedproc_3122.sp1();
2668
2669# clean up
2670USE db_storedproc;
2671DROP DATABASE db_storedproc_3122;
2672DROP FUNCTION db_storedproc.sp1;
2673DROP PROCEDURE db_storedproc.sp1;
2674
2675
2676# ------------------------------------------------------------------------------
2677let $message= Testcase 4.1.20:
2678              ----------------
2679Ensure that it is possible to alter the comment of a procedure
2680and a function with the same name, even in the same database;
2681--source include/show_msg80.inc
2682
2683
2684USE db_storedproc;
2685set @x=null;
2686
2687--disable_warnings
2688DROP PROCEDURE IF EXISTS sp1;
2689DROP FUNCTION IF EXISTS sp1;
2690--enable_warnings
2691
2692CREATE PROCEDURE sp1 () set @x= 1;
2693CREATE FUNCTION sp1 () returns int return 2;
2694
2695DROP DATABASE IF EXISTS db_storedproc_3122;
2696CREATE DATABASE db_storedproc_3122;
2697USE db_storedproc_3122;
2698
2699CREATE PROCEDURE sp1 () set @x= 3;
2700CREATE FUNCTION sp1 () returns int return 4;
2701
2702alter procedure sp1 sql security invoker comment 'this is a procedure';
2703alter function sp1 sql security invoker comment 'this is a function';
2704
2705alter procedure sp1 sql security DEFINER;
2706alter function sp1 sql security DEFINER;
2707--replace_column 5 <modified> 6 <created>
2708show CREATE PROCEDURE sp1;
2709--replace_column 5 <modified> 6 <created>
2710show CREATE FUNCTION sp1;
2711
2712# clean up
2713USE db_storedproc;
2714DROP DATABASE db_storedproc_3122;
2715DROP FUNCTION db_storedproc.sp1;
2716DROP PROCEDURE db_storedproc.sp1;
2717
2718
2719# ------------------------------------------------------------------------------
2720let $message= Testcase 4.1.21:
2721              ----------------
2722Ensure that it is not possible to create two procedures with same name
2723in same database;
2724--source include/show_msg80.inc
2725
2726USE db_storedproc;
2727set @x=null;
2728set @y=null;
2729
2730--disable_warnings
2731DROP DATABASE IF EXISTS db1;
2732--enable_warnings
2733
2734CREATE DATABASE db1;
2735DROP PROCEDURE IF EXISTS sp1;
2736CREATE PROCEDURE sp1 () set @x=1;
2737
2738--error ER_SP_ALREADY_EXISTS
2739CREATE PROCEDURE sp1 () set @x=2;
2740
2741CALL sp1();
2742SELECT @x;
2743USE db1;
2744--error ER_SP_ALREADY_EXISTS
2745CREATE PROCEDURE db_storedproc.sp1 () set @x=3;
2746CALL db_storedproc.sp1();
2747  SELECT @x;
2748
2749DROP PROCEDURE IF EXISTS db_storedproc.sp1;
2750CREATE PROCEDURE db_storedproc.sp1 () set @x=1;
2751--error ER_SP_ALREADY_EXISTS
2752CREATE PROCEDURE db_storedproc.sp1 () set @x=2;
2753CALL db_storedproc.sp1();
2754SELECT @x;
2755
2756# clean up
2757USE db_storedproc;
2758DROP DATABASE db1;
2759DROP PROCEDURE db_storedproc.sp1;
2760
2761
2762
2763# ------------------------------------------------------------------------------
2764let $message= Testcase 4.1.22:
2765              ----------------
2766Ensure that it is not possible to create two functions with same name in the
2767same database;
2768--source include/show_msg80.inc
2769
2770USE db_storedproc;
2771DROP DATABASE IF EXISTS db1;
2772CREATE DATABASE db1;
2773DROP FUNCTION IF EXISTS fn1;
2774CREATE FUNCTION fn1 () returns int return 1;
2775--error ER_SP_ALREADY_EXISTS
2776CREATE FUNCTION fn1 () returns int return 2;
2777SELECT fn1();
2778USE db1;
2779--error ER_SP_ALREADY_EXISTS
2780CREATE FUNCTION db_storedproc.fn1 () returns int return 3;
2781SELECT db_storedproc.fn1();
2782DROP FUNCTION IF EXISTS db_storedproc.fn1;
2783CREATE FUNCTION db_storedproc.fn1 () returns int return 1;
2784--error ER_SP_ALREADY_EXISTS
2785CREATE FUNCTION db_storedproc.fn1 () returns int return 2;
2786SELECT db_storedproc.fn1();
2787
2788# clean up
2789USE db_storedproc;
2790DROP DATABASE db1;
2791DROP FUNCTION db_storedproc.fn1;
2792
2793
2794# ------------------------------------------------------------------------------
2795let $message= Testcase 4.1.23:
2796              ----------------
2797Ensure that it is possible to create two or more procedures with the same name,
2798providing each resides in different databases;
2799--source include/show_msg80.inc
2800
2801
2802USE db_storedproc;
2803set @x=null;
2804set @y=null;
2805DROP PROCEDURE IF EXISTS sp1;
2806CREATE PROCEDURE sp1 () set @x= 1;
2807DROP DATABASE IF EXISTS test3124;
2808CREATE DATABASE test3124;
2809USE test3124;
2810CREATE PROCEDURE sp1 () set @y= 2;
2811CALL sp1();
2812SELECT @x, @y;
2813USE db_storedproc;
2814CALL sp1();
2815SELECT @x, @y;
2816
2817# clean up
2818USE db_storedproc;
2819DROP DATABASE test3124;
2820DROP PROCEDURE db_storedproc.sp1;
2821
2822
2823# ------------------------------------------------------------------------------
2824let $message= Testcase 4.1.24:
2825              ----------------
2826Ensure that it is possible to create two or more functions with the same name,
2827providing each resides in different databases.;
2828--source include/show_msg80.inc
2829
2830
2831USE db_storedproc;
2832DROP FUNCTION IF EXISTS f1;
2833CREATE FUNCTION f1 () returns int return 1;
2834DROP DATABASE IF EXISTS test3125;
2835CREATE DATABASE test3125;
2836USE test3125; CREATE FUNCTION f1 () returns int return 2;
2837SELECT f1();
2838USE db_storedproc;
2839SELECT f1();
2840
2841# clean up
2842USE db_storedproc;
2843DROP DATABASE test3125;
2844DROP FUNCTION db_storedproc.f1;
2845
2846
2847# ------------------------------------------------------------------------------
2848let $message= Testcase 4.1.25:
2849              ----------------
2850Ensure that any invalid function name is never accepted, and that an appropriate
2851error message is returned when the name is rejected. (invalid func name);
2852--source include/show_msg80.inc
2853
2854delimiter //;
2855--error ER_PARSE_ERROR
2856CREATE FUNCTION !_fn1( f1 char(20) ) returns int
2857BEGIN
2858   SELECT * from t1 where f2 = f1;
2859   return 1;
2860END//
2861delimiter ;//
2862
2863delimiter //;
2864--error ER_PARSE_ERROR
2865CREATE FUNCTION fn1( f1 char(20) ) return int
2866BEGIN
2867   SELECT * from t1 where f2 = f1;
2868   return 1;
2869END//
2870delimiter ;//
2871
2872CREATE FUNCTION fn1() returns int
2873  return 'a';
2874
2875--error ER_PARSE_ERROR
2876CREATE FUNCTION procedure() returns int
2877  return 1;
2878
2879--error ER_PARSE_ERROR
2880CREATE FUNCTION fn1(a char) returns int lang sql return 1;
2881
2882--error ER_PARSE_ERROR
2883CREATE FUNCTION fn1(a char) returns int deterministic( return 1);
2884
2885--error ER_PARSE_ERROR
2886CREATE FUNCTION fn1(a char) returns int non deterministic return 1;
2887
2888--error ER_PARSE_ERROR
2889CREATE FUNCTION fn1(a char) returns int not deterministic comment 'abc' language sql sql security refiner return 1;
2890
2891# clean up
2892--disable_warnings
2893DROP FUNCTION IF EXISTS fn1;
2894--enable_warnings
2895
2896
2897# ==============================================================================
2898#
2899# test plan section: 4.2 - syntax checks for programming statements - 1
2900#
2901# ==============================================================================
2902
2903# ------------------------------------------------------------------------------
2904let $message= Testcase 4.1.1:
2905              ---------------
2906              Ensure that all clauses that should be supported are supported.
2907              CREATE PROCEDURE;
2908--source include/show_msg80.inc
2909
2910
2911USE db_storedproc;
2912
2913  set @count = 0;
2914
2915--disable_warnings
2916DROP PROCEDURE IF EXISTS sp1;
2917--enable_warnings
2918
2919delimiter //;
2920CREATE PROCEDURE sp1(cnt int(20))
2921BEGIN
2922    SELECT count(*) into cnt from t2;
2923    set @count = cnt;
2924END//
2925delimiter ;//
2926
2927CALL sp1( 10 );
2928
2929  SELECT @count;
2930
2931# clean up
2932DROP PROCEDURE sp1;
2933
2934# ------------------------------------------------------------------------------
2935let $message= Testcase 4.2.2:
2936BEGINend;
2937--source include/show_msg80.inc
2938
2939
2940--disable_warnings
2941DROP PROCEDURE IF EXISTS sp1;
2942--enable_warnings
2943
2944delimiter //;
2945CREATE PROCEDURE sp1( cnt int(20) )
2946BEGIN
2947    SELECT count(*) into cnt from t2;
2948    set @count = cnt;
2949    SELECT @count;
2950END//
2951delimiter ;//
2952
2953CALL sp1( 10 );
2954
2955--disable_warnings
2956DROP PROCEDURE IF EXISTS sp1;
2957--enable_warnings
2958
2959# missing BEGIN
2960# PLEASE NOTE:
2961# this test client has the MULTI_QUERY capability,
2962# so that the following request (starting at 'CREATE' and ending at the //
2963# delimiter) is interpreted as follows:
2964# 1) it's a multi query
2965# 2) the first query is a valid CREATE PROCEDURE statement, and the
2966# procedure consist of only one SELECT statement
2967# 3) the second query is a SET statement, which is broken since it's
2968# referencing an unknown column 'cnt'
2969# 4) the next query (SELECT @count) is not parsed or executed, since 3)
2970# failed
2971
2972delimiter //;
2973--error ER_BAD_FIELD_ERROR
2974CREATE PROCEDURE sp1( cnt int(20) )
2975    SELECT count(*) into cnt from t2;
2976    set @count = cnt;
2977    SELECT @count;
2978END//
2979delimiter ;//
2980
2981CALL sp1( 10 );
2982
2983--disable_warnings
2984DROP PROCEDURE sp1;
2985--enable_warnings
2986
2987# wrong order of BEGIN and END
2988delimiter //;
2989--error ER_PARSE_ERROR
2990CREATE PROCEDURE sp1( cnt int(20) )
2991END
2992    SELECT count(*) into cnt from t2;
2993    set @count = cnt;
2994    SELECT @count;
2995BEGIN//
2996delimiter ;//
2997
2998--error ER_SP_DOES_NOT_EXIST
2999CALL sp1( 10 );
3000
3001--disable_warnings
3002DROP PROCEDURE IF EXISTS sp1;
3003--enable_warnings
3004
3005# invalid usage of BEGIN + END
3006delimiter //;
3007--error ER_PARSE_ERROR
3008CREATE PROCEDURE sp1( cnt int(20) )
3009BEGIN
3010   SELECT count(*) into cnt from t2;
3011   BEGIN
3012      BEGIN END;
3013   BEGIN
3014   END;
3015   set @count = cnt;
3016   SELECT @count;
3017END//
3018delimiter ;//
3019
3020# ------------------------------------------------------------------------------
3021let $message= Testcase 4.2.4:
3022              ---------------
3023Ensure that every BEGIN statement is coupled with a terminating END statement.
3024(BEGIN with no END);
3025--source include/show_msg80.inc
3026
3027--disable_warnings
3028DROP PROCEDURE IF EXISTS sp1;
3029--enable_warnings
3030
3031delimiter //;
3032CREATE PROCEDURE sp1( )
3033BEGIN
3034    declare x char;
3035    declare y char;
3036    SELECT f1, f2 into x, y from t2 limit 1;
3037END//
3038delimiter ;//
3039
3040# ------------------------------------------------------------------------------
3041let $message= Testcase ....:
3042              --------------
3043;
3044--source include/show_msg80.inc
3045
3046--disable_warnings
3047DROP PROCEDURE IF EXISTS sp1;
3048--enable_warnings
3049
3050delimiter //;
3051--error ER_PARSE_ERROR
3052CREATE PROCEDURE sp1()
3053  accessible:BEGIN
3054    SELECT @x;
3055END//
3056delimiter ;//
3057
3058--disable_warnings
3059DROP PROCEDURE IF EXISTS sp1;
3060--enable_warnings
3061
3062delimiter //;
3063--error ER_PARSE_ERROR
3064CREATE PROCEDURE sp1()
3065  add:BEGIN
3066    SELECT @x;
3067END//
3068delimiter ;//
3069
3070--disable_warnings
3071DROP PROCEDURE IF EXISTS sp1;
3072--enable_warnings
3073
3074delimiter //;
3075--error ER_PARSE_ERROR
3076CREATE PROCEDURE sp1()
3077  all:BEGIN
3078    SELECT @x;
3079END//
3080delimiter ;//
3081
3082--disable_warnings
3083DROP PROCEDURE IF EXISTS sp1;
3084--enable_warnings
3085
3086delimiter //;
3087--error ER_PARSE_ERROR
3088CREATE PROCEDURE sp1()
3089  alter:BEGIN
3090    SELECT @x;
3091END//
3092delimiter ;//
3093
3094--disable_warnings
3095DROP PROCEDURE IF EXISTS sp1;
3096--enable_warnings
3097
3098delimiter //;
3099--error ER_PARSE_ERROR
3100CREATE PROCEDURE sp1()
3101  analyze:BEGIN
3102    SELECT @x;
3103END//
3104delimiter ;//
3105
3106--disable_warnings
3107DROP PROCEDURE IF EXISTS sp1;
3108--enable_warnings
3109
3110delimiter //;
3111--error ER_PARSE_ERROR
3112CREATE PROCEDURE sp1()
3113  and:BEGIN
3114    SELECT @x;
3115END//
3116delimiter ;//
3117
3118--disable_warnings
3119DROP PROCEDURE IF EXISTS sp1;
3120--enable_warnings
3121
3122delimiter //;
3123--error ER_PARSE_ERROR
3124CREATE PROCEDURE sp1()
3125  as:BEGIN
3126    SELECT @x;
3127END//
3128delimiter ;//
3129
3130--disable_warnings
3131DROP PROCEDURE IF EXISTS sp1;
3132--enable_warnings
3133
3134delimiter //;
3135--error ER_PARSE_ERROR
3136CREATE PROCEDURE sp1()
3137  asc:BEGIN
3138    SELECT @x;
3139END//
3140delimiter ;//
3141
3142--disable_warnings
3143DROP PROCEDURE IF EXISTS sp1;
3144--enable_warnings
3145
3146delimiter //;
3147--error ER_PARSE_ERROR
3148CREATE PROCEDURE sp1()
3149  asensitive:BEGIN
3150    SELECT @x;
3151END//
3152delimiter ;//
3153
3154--disable_warnings
3155DROP PROCEDURE IF EXISTS sp1;
3156--enable_warnings
3157
3158delimiter //;
3159--error ER_PARSE_ERROR
3160CREATE PROCEDURE sp1()
3161  before:BEGIN
3162    SELECT @x;
3163END//
3164delimiter ;//
3165
3166--disable_warnings
3167DROP PROCEDURE IF EXISTS sp1;
3168--enable_warnings
3169
3170delimiter //;
3171--error ER_PARSE_ERROR
3172CREATE PROCEDURE sp1()
3173  between:BEGIN
3174    SELECT @x;
3175END//
3176delimiter ;//
3177
3178--disable_warnings
3179DROP PROCEDURE IF EXISTS sp1;
3180--enable_warnings
3181
3182delimiter //;
3183--error ER_PARSE_ERROR
3184CREATE PROCEDURE sp1()
3185  bigint:BEGIN
3186    SELECT @x;
3187END//
3188delimiter ;//
3189
3190--disable_warnings
3191DROP PROCEDURE IF EXISTS sp1;
3192--enable_warnings
3193
3194delimiter //;
3195--error ER_PARSE_ERROR
3196CREATE PROCEDURE sp1()
3197  binary:BEGIN
3198    SELECT @x;
3199END//
3200delimiter ;//
3201
3202--disable_warnings
3203DROP PROCEDURE IF EXISTS sp1;
3204--enable_warnings
3205
3206delimiter //;
3207--error ER_PARSE_ERROR
3208CREATE PROCEDURE sp1()
3209  blob:BEGIN
3210    SELECT @x;
3211END//
3212delimiter ;//
3213
3214--disable_warnings
3215DROP PROCEDURE IF EXISTS sp1;
3216--enable_warnings
3217
3218delimiter //;
3219--error ER_PARSE_ERROR
3220CREATE PROCEDURE sp1()
3221  both:BEGIN
3222    SELECT @x;
3223END//
3224delimiter ;//
3225
3226--disable_warnings
3227DROP PROCEDURE IF EXISTS sp1;
3228--enable_warnings
3229
3230delimiter //;
3231--error ER_PARSE_ERROR
3232CREATE PROCEDURE sp1()
3233  by:BEGIN
3234    SELECT @x;
3235END//
3236delimiter ;//
3237
3238--disable_warnings
3239DROP PROCEDURE IF EXISTS sp1;
3240--enable_warnings
3241
3242delimiter //;
3243--error ER_PARSE_ERROR
3244CREATE PROCEDURE sp1()
3245  call:BEGIN
3246    SELECT @x;
3247END//
3248delimiter ;//
3249
3250--disable_warnings
3251DROP PROCEDURE IF EXISTS sp1;
3252--enable_warnings
3253
3254delimiter //;
3255--error ER_PARSE_ERROR
3256CREATE PROCEDURE sp1()
3257  cascade:BEGIN
3258    SELECT @x;
3259END//
3260delimiter ;//
3261
3262--disable_warnings
3263DROP PROCEDURE IF EXISTS sp1;
3264--enable_warnings
3265
3266delimiter //;
3267--error ER_PARSE_ERROR
3268CREATE PROCEDURE sp1()
3269  case:BEGIN
3270    SELECT @x;
3271END//
3272delimiter ;//
3273
3274--disable_warnings
3275DROP PROCEDURE IF EXISTS sp1;
3276--enable_warnings
3277
3278delimiter //;
3279--error ER_PARSE_ERROR
3280CREATE PROCEDURE sp1()
3281  change:BEGIN
3282    SELECT @x;
3283END//
3284delimiter ;//
3285
3286--disable_warnings
3287DROP PROCEDURE IF EXISTS sp1;
3288--enable_warnings
3289
3290delimiter //;
3291--error ER_PARSE_ERROR
3292CREATE PROCEDURE sp1()
3293  char:BEGIN
3294    SELECT @x;
3295END//
3296delimiter ;//
3297
3298--disable_warnings
3299DROP PROCEDURE IF EXISTS sp1;
3300--enable_warnings
3301
3302delimiter //;
3303--error ER_PARSE_ERROR
3304CREATE PROCEDURE sp1()
3305  character:BEGIN
3306    SELECT @x;
3307END//
3308delimiter ;//
3309
3310--disable_warnings
3311DROP PROCEDURE IF EXISTS sp1;
3312--enable_warnings
3313
3314delimiter //;
3315--error ER_PARSE_ERROR
3316CREATE PROCEDURE sp1()
3317  check:BEGIN
3318    SELECT @x;
3319END//
3320delimiter ;//
3321
3322--disable_warnings
3323DROP PROCEDURE IF EXISTS sp1;
3324--enable_warnings
3325
3326delimiter //;
3327--error ER_PARSE_ERROR
3328CREATE PROCEDURE sp1()
3329  collate:BEGIN
3330    SELECT @x;
3331END//
3332delimiter ;//
3333
3334--disable_warnings
3335DROP PROCEDURE IF EXISTS sp1;
3336--enable_warnings
3337
3338delimiter //;
3339--error ER_PARSE_ERROR
3340CREATE PROCEDURE sp1()
3341  column:BEGIN
3342    SELECT @x;
3343END//
3344delimiter ;//
3345
3346--disable_warnings
3347DROP PROCEDURE IF EXISTS sp1;
3348--enable_warnings
3349
3350delimiter //;
3351--error ER_PARSE_ERROR
3352CREATE PROCEDURE sp1()
3353  condition:BEGIN
3354    SELECT @x;
3355END//
3356delimiter ;//
3357
3358--disable_warnings
3359DROP PROCEDURE IF EXISTS sp1;
3360--enable_warnings
3361
3362delimiter //;
3363--error ER_PARSE_ERROR
3364CREATE PROCEDURE sp1()
3365  constraint:BEGIN
3366    SELECT @x;
3367END//
3368delimiter ;//
3369
3370--disable_warnings
3371DROP PROCEDURE IF EXISTS sp1;
3372--enable_warnings
3373
3374delimiter //;
3375--error ER_PARSE_ERROR
3376CREATE PROCEDURE sp1()
3377  continue:BEGIN
3378    SELECT @x;
3379END//
3380delimiter ;//
3381
3382--disable_warnings
3383DROP PROCEDURE IF EXISTS sp1;
3384--enable_warnings
3385
3386delimiter //;
3387--error ER_PARSE_ERROR
3388CREATE PROCEDURE sp1()
3389  convert:BEGIN
3390    SELECT @x;
3391END//
3392delimiter ;//
3393
3394--disable_warnings
3395DROP PROCEDURE IF EXISTS sp1;
3396--enable_warnings
3397
3398delimiter //;
3399--error ER_PARSE_ERROR
3400CREATE PROCEDURE sp1()
3401  create:BEGIN
3402    SELECT @x;
3403END//
3404delimiter ;//
3405
3406--disable_warnings
3407DROP PROCEDURE IF EXISTS sp1;
3408--enable_warnings
3409
3410delimiter //;
3411--error ER_PARSE_ERROR
3412CREATE PROCEDURE sp1()
3413  cross:BEGIN
3414    SELECT @x;
3415END//
3416delimiter ;//
3417
3418--disable_warnings
3419DROP PROCEDURE IF EXISTS sp1;
3420--enable_warnings
3421
3422delimiter //;
3423--error ER_PARSE_ERROR
3424CREATE PROCEDURE sp1()
3425  current_date:BEGIN
3426    SELECT @x;
3427END//
3428delimiter ;//
3429
3430--disable_warnings
3431DROP PROCEDURE IF EXISTS sp1;
3432--enable_warnings
3433
3434delimiter //;
3435--error ER_PARSE_ERROR
3436CREATE PROCEDURE sp1()
3437  current_time:BEGIN
3438    SELECT @x;
3439END//
3440delimiter ;//
3441
3442--disable_warnings
3443DROP PROCEDURE IF EXISTS sp1;
3444--enable_warnings
3445
3446delimiter //;
3447--error ER_PARSE_ERROR
3448CREATE PROCEDURE sp1()
3449  current_timestamp:BEGIN
3450    SELECT @x;
3451END//
3452delimiter ;//
3453
3454--disable_warnings
3455DROP PROCEDURE IF EXISTS sp1;
3456--enable_warnings
3457
3458delimiter //;
3459--error ER_PARSE_ERROR
3460CREATE PROCEDURE sp1()
3461  current_user:BEGIN
3462    SELECT @x;
3463END//
3464delimiter ;//
3465
3466--disable_warnings
3467DROP PROCEDURE IF EXISTS sp1;
3468--enable_warnings
3469
3470delimiter //;
3471--error ER_PARSE_ERROR
3472CREATE PROCEDURE sp1()
3473  cursor:BEGIN
3474    SELECT @x;
3475END//
3476delimiter ;//
3477
3478--disable_warnings
3479DROP PROCEDURE IF EXISTS sp1;
3480--enable_warnings
3481
3482delimiter //;
3483--error ER_PARSE_ERROR
3484CREATE PROCEDURE sp1()
3485  database:BEGIN
3486    SELECT @x;
3487END//
3488delimiter ;//
3489
3490--disable_warnings
3491DROP PROCEDURE IF EXISTS sp1;
3492--enable_warnings
3493
3494delimiter //;
3495--error ER_PARSE_ERROR
3496CREATE PROCEDURE sp1()
3497  databases:BEGIN
3498    SELECT @x;
3499END//
3500delimiter ;//
3501
3502--disable_warnings
3503DROP PROCEDURE IF EXISTS sp1;
3504--enable_warnings
3505
3506delimiter //;
3507--error ER_PARSE_ERROR
3508CREATE PROCEDURE sp1()
3509  day_hour:BEGIN
3510    SELECT @x;
3511END//
3512delimiter ;//
3513
3514--disable_warnings
3515DROP PROCEDURE IF EXISTS sp1;
3516--enable_warnings
3517
3518delimiter //;
3519--error ER_PARSE_ERROR
3520CREATE PROCEDURE sp1()
3521  day_microsecond:BEGIN
3522    SELECT @x;
3523END//
3524delimiter ;//
3525
3526--disable_warnings
3527DROP PROCEDURE IF EXISTS sp1;
3528--enable_warnings
3529
3530delimiter //;
3531--error ER_PARSE_ERROR
3532CREATE PROCEDURE sp1()
3533  day_minute:BEGIN
3534    SELECT @x;
3535END//
3536delimiter ;//
3537
3538--disable_warnings
3539DROP PROCEDURE IF EXISTS sp1;
3540--enable_warnings
3541
3542delimiter //;
3543--error ER_PARSE_ERROR
3544CREATE PROCEDURE sp1()
3545  day_second:BEGIN
3546    SELECT @x;
3547END//
3548delimiter ;//
3549
3550--disable_warnings
3551DROP PROCEDURE IF EXISTS sp1;
3552--enable_warnings
3553
3554delimiter //;
3555--error ER_PARSE_ERROR
3556CREATE PROCEDURE sp1()
3557  dec:BEGIN
3558    SELECT @x;
3559END//
3560delimiter ;//
3561
3562--disable_warnings
3563DROP PROCEDURE IF EXISTS sp1;
3564--enable_warnings
3565
3566delimiter //;
3567--error ER_PARSE_ERROR
3568CREATE PROCEDURE sp1()
3569  decimal:BEGIN
3570    SELECT @x;
3571END//
3572delimiter ;//
3573
3574--disable_warnings
3575DROP PROCEDURE IF EXISTS sp1;
3576--enable_warnings
3577
3578delimiter //;
3579--error ER_PARSE_ERROR
3580CREATE PROCEDURE sp1()
3581  declare:BEGIN
3582    SELECT @x;
3583END//
3584delimiter ;//
3585
3586--disable_warnings
3587DROP PROCEDURE IF EXISTS sp1;
3588--enable_warnings
3589
3590delimiter //;
3591--error ER_PARSE_ERROR
3592CREATE PROCEDURE sp1()
3593  default:BEGIN
3594    SELECT @x;
3595END//
3596delimiter ;//
3597
3598--disable_warnings
3599DROP PROCEDURE IF EXISTS sp1;
3600--enable_warnings
3601
3602delimiter //;
3603--error ER_PARSE_ERROR
3604CREATE PROCEDURE sp1()
3605  delayed:BEGIN
3606    SELECT @x;
3607END//
3608delimiter ;//
3609
3610--disable_warnings
3611DROP PROCEDURE IF EXISTS sp1;
3612--enable_warnings
3613
3614delimiter //;
3615--error ER_PARSE_ERROR
3616CREATE PROCEDURE sp1()
3617  delete:BEGIN
3618    SELECT @x;
3619END//
3620delimiter ;//
3621
3622--disable_warnings
3623DROP PROCEDURE IF EXISTS sp1;
3624--enable_warnings
3625
3626delimiter //;
3627--error ER_PARSE_ERROR
3628CREATE PROCEDURE sp1()
3629  desc:BEGIN
3630    SELECT @x;
3631END//
3632delimiter ;//
3633
3634--disable_warnings
3635DROP PROCEDURE IF EXISTS sp1;
3636--enable_warnings
3637
3638delimiter //;
3639--error ER_PARSE_ERROR
3640CREATE PROCEDURE sp1()
3641  describe:BEGIN
3642    SELECT @x;
3643END//
3644delimiter ;//
3645
3646--disable_warnings
3647DROP PROCEDURE IF EXISTS sp1;
3648--enable_warnings
3649
3650delimiter //;
3651--error ER_PARSE_ERROR
3652CREATE PROCEDURE sp1()
3653  deterministic:BEGIN
3654    SELECT @x;
3655END//
3656delimiter ;//
3657
3658--disable_warnings
3659DROP PROCEDURE IF EXISTS sp1;
3660--enable_warnings
3661
3662delimiter //;
3663--error ER_PARSE_ERROR
3664CREATE PROCEDURE sp1()
3665  distinct:BEGIN
3666    SELECT @x;
3667END//
3668delimiter ;//
3669
3670--disable_warnings
3671DROP PROCEDURE IF EXISTS sp1;
3672--enable_warnings
3673
3674delimiter //;
3675--error ER_PARSE_ERROR
3676CREATE PROCEDURE sp1()
3677  distinctrow:BEGIN
3678    SELECT @x;
3679END//
3680delimiter ;//
3681
3682--disable_warnings
3683DROP PROCEDURE IF EXISTS sp1;
3684--enable_warnings
3685
3686delimiter //;
3687--error ER_PARSE_ERROR
3688CREATE PROCEDURE sp1()
3689  div:BEGIN
3690    SELECT @x;
3691END//
3692delimiter ;//
3693
3694--disable_warnings
3695DROP PROCEDURE IF EXISTS sp1;
3696--enable_warnings
3697
3698delimiter //;
3699--error ER_PARSE_ERROR
3700CREATE PROCEDURE sp1()
3701  double:BEGIN
3702    SELECT @x;
3703END//
3704delimiter ;//
3705
3706--disable_warnings
3707DROP PROCEDURE IF EXISTS sp1;
3708--enable_warnings
3709
3710delimiter //;
3711--error ER_PARSE_ERROR
3712CREATE PROCEDURE sp1()
3713drop:BEGIN
3714    SELECT @x;
3715END//
3716delimiter ;//
3717
3718--disable_warnings
3719DROP PROCEDURE IF EXISTS sp1;
3720--enable_warnings
3721
3722delimiter //;
3723--error ER_PARSE_ERROR
3724CREATE PROCEDURE sp1()
3725  dual:BEGIN
3726    SELECT @x;
3727END//
3728delimiter ;//
3729
3730--disable_warnings
3731DROP PROCEDURE IF EXISTS sp1;
3732--enable_warnings
3733
3734delimiter //;
3735--error ER_PARSE_ERROR
3736CREATE PROCEDURE sp1()
3737  each:BEGIN
3738    SELECT @x;
3739END//
3740delimiter ;//
3741
3742--disable_warnings
3743DROP PROCEDURE IF EXISTS sp1;
3744--enable_warnings
3745
3746delimiter //;
3747--error ER_PARSE_ERROR
3748CREATE PROCEDURE sp1()
3749  else:BEGIN
3750    SELECT @x;
3751END//
3752delimiter ;//
3753
3754--disable_warnings
3755DROP PROCEDURE IF EXISTS sp1;
3756--enable_warnings
3757
3758delimiter //;
3759--error ER_PARSE_ERROR
3760CREATE PROCEDURE sp1()
3761  elseif:BEGIN
3762    SELECT @x;
3763END//
3764delimiter ;//
3765
3766--disable_warnings
3767DROP PROCEDURE IF EXISTS sp1;
3768--enable_warnings
3769
3770delimiter //;
3771--error ER_PARSE_ERROR
3772CREATE PROCEDURE sp1()
3773  enclosed:BEGIN
3774    SELECT @x;
3775END//
3776delimiter ;//
3777
3778--disable_warnings
3779DROP PROCEDURE IF EXISTS sp1;
3780--enable_warnings
3781
3782delimiter //;
3783--error ER_PARSE_ERROR
3784CREATE PROCEDURE sp1()
3785  escaped:BEGIN
3786    SELECT @x;
3787END//
3788delimiter ;//
3789
3790--disable_warnings
3791DROP PROCEDURE IF EXISTS sp1;
3792--enable_warnings
3793
3794delimiter //;
3795--error ER_PARSE_ERROR
3796CREATE PROCEDURE sp1()
3797  exists:BEGIN
3798    SELECT @x;
3799END//
3800delimiter ;//
3801
3802--disable_warnings
3803DROP PROCEDURE IF EXISTS sp1;
3804--enable_warnings
3805
3806delimiter //;
3807--error ER_PARSE_ERROR
3808CREATE PROCEDURE sp1()
3809  exit:BEGIN
3810    SELECT @x;
3811END//
3812delimiter ;//
3813
3814--disable_warnings
3815DROP PROCEDURE IF EXISTS sp1;
3816--enable_warnings
3817
3818delimiter //;
3819--error ER_PARSE_ERROR
3820CREATE PROCEDURE sp1()
3821  explain:BEGIN
3822    SELECT @x;
3823END//
3824delimiter ;//
3825
3826--disable_warnings
3827DROP PROCEDURE IF EXISTS sp1;
3828--enable_warnings
3829
3830delimiter //;
3831--error ER_PARSE_ERROR
3832CREATE PROCEDURE sp1()
3833  false:BEGIN
3834    SELECT @x;
3835END//
3836delimiter ;//
3837
3838--disable_warnings
3839DROP PROCEDURE IF EXISTS sp1;
3840--enable_warnings
3841
3842delimiter //;
3843--error ER_PARSE_ERROR
3844CREATE PROCEDURE sp1()
3845  fetch:BEGIN
3846    SELECT @x;
3847END//
3848delimiter ;//
3849
3850--disable_warnings
3851DROP PROCEDURE IF EXISTS sp1;
3852--enable_warnings
3853
3854delimiter //;
3855--error ER_PARSE_ERROR
3856CREATE PROCEDURE sp1()
3857  float:BEGIN
3858    SELECT @x;
3859END//
3860delimiter ;//
3861
3862--disable_warnings
3863DROP PROCEDURE IF EXISTS sp1;
3864--enable_warnings
3865
3866delimiter //;
3867--error ER_PARSE_ERROR
3868CREATE PROCEDURE sp1()
3869  float4:BEGIN
3870    SELECT @x;
3871END//
3872delimiter ;//
3873
3874--disable_warnings
3875DROP PROCEDURE IF EXISTS sp1;
3876--enable_warnings
3877
3878delimiter //;
3879--error ER_PARSE_ERROR
3880CREATE PROCEDURE sp1()
3881  float8:BEGIN
3882    SELECT @x;
3883END//
3884delimiter ;//
3885
3886--disable_warnings
3887DROP PROCEDURE IF EXISTS sp1;
3888--enable_warnings
3889
3890delimiter //;
3891--error ER_PARSE_ERROR
3892CREATE PROCEDURE sp1()
3893  for:BEGIN
3894    SELECT @x;
3895END//
3896delimiter ;//
3897
3898--disable_warnings
3899DROP PROCEDURE IF EXISTS sp1;
3900--enable_warnings
3901
3902delimiter //;
3903--error ER_PARSE_ERROR
3904CREATE PROCEDURE sp1()
3905  force:BEGIN
3906    SELECT @x;
3907END//
3908delimiter ;//
3909
3910--disable_warnings
3911DROP PROCEDURE IF EXISTS sp1;
3912--enable_warnings
3913
3914delimiter //;
3915--error ER_PARSE_ERROR
3916CREATE PROCEDURE sp1()
3917  foreign:BEGIN
3918    SELECT @x;
3919END//
3920delimiter ;//
3921
3922--disable_warnings
3923DROP PROCEDURE IF EXISTS sp1;
3924--enable_warnings
3925
3926delimiter //;
3927--error ER_PARSE_ERROR
3928CREATE PROCEDURE sp1()
3929  from:BEGIN
3930    SELECT @x;
3931END//
3932delimiter ;//
3933
3934--disable_warnings
3935DROP PROCEDURE IF EXISTS sp1;
3936--enable_warnings
3937
3938delimiter //;
3939--error ER_PARSE_ERROR
3940CREATE PROCEDURE sp1()
3941  fulltext:BEGIN
3942    SELECT @x;
3943END//
3944delimiter ;//
3945
3946--disable_warnings
3947DROP PROCEDURE IF EXISTS sp1;
3948--enable_warnings
3949
3950delimiter //;
3951--error ER_PARSE_ERROR
3952CREATE PROCEDURE sp1()
3953  grant:BEGIN
3954    SELECT @x;
3955END//
3956delimiter ;//
3957
3958--disable_warnings
3959DROP PROCEDURE IF EXISTS sp1;
3960--enable_warnings
3961
3962delimiter //;
3963--error ER_PARSE_ERROR
3964CREATE PROCEDURE sp1()
3965  group:BEGIN
3966    SELECT @x;
3967END//
3968delimiter ;//
3969
3970--disable_warnings
3971DROP PROCEDURE IF EXISTS sp1;
3972--enable_warnings
3973
3974delimiter //;
3975--error ER_PARSE_ERROR
3976CREATE PROCEDURE sp1()
3977  having:BEGIN
3978    SELECT @x;
3979END//
3980delimiter ;//
3981
3982--disable_warnings
3983DROP PROCEDURE IF EXISTS sp1;
3984--enable_warnings
3985
3986delimiter //;
3987--error ER_PARSE_ERROR
3988CREATE PROCEDURE sp1()
3989  high_priority:BEGIN
3990    SELECT @x;
3991END//
3992delimiter ;//
3993
3994--disable_warnings
3995DROP PROCEDURE IF EXISTS sp1;
3996--enable_warnings
3997
3998delimiter //;
3999--error ER_PARSE_ERROR
4000CREATE PROCEDURE sp1()
4001  hour_microsecond:BEGIN
4002    SELECT @x;
4003END//
4004delimiter ;//
4005
4006--disable_warnings
4007DROP PROCEDURE IF EXISTS sp1;
4008--enable_warnings
4009
4010delimiter //;
4011--error ER_PARSE_ERROR
4012CREATE PROCEDURE sp1()
4013  hour_minute:BEGIN
4014    SELECT @x;
4015END//
4016delimiter ;//
4017
4018--disable_warnings
4019DROP PROCEDURE IF EXISTS sp1;
4020--enable_warnings
4021
4022delimiter //;
4023--error ER_PARSE_ERROR
4024CREATE PROCEDURE sp1()
4025  hour_second:BEGIN
4026    SELECT @x;
4027END//
4028delimiter ;//
4029
4030--disable_warnings
4031DROP PROCEDURE IF EXISTS sp1;
4032--enable_warnings
4033
4034delimiter //;
4035--error ER_PARSE_ERROR
4036CREATE PROCEDURE sp1()
4037  if:BEGIN
4038    SELECT @x;
4039END//
4040delimiter ;//
4041
4042--disable_warnings
4043DROP PROCEDURE IF EXISTS sp1;
4044--enable_warnings
4045
4046delimiter //;
4047--error ER_PARSE_ERROR
4048CREATE PROCEDURE sp1()
4049  ignore:BEGIN
4050    SELECT @x;
4051END//
4052delimiter ;//
4053
4054--disable_warnings
4055DROP PROCEDURE IF EXISTS sp1;
4056--enable_warnings
4057
4058delimiter //;
4059--error ER_PARSE_ERROR
4060CREATE PROCEDURE sp1()
4061  in:BEGIN
4062    SELECT @x;
4063END//
4064delimiter ;//
4065
4066--disable_warnings
4067DROP PROCEDURE IF EXISTS sp1;
4068--enable_warnings
4069
4070delimiter //;
4071--error ER_PARSE_ERROR
4072CREATE PROCEDURE sp1()
4073  index:BEGIN
4074    SELECT @x;
4075END//
4076delimiter ;//
4077
4078--disable_warnings
4079DROP PROCEDURE IF EXISTS sp1;
4080--enable_warnings
4081
4082delimiter //;
4083--error ER_PARSE_ERROR
4084CREATE PROCEDURE sp1()
4085  infile:BEGIN
4086    SELECT @x;
4087END//
4088delimiter ;//
4089
4090--disable_warnings
4091DROP PROCEDURE IF EXISTS sp1;
4092--enable_warnings
4093
4094delimiter //;
4095--error ER_PARSE_ERROR
4096CREATE PROCEDURE sp1()
4097  inner:BEGIN
4098    SELECT @x;
4099END//
4100delimiter ;//
4101
4102--disable_warnings
4103DROP PROCEDURE IF EXISTS sp1;
4104--enable_warnings
4105
4106delimiter //;
4107--error ER_PARSE_ERROR
4108CREATE PROCEDURE sp1()
4109  inout:BEGIN
4110    SELECT @x;
4111END//
4112delimiter ;//
4113
4114--disable_warnings
4115DROP PROCEDURE IF EXISTS sp1;
4116--enable_warnings
4117
4118delimiter //;
4119--error ER_PARSE_ERROR
4120CREATE PROCEDURE sp1()
4121  insensitive:BEGIN
4122    SELECT @x;
4123END//
4124delimiter ;//
4125
4126--disable_warnings
4127DROP PROCEDURE IF EXISTS sp1;
4128--enable_warnings
4129
4130delimiter //;
4131--error ER_PARSE_ERROR
4132CREATE PROCEDURE sp1()
4133  insert:BEGIN
4134    SELECT @x;
4135END//
4136delimiter ;//
4137
4138--disable_warnings
4139DROP PROCEDURE IF EXISTS sp1;
4140--enable_warnings
4141
4142delimiter //;
4143--error ER_PARSE_ERROR
4144CREATE PROCEDURE sp1()
4145  int:BEGIN
4146    SELECT @x;
4147END//
4148delimiter ;//
4149
4150--disable_warnings
4151DROP PROCEDURE IF EXISTS sp1;
4152--enable_warnings
4153
4154delimiter //;
4155--error ER_PARSE_ERROR
4156CREATE PROCEDURE sp1()
4157  int1:BEGIN
4158    SELECT @x;
4159END//
4160delimiter ;//
4161
4162--disable_warnings
4163DROP PROCEDURE IF EXISTS sp1;
4164--enable_warnings
4165
4166delimiter //;
4167--error ER_PARSE_ERROR
4168CREATE PROCEDURE sp1()
4169  int2:BEGIN
4170    SELECT @x;
4171END//
4172delimiter ;//
4173
4174--disable_warnings
4175DROP PROCEDURE IF EXISTS sp1;
4176--enable_warnings
4177
4178delimiter //;
4179--error ER_PARSE_ERROR
4180CREATE PROCEDURE sp1()
4181  int3:BEGIN
4182    SELECT @x;
4183END//
4184delimiter ;//
4185
4186--disable_warnings
4187DROP PROCEDURE IF EXISTS sp1;
4188--enable_warnings
4189
4190delimiter //;
4191--error ER_PARSE_ERROR
4192CREATE PROCEDURE sp1()
4193  int4:BEGIN
4194    SELECT @x;
4195END//
4196delimiter ;//
4197
4198--disable_warnings
4199DROP PROCEDURE IF EXISTS sp1;
4200--enable_warnings
4201
4202delimiter //;
4203--error ER_PARSE_ERROR
4204CREATE PROCEDURE sp1()
4205  int8:BEGIN
4206    SELECT @x;
4207END//
4208delimiter ;//
4209
4210--disable_warnings
4211DROP PROCEDURE IF EXISTS sp1;
4212--enable_warnings
4213
4214delimiter //;
4215--error ER_PARSE_ERROR
4216CREATE PROCEDURE sp1()
4217  integer:BEGIN
4218    SELECT @x;
4219END//
4220delimiter ;//
4221
4222--disable_warnings
4223DROP PROCEDURE IF EXISTS sp1;
4224--enable_warnings
4225
4226delimiter //;
4227--error ER_PARSE_ERROR
4228CREATE PROCEDURE sp1()
4229  interval:BEGIN
4230    SELECT @x;
4231END//
4232delimiter ;//
4233
4234--disable_warnings
4235DROP PROCEDURE IF EXISTS sp1;
4236--enable_warnings
4237
4238delimiter //;
4239--error ER_PARSE_ERROR
4240CREATE PROCEDURE sp1()
4241  into:BEGIN
4242    SELECT @x;
4243END//
4244delimiter ;//
4245
4246--disable_warnings
4247DROP PROCEDURE IF EXISTS sp1;
4248--enable_warnings
4249
4250delimiter //;
4251--error ER_PARSE_ERROR
4252CREATE PROCEDURE sp1()
4253  is:BEGIN
4254    SELECT @x;
4255END//
4256delimiter ;//
4257
4258--disable_warnings
4259DROP PROCEDURE IF EXISTS sp1;
4260--enable_warnings
4261
4262delimiter //;
4263--error ER_PARSE_ERROR
4264CREATE PROCEDURE sp1()
4265  iterate:BEGIN
4266    SELECT @x;
4267END//
4268delimiter ;//
4269
4270--disable_warnings
4271DROP PROCEDURE IF EXISTS sp1;
4272--enable_warnings
4273
4274delimiter //;
4275--error ER_PARSE_ERROR
4276CREATE PROCEDURE sp1()
4277  join:BEGIN
4278    SELECT @x;
4279END//
4280delimiter ;//
4281
4282--disable_warnings
4283DROP PROCEDURE IF EXISTS sp1;
4284--enable_warnings
4285
4286delimiter //;
4287--error ER_PARSE_ERROR
4288CREATE PROCEDURE sp1()
4289  key:BEGIN
4290    SELECT @x;
4291END//
4292delimiter ;//
4293
4294--disable_warnings
4295DROP PROCEDURE IF EXISTS sp1;
4296--enable_warnings
4297
4298delimiter //;
4299--error ER_PARSE_ERROR
4300CREATE PROCEDURE sp1()
4301  keys:BEGIN
4302    SELECT @x;
4303END//
4304delimiter ;//
4305
4306--disable_warnings
4307DROP PROCEDURE IF EXISTS sp1;
4308--enable_warnings
4309
4310delimiter //;
4311--error ER_PARSE_ERROR
4312CREATE PROCEDURE sp1()
4313  kill:BEGIN
4314    SELECT @x;
4315END//
4316delimiter ;//
4317
4318--disable_warnings
4319DROP PROCEDURE IF EXISTS sp1;
4320--enable_warnings
4321
4322delimiter //;
4323--error ER_PARSE_ERROR
4324CREATE PROCEDURE sp1()
4325  leading:BEGIN
4326    SELECT @x;
4327END//
4328delimiter ;//
4329
4330--disable_warnings
4331DROP PROCEDURE IF EXISTS sp1;
4332--enable_warnings
4333
4334delimiter //;
4335--error ER_PARSE_ERROR
4336CREATE PROCEDURE sp1()
4337  leave:BEGIN
4338    SELECT @x;
4339END//
4340delimiter ;//
4341
4342--disable_warnings
4343DROP PROCEDURE IF EXISTS sp1;
4344--enable_warnings
4345
4346delimiter //;
4347--error ER_PARSE_ERROR
4348CREATE PROCEDURE sp1()
4349  left:BEGIN
4350    SELECT @x;
4351END//
4352delimiter ;//
4353
4354--disable_warnings
4355DROP PROCEDURE IF EXISTS sp1;
4356--enable_warnings
4357
4358delimiter //;
4359--error ER_PARSE_ERROR
4360CREATE PROCEDURE sp1()
4361  like:BEGIN
4362    SELECT @x;
4363END//
4364delimiter ;//
4365
4366--disable_warnings
4367DROP PROCEDURE IF EXISTS sp1;
4368--enable_warnings
4369
4370delimiter //;
4371--error ER_PARSE_ERROR
4372CREATE PROCEDURE sp1()
4373  limit:BEGIN
4374    SELECT @x;
4375END//
4376delimiter ;//
4377
4378--disable_warnings
4379DROP PROCEDURE IF EXISTS sp1;
4380--enable_warnings
4381
4382delimiter //;
4383--error ER_PARSE_ERROR
4384CREATE PROCEDURE sp1()
4385  linear:BEGIN
4386    SELECT @x;
4387END//
4388delimiter ;//
4389
4390--disable_warnings
4391DROP PROCEDURE IF EXISTS sp1;
4392--enable_warnings
4393
4394delimiter //;
4395--error ER_PARSE_ERROR
4396CREATE PROCEDURE sp1()
4397  lines:BEGIN
4398    SELECT @x;
4399END//
4400delimiter ;//
4401
4402--disable_warnings
4403DROP PROCEDURE IF EXISTS sp1;
4404--enable_warnings
4405
4406delimiter //;
4407--error ER_PARSE_ERROR
4408CREATE PROCEDURE sp1()
4409  load:BEGIN
4410    SELECT @x;
4411END//
4412delimiter ;//
4413
4414--disable_warnings
4415DROP PROCEDURE IF EXISTS sp1;
4416--enable_warnings
4417
4418delimiter //;
4419--error ER_PARSE_ERROR
4420CREATE PROCEDURE sp1()
4421  localtime:BEGIN
4422    SELECT @x;
4423END//
4424delimiter ;//
4425
4426--disable_warnings
4427DROP PROCEDURE IF EXISTS sp1;
4428--enable_warnings
4429
4430delimiter //;
4431--error ER_PARSE_ERROR
4432CREATE PROCEDURE sp1()
4433  localtimestamp:BEGIN
4434    SELECT @x;
4435END//
4436delimiter ;//
4437
4438--disable_warnings
4439DROP PROCEDURE IF EXISTS sp1;
4440--enable_warnings
4441
4442delimiter //;
4443--error ER_PARSE_ERROR
4444CREATE PROCEDURE sp1()
4445  lock:BEGIN
4446    SELECT @x;
4447END//
4448delimiter ;//
4449
4450--disable_warnings
4451DROP PROCEDURE IF EXISTS sp1;
4452--enable_warnings
4453
4454delimiter //;
4455--error ER_PARSE_ERROR
4456CREATE PROCEDURE sp1()
4457  long:BEGIN
4458    SELECT @x;
4459END//
4460delimiter ;//
4461
4462--disable_warnings
4463DROP PROCEDURE IF EXISTS sp1;
4464--enable_warnings
4465
4466delimiter //;
4467--error ER_PARSE_ERROR
4468CREATE PROCEDURE sp1()
4469  longblob:BEGIN
4470    SELECT @x;
4471END//
4472delimiter ;//
4473
4474--disable_warnings
4475DROP PROCEDURE IF EXISTS sp1;
4476--enable_warnings
4477
4478delimiter //;
4479--error ER_PARSE_ERROR
4480CREATE PROCEDURE sp1()
4481  longtext:BEGIN
4482    SELECT @x;
4483END//
4484delimiter ;//
4485
4486--disable_warnings
4487DROP PROCEDURE IF EXISTS sp1;
4488--enable_warnings
4489
4490delimiter //;
4491--error ER_PARSE_ERROR
4492CREATE PROCEDURE sp1()
4493  loop:BEGIN
4494    SELECT @x;
4495END//
4496delimiter ;//
4497
4498--disable_warnings
4499DROP PROCEDURE IF EXISTS sp1;
4500--enable_warnings
4501
4502delimiter //;
4503--error ER_PARSE_ERROR
4504CREATE PROCEDURE sp1()
4505  low_priority:BEGIN
4506    SELECT @x;
4507END//
4508delimiter ;//
4509
4510--disable_warnings
4511DROP PROCEDURE IF EXISTS sp1;
4512--enable_warnings
4513
4514delimiter //;
4515--error ER_PARSE_ERROR
4516CREATE PROCEDURE sp1()
4517  master_ssl_verify_server_cert:BEGIN
4518    SELECT @x;
4519END//
4520delimiter ;//
4521
4522--disable_warnings
4523DROP PROCEDURE IF EXISTS sp1;
4524--enable_warnings
4525
4526delimiter //;
4527--error ER_PARSE_ERROR
4528CREATE PROCEDURE sp1()
4529  match:BEGIN
4530    SELECT @x;
4531END//
4532delimiter ;//
4533
4534--disable_warnings
4535DROP PROCEDURE IF EXISTS sp1;
4536--enable_warnings
4537
4538delimiter //;
4539--error ER_PARSE_ERROR
4540CREATE PROCEDURE sp1()
4541  mediumblob:BEGIN
4542    SELECT @x;
4543END//
4544delimiter ;//
4545
4546--disable_warnings
4547DROP PROCEDURE IF EXISTS sp1;
4548--enable_warnings
4549
4550delimiter //;
4551--error ER_PARSE_ERROR
4552CREATE PROCEDURE sp1()
4553  mediumint:BEGIN
4554    SELECT @x;
4555END//
4556delimiter ;//
4557
4558--disable_warnings
4559DROP PROCEDURE IF EXISTS sp1;
4560--enable_warnings
4561
4562delimiter //;
4563--error ER_PARSE_ERROR
4564CREATE PROCEDURE sp1()
4565  mediumtext:BEGIN
4566    SELECT @x;
4567END//
4568delimiter ;//
4569
4570--disable_warnings
4571DROP PROCEDURE IF EXISTS sp1;
4572--enable_warnings
4573
4574delimiter //;
4575--error ER_PARSE_ERROR
4576CREATE PROCEDURE sp1()
4577  middleint:BEGIN
4578    SELECT @x;
4579END//
4580delimiter ;//
4581
4582--disable_warnings
4583DROP PROCEDURE IF EXISTS sp1;
4584--enable_warnings
4585
4586delimiter //;
4587--error ER_PARSE_ERROR
4588CREATE PROCEDURE sp1()
4589  minute_microsecond:BEGIN
4590    SELECT @x;
4591END//
4592delimiter ;//
4593
4594--disable_warnings
4595DROP PROCEDURE IF EXISTS sp1;
4596--enable_warnings
4597
4598delimiter //;
4599--error ER_PARSE_ERROR
4600CREATE PROCEDURE sp1()
4601  minute_second:BEGIN
4602    SELECT @x;
4603END//
4604delimiter ;//
4605
4606--disable_warnings
4607DROP PROCEDURE IF EXISTS sp1;
4608--enable_warnings
4609
4610delimiter //;
4611--error ER_PARSE_ERROR
4612CREATE PROCEDURE sp1()
4613  mod:BEGIN
4614    SELECT @x;
4615END//
4616delimiter ;//
4617
4618--disable_warnings
4619DROP PROCEDURE IF EXISTS sp1;
4620--enable_warnings
4621
4622delimiter //;
4623--error ER_PARSE_ERROR
4624CREATE PROCEDURE sp1()
4625  modifies:BEGIN
4626    SELECT @x;
4627END//
4628delimiter ;//
4629
4630--disable_warnings
4631DROP PROCEDURE IF EXISTS sp1;
4632--enable_warnings
4633
4634delimiter //;
4635--error ER_PARSE_ERROR
4636CREATE PROCEDURE sp1()
4637  natural:BEGIN
4638    SELECT @x;
4639END//
4640delimiter ;//
4641
4642--disable_warnings
4643DROP PROCEDURE IF EXISTS sp1;
4644--enable_warnings
4645
4646delimiter //;
4647--error ER_PARSE_ERROR
4648CREATE PROCEDURE sp1()
4649  not:BEGIN
4650    SELECT @x;
4651END//
4652delimiter ;//
4653
4654--disable_warnings
4655DROP PROCEDURE IF EXISTS sp1;
4656--enable_warnings
4657
4658delimiter //;
4659--error ER_PARSE_ERROR
4660CREATE PROCEDURE sp1()
4661  no_write_to_binlog:BEGIN
4662    SELECT @x;
4663END//
4664delimiter ;//
4665
4666--disable_warnings
4667DROP PROCEDURE IF EXISTS sp1;
4668--enable_warnings
4669
4670delimiter //;
4671--error ER_PARSE_ERROR
4672CREATE PROCEDURE sp1()
4673  null:BEGIN
4674    SELECT @x;
4675END//
4676delimiter ;//
4677
4678--disable_warnings
4679DROP PROCEDURE IF EXISTS sp1;
4680--enable_warnings
4681
4682
4683delimiter //;
4684--error ER_PARSE_ERROR
4685CREATE PROCEDURE sp1()
4686  numeric:BEGIN
4687    SELECT @x;
4688END//
4689delimiter ;//
4690
4691--disable_warnings
4692DROP PROCEDURE IF EXISTS sp1;
4693--enable_warnings
4694
4695delimiter //;
4696--error ER_PARSE_ERROR
4697CREATE PROCEDURE sp1()
4698  on:BEGIN
4699    SELECT @x;
4700END//
4701delimiter ;//
4702
4703--disable_warnings
4704DROP PROCEDURE IF EXISTS sp1;
4705--enable_warnings
4706
4707delimiter //;
4708--error ER_PARSE_ERROR
4709CREATE PROCEDURE sp1()
4710  optimize:BEGIN
4711    SELECT @x;
4712END//
4713delimiter ;//
4714
4715--disable_warnings
4716DROP PROCEDURE IF EXISTS sp1;
4717--enable_warnings
4718
4719delimiter //;
4720--error ER_PARSE_ERROR
4721CREATE PROCEDURE sp1()
4722  option:BEGIN
4723    SELECT @x;
4724END//
4725delimiter ;//
4726
4727--disable_warnings
4728DROP PROCEDURE IF EXISTS sp1;
4729--enable_warnings
4730
4731delimiter //;
4732--error ER_PARSE_ERROR
4733CREATE PROCEDURE sp1()
4734  optionally:BEGIN
4735    SELECT @x;
4736END//
4737delimiter ;//
4738
4739--disable_warnings
4740DROP PROCEDURE IF EXISTS sp1;
4741--enable_warnings
4742
4743delimiter //;
4744--error ER_PARSE_ERROR
4745CREATE PROCEDURE sp1()
4746  or:BEGIN
4747    SELECT @x;
4748END//
4749delimiter ;//
4750
4751--disable_warnings
4752DROP PROCEDURE IF EXISTS sp1;
4753--enable_warnings
4754
4755delimiter //;
4756--error ER_PARSE_ERROR
4757CREATE PROCEDURE sp1()
4758  order:BEGIN
4759    SELECT @x;
4760END//
4761delimiter ;//
4762
4763--disable_warnings
4764DROP PROCEDURE IF EXISTS sp1;
4765--enable_warnings
4766
4767delimiter //;
4768--error ER_PARSE_ERROR
4769CREATE PROCEDURE sp1()
4770  out:BEGIN
4771    SELECT @x;
4772END//
4773delimiter ;//
4774
4775--disable_warnings
4776DROP PROCEDURE IF EXISTS sp1;
4777--enable_warnings
4778
4779delimiter //;
4780--error ER_PARSE_ERROR
4781CREATE PROCEDURE sp1()
4782  outer:BEGIN
4783    SELECT @x;
4784END//
4785delimiter ;//
4786
4787--disable_warnings
4788DROP PROCEDURE IF EXISTS sp1;
4789--enable_warnings
4790
4791delimiter //;
4792--error ER_PARSE_ERROR
4793CREATE PROCEDURE sp1()
4794  outfile:BEGIN
4795    SELECT @x;
4796END//
4797delimiter ;//
4798
4799--disable_warnings
4800DROP PROCEDURE IF EXISTS sp1;
4801--enable_warnings
4802
4803delimiter //;
4804--error ER_PARSE_ERROR
4805CREATE PROCEDURE sp1()
4806  precision:BEGIN
4807    SELECT @x;
4808END//
4809delimiter ;//
4810
4811--disable_warnings
4812DROP PROCEDURE IF EXISTS sp1;
4813--enable_warnings
4814
4815delimiter //;
4816--error ER_PARSE_ERROR
4817CREATE PROCEDURE sp1()
4818  primary:BEGIN
4819    SELECT @x;
4820END//
4821delimiter ;//
4822
4823--disable_warnings
4824DROP PROCEDURE IF EXISTS sp1;
4825--enable_warnings
4826
4827delimiter //;
4828--error ER_PARSE_ERROR
4829CREATE PROCEDURE sp1()
4830  procedure:BEGIN
4831    SELECT @x;
4832END//
4833delimiter ;//
4834
4835--disable_warnings
4836DROP PROCEDURE IF EXISTS sp1;
4837--enable_warnings
4838
4839delimiter //;
4840--error ER_PARSE_ERROR
4841CREATE PROCEDURE sp1()
4842  purge:BEGIN
4843    SELECT @x;
4844END//
4845delimiter ;//
4846
4847--disable_warnings
4848DROP PROCEDURE IF EXISTS sp1;
4849--enable_warnings
4850
4851delimiter //;
4852--error ER_PARSE_ERROR
4853CREATE PROCEDURE sp1()
4854  range:BEGIN
4855    SELECT @x;
4856END//
4857delimiter ;//
4858
4859--disable_warnings
4860DROP PROCEDURE IF EXISTS sp1;
4861--enable_warnings
4862
4863delimiter //;
4864--error ER_PARSE_ERROR
4865CREATE PROCEDURE sp1()
4866  read:BEGIN
4867    SELECT @x;
4868END//
4869delimiter ;//
4870
4871--disable_warnings
4872DROP PROCEDURE IF EXISTS sp1;
4873--enable_warnings
4874
4875delimiter //;
4876--error ER_PARSE_ERROR
4877CREATE PROCEDURE sp1()
4878  reads:BEGIN
4879    SELECT @x;
4880END//
4881delimiter ;//
4882
4883--disable_warnings
4884DROP PROCEDURE IF EXISTS sp1;
4885--enable_warnings
4886
4887# delimiter //;
4888# --error ER_PARSE_ERROR
4889# CREATE PROCEDURE sp1()
4890#   read_only:BEGIN
4891#     SELECT @x;
4892# END//
4893# delimiter ;//
4894
4895--disable_warnings
4896DROP PROCEDURE IF EXISTS sp1;
4897--enable_warnings
4898
4899delimiter //;
4900--error ER_PARSE_ERROR
4901CREATE PROCEDURE sp1()
4902  read_write:BEGIN
4903    SELECT @x;
4904END//
4905delimiter ;//
4906
4907--disable_warnings
4908DROP PROCEDURE IF EXISTS sp1;
4909--enable_warnings
4910
4911delimiter //;
4912--error ER_PARSE_ERROR
4913CREATE PROCEDURE sp1()
4914  real:BEGIN
4915    SELECT @x;
4916END//
4917delimiter ;//
4918
4919--disable_warnings
4920DROP PROCEDURE IF EXISTS sp1;
4921--enable_warnings
4922
4923delimiter //;
4924--error ER_PARSE_ERROR
4925CREATE PROCEDURE sp1()
4926  references:BEGIN
4927    SELECT @x;
4928END//
4929delimiter ;//
4930
4931--disable_warnings
4932DROP PROCEDURE IF EXISTS sp1;
4933--enable_warnings
4934
4935delimiter //;
4936--error ER_PARSE_ERROR
4937CREATE PROCEDURE sp1()
4938  regexp:BEGIN
4939    SELECT @x;
4940END//
4941delimiter ;//
4942
4943--disable_warnings
4944DROP PROCEDURE IF EXISTS sp1;
4945--enable_warnings
4946
4947delimiter //;
4948--error ER_PARSE_ERROR
4949CREATE PROCEDURE sp1()
4950  release:BEGIN
4951    SELECT @x;
4952END//
4953delimiter ;//
4954
4955--disable_warnings
4956DROP PROCEDURE IF EXISTS sp1;
4957--enable_warnings
4958
4959delimiter //;
4960--error ER_PARSE_ERROR
4961CREATE PROCEDURE sp1()
4962  rename:BEGIN
4963    SELECT @x;
4964END//
4965delimiter ;//
4966
4967--disable_warnings
4968DROP PROCEDURE IF EXISTS sp1;
4969--enable_warnings
4970
4971delimiter //;
4972--error ER_PARSE_ERROR
4973CREATE PROCEDURE sp1()
4974  repeat:BEGIN
4975    SELECT @x;
4976END//
4977delimiter ;//
4978
4979--disable_warnings
4980DROP PROCEDURE IF EXISTS sp1;
4981--enable_warnings
4982
4983delimiter //;
4984--error ER_PARSE_ERROR
4985CREATE PROCEDURE sp1()
4986  replace:BEGIN
4987    SELECT @x;
4988END//
4989delimiter ;//
4990
4991--disable_warnings
4992DROP PROCEDURE IF EXISTS sp1;
4993--enable_warnings
4994
4995delimiter //;
4996--error ER_PARSE_ERROR
4997CREATE PROCEDURE sp1()
4998  require:BEGIN
4999    SELECT @x;
5000END//
5001delimiter ;//
5002
5003--disable_warnings
5004DROP PROCEDURE IF EXISTS sp1;
5005--enable_warnings
5006
5007delimiter //;
5008--error ER_PARSE_ERROR
5009CREATE PROCEDURE sp1()
5010  restrict:BEGIN
5011    SELECT @x;
5012END//
5013delimiter ;//
5014
5015--disable_warnings
5016DROP PROCEDURE IF EXISTS sp1;
5017--enable_warnings
5018
5019delimiter //;
5020--error ER_PARSE_ERROR
5021CREATE PROCEDURE sp1()
5022  return:BEGIN
5023    SELECT @x;
5024END//
5025delimiter ;//
5026
5027--disable_warnings
5028DROP PROCEDURE IF EXISTS sp1;
5029--enable_warnings
5030
5031delimiter //;
5032--error ER_PARSE_ERROR
5033CREATE PROCEDURE sp1()
5034  revoke:BEGIN
5035    SELECT @x;
5036END//
5037delimiter ;//
5038
5039--disable_warnings
5040DROP PROCEDURE IF EXISTS sp1;
5041--enable_warnings
5042
5043delimiter //;
5044--error ER_PARSE_ERROR
5045CREATE PROCEDURE sp1()
5046  right:BEGIN
5047    SELECT @x;
5048END//
5049delimiter ;//
5050
5051--disable_warnings
5052DROP PROCEDURE IF EXISTS sp1;
5053--enable_warnings
5054
5055delimiter //;
5056--error ER_PARSE_ERROR
5057CREATE PROCEDURE sp1()
5058  rlike:BEGIN
5059    SELECT @x;
5060END//
5061delimiter ;//
5062
5063--disable_warnings
5064DROP PROCEDURE IF EXISTS sp1;
5065--enable_warnings
5066
5067delimiter //;
5068--error ER_PARSE_ERROR
5069CREATE PROCEDURE sp1()
5070  schema:BEGIN
5071    SELECT @x;
5072END//
5073delimiter ;//
5074
5075--disable_warnings
5076DROP PROCEDURE IF EXISTS sp1;
5077--enable_warnings
5078
5079delimiter //;
5080--error ER_PARSE_ERROR
5081CREATE PROCEDURE sp1()
5082  schemas:BEGIN
5083    SELECT @x;
5084END//
5085delimiter ;//
5086
5087--disable_warnings
5088DROP PROCEDURE IF EXISTS sp1;
5089--enable_warnings
5090
5091delimiter //;
5092--error ER_PARSE_ERROR
5093CREATE PROCEDURE sp1()
5094  second_microsecond:BEGIN
5095    SELECT @x;
5096END//
5097delimiter ;//
5098
5099--disable_warnings
5100DROP PROCEDURE IF EXISTS sp1;
5101--enable_warnings
5102
5103delimiter //;
5104--error ER_PARSE_ERROR
5105CREATE PROCEDURE sp1()
5106  select:BEGIN
5107    SELECT @x;
5108END//
5109delimiter ;//
5110
5111--disable_warnings
5112DROP PROCEDURE IF EXISTS sp1;
5113--enable_warnings
5114
5115delimiter //;
5116--error ER_PARSE_ERROR
5117CREATE PROCEDURE sp1()
5118  sensitive:BEGIN
5119    SELECT @x;
5120END//
5121delimiter ;//
5122
5123--disable_warnings
5124DROP PROCEDURE IF EXISTS sp1;
5125--enable_warnings
5126
5127delimiter //;
5128--error ER_PARSE_ERROR
5129CREATE PROCEDURE sp1()
5130  separator:BEGIN
5131    SELECT @x;
5132END//
5133delimiter ;//
5134
5135--disable_warnings
5136DROP PROCEDURE IF EXISTS sp1;
5137--enable_warnings
5138
5139delimiter //;
5140--error ER_PARSE_ERROR
5141CREATE PROCEDURE sp1()
5142  set:BEGIN
5143    SELECT @x;
5144END//
5145delimiter ;//
5146
5147--disable_warnings
5148DROP PROCEDURE IF EXISTS sp1;
5149--enable_warnings
5150
5151delimiter //;
5152--error ER_PARSE_ERROR
5153CREATE PROCEDURE sp1()
5154  show:BEGIN
5155    SELECT @x;
5156END//
5157delimiter ;//
5158
5159--disable_warnings
5160DROP PROCEDURE IF EXISTS sp1;
5161--enable_warnings
5162
5163delimiter //;
5164--error ER_PARSE_ERROR
5165CREATE PROCEDURE sp1()
5166  smallint:BEGIN
5167    SELECT @x;
5168END//
5169delimiter ;//
5170
5171--disable_warnings
5172DROP PROCEDURE IF EXISTS sp1;
5173--enable_warnings
5174
5175delimiter //;
5176--error ER_PARSE_ERROR
5177CREATE PROCEDURE sp1()
5178  spatial:BEGIN
5179    SELECT @x;
5180END//
5181delimiter ;//
5182
5183--disable_warnings
5184DROP PROCEDURE IF EXISTS sp1;
5185--enable_warnings
5186
5187delimiter //;
5188--error ER_PARSE_ERROR
5189CREATE PROCEDURE sp1()
5190  specific:BEGIN
5191    SELECT @x;
5192END//
5193delimiter ;//
5194
5195--disable_warnings
5196DROP PROCEDURE IF EXISTS sp1;
5197--enable_warnings
5198
5199delimiter //;
5200--error ER_PARSE_ERROR
5201CREATE PROCEDURE sp1()
5202  sql:BEGIN
5203    SELECT @x;
5204END//
5205delimiter ;//
5206
5207--disable_warnings
5208DROP PROCEDURE IF EXISTS sp1;
5209--enable_warnings
5210
5211delimiter //;
5212--error ER_PARSE_ERROR
5213CREATE PROCEDURE sp1()
5214  sqlexception:BEGIN
5215    SELECT @x;
5216END//
5217delimiter ;//
5218
5219--disable_warnings
5220DROP PROCEDURE IF EXISTS sp1;
5221--enable_warnings
5222
5223delimiter //;
5224--error ER_PARSE_ERROR
5225CREATE PROCEDURE sp1()
5226  sqlstate:BEGIN
5227    SELECT @x;
5228END//
5229delimiter ;//
5230
5231--disable_warnings
5232DROP PROCEDURE IF EXISTS sp1;
5233--enable_warnings
5234
5235delimiter //;
5236--error ER_PARSE_ERROR
5237CREATE PROCEDURE sp1()
5238  sqlwarning:BEGIN
5239    SELECT @x;
5240END//
5241delimiter ;//
5242
5243--disable_warnings
5244DROP PROCEDURE IF EXISTS sp1;
5245--enable_warnings
5246
5247delimiter //;
5248--error ER_PARSE_ERROR
5249CREATE PROCEDURE sp1()
5250  sql_big_result:BEGIN
5251    SELECT @x;
5252END//
5253delimiter ;//
5254
5255--disable_warnings
5256DROP PROCEDURE IF EXISTS sp1;
5257--enable_warnings
5258
5259delimiter //;
5260--error ER_PARSE_ERROR
5261CREATE PROCEDURE sp1()
5262  sql_calc_found_rows:BEGIN
5263    SELECT @x;
5264END//
5265delimiter ;//
5266
5267--disable_warnings
5268DROP PROCEDURE IF EXISTS sp1;
5269--enable_warnings
5270
5271delimiter //;
5272--error ER_PARSE_ERROR
5273CREATE PROCEDURE sp1()
5274  sql_small_result:BEGIN
5275    SELECT @x;
5276END//
5277delimiter ;//
5278
5279--disable_warnings
5280DROP PROCEDURE IF EXISTS sp1;
5281--enable_warnings
5282
5283delimiter //;
5284--error ER_PARSE_ERROR
5285CREATE PROCEDURE sp1()
5286  ssl:BEGIN
5287    SELECT @x;
5288END//
5289delimiter ;//
5290
5291--disable_warnings
5292DROP PROCEDURE IF EXISTS sp1;
5293--enable_warnings
5294
5295delimiter //;
5296--error ER_PARSE_ERROR
5297CREATE PROCEDURE sp1()
5298  starting:BEGIN
5299    SELECT @x;
5300END//
5301delimiter ;//
5302
5303--disable_warnings
5304DROP PROCEDURE IF EXISTS sp1;
5305--enable_warnings
5306
5307delimiter //;
5308--error ER_PARSE_ERROR
5309CREATE PROCEDURE sp1()
5310  straight_join:BEGIN
5311    SELECT @x;
5312END//
5313delimiter ;//
5314
5315--disable_warnings
5316DROP PROCEDURE IF EXISTS sp1;
5317--enable_warnings
5318
5319delimiter //;
5320--error ER_PARSE_ERROR
5321CREATE PROCEDURE sp1()
5322  table:BEGIN
5323    SELECT @x;
5324END//
5325delimiter ;//
5326
5327--disable_warnings
5328DROP PROCEDURE IF EXISTS sp1;
5329--enable_warnings
5330
5331delimiter //;
5332--error ER_PARSE_ERROR
5333CREATE PROCEDURE sp1()
5334  terminated:BEGIN
5335    SELECT @x;
5336END//
5337delimiter ;//
5338
5339--disable_warnings
5340DROP PROCEDURE IF EXISTS sp1;
5341--enable_warnings
5342
5343delimiter //;
5344--error ER_PARSE_ERROR
5345CREATE PROCEDURE sp1()
5346  then:BEGIN
5347    SELECT @x;
5348END//
5349delimiter ;//
5350
5351--disable_warnings
5352DROP PROCEDURE IF EXISTS sp1;
5353--enable_warnings
5354
5355delimiter //;
5356--error ER_PARSE_ERROR
5357CREATE PROCEDURE sp1()
5358  tinyblob:BEGIN
5359    SELECT @x;
5360END//
5361delimiter ;//
5362
5363--disable_warnings
5364DROP PROCEDURE IF EXISTS sp1;
5365--enable_warnings
5366
5367delimiter //;
5368--error ER_PARSE_ERROR
5369CREATE PROCEDURE sp1()
5370  tinyint:BEGIN
5371    SELECT @x;
5372END//
5373delimiter ;//
5374
5375--disable_warnings
5376DROP PROCEDURE IF EXISTS sp1;
5377--enable_warnings
5378
5379delimiter //;
5380--error ER_PARSE_ERROR
5381CREATE PROCEDURE sp1()
5382  tinytext:BEGIN
5383    SELECT @x;
5384END//
5385delimiter ;//
5386
5387--disable_warnings
5388DROP PROCEDURE IF EXISTS sp1;
5389--enable_warnings
5390
5391delimiter //;
5392--error ER_PARSE_ERROR
5393CREATE PROCEDURE sp1()
5394  to:BEGIN
5395    SELECT @x;
5396END//
5397delimiter ;//
5398
5399--disable_warnings
5400DROP PROCEDURE IF EXISTS sp1;
5401--enable_warnings
5402
5403delimiter //;
5404--error ER_PARSE_ERROR
5405CREATE PROCEDURE sp1()
5406  trailing:BEGIN
5407    SELECT @x;
5408END//
5409delimiter ;//
5410
5411--disable_warnings
5412DROP PROCEDURE IF EXISTS sp1;
5413--enable_warnings
5414
5415delimiter //;
5416--error ER_PARSE_ERROR
5417CREATE PROCEDURE sp1()
5418  trigger:BEGIN
5419    SELECT @x;
5420END//
5421delimiter ;//
5422
5423--disable_warnings
5424DROP PROCEDURE IF EXISTS sp1;
5425--enable_warnings
5426
5427delimiter //;
5428--error ER_PARSE_ERROR
5429CREATE PROCEDURE sp1()
5430  true:BEGIN
5431    SELECT @x;
5432END//
5433delimiter ;//
5434
5435--disable_warnings
5436DROP PROCEDURE IF EXISTS sp1;
5437--enable_warnings
5438
5439delimiter //;
5440--error ER_PARSE_ERROR
5441CREATE PROCEDURE sp1()
5442  undo:BEGIN
5443    SELECT @x;
5444END//
5445delimiter ;//
5446
5447--disable_warnings
5448DROP PROCEDURE IF EXISTS sp1;
5449--enable_warnings
5450
5451delimiter //;
5452--error ER_PARSE_ERROR
5453CREATE PROCEDURE sp1()
5454  union:BEGIN
5455    SELECT @x;
5456END//
5457delimiter ;//
5458
5459--disable_warnings
5460DROP PROCEDURE IF EXISTS sp1;
5461--enable_warnings
5462
5463delimiter //;
5464--error ER_PARSE_ERROR
5465CREATE PROCEDURE sp1()
5466  unique:BEGIN
5467    SELECT @x;
5468END//
5469delimiter ;//
5470
5471--disable_warnings
5472DROP PROCEDURE IF EXISTS sp1;
5473--enable_warnings
5474
5475delimiter //;
5476--error ER_SP_BADSTATEMENT
5477CREATE PROCEDURE sp1()
5478  unlock:BEGIN
5479    SELECT @x;
5480END//
5481delimiter ;//
5482
5483--disable_warnings
5484DROP PROCEDURE IF EXISTS sp1;
5485--enable_warnings
5486
5487delimiter //;
5488--error ER_PARSE_ERROR
5489CREATE PROCEDURE sp1()
5490  unsigned:BEGIN
5491    SELECT @x;
5492END//
5493delimiter ;//
5494
5495--disable_warnings
5496DROP PROCEDURE IF EXISTS sp1;
5497--enable_warnings
5498
5499delimiter //;
5500--error ER_PARSE_ERROR
5501CREATE PROCEDURE sp1()
5502  update:BEGIN
5503    SELECT @x;
5504END//
5505delimiter ;//
5506
5507--disable_warnings
5508DROP PROCEDURE IF EXISTS sp1;
5509--enable_warnings
5510
5511delimiter //;
5512--error ER_PARSE_ERROR
5513CREATE PROCEDURE sp1()
5514  usage:BEGIN
5515    SELECT @x;
5516END//
5517delimiter ;//
5518
5519--disable_warnings
5520DROP PROCEDURE IF EXISTS sp1;
5521--enable_warnings
5522
5523delimiter //;
5524--error ER_PARSE_ERROR
5525CREATE PROCEDURE sp1()
5526  use:BEGIN
5527    SELECT @x;
5528END//
5529delimiter ;//
5530
5531--disable_warnings
5532DROP PROCEDURE IF EXISTS sp1;
5533--enable_warnings
5534
5535delimiter //;
5536--error ER_PARSE_ERROR
5537CREATE PROCEDURE sp1()
5538  using:BEGIN
5539    SELECT @x;
5540END//
5541delimiter ;//
5542
5543--disable_warnings
5544DROP PROCEDURE IF EXISTS sp1;
5545--enable_warnings
5546
5547delimiter //;
5548--error ER_PARSE_ERROR
5549CREATE PROCEDURE sp1()
5550  utc_date:BEGIN
5551    SELECT @x;
5552END//
5553delimiter ;//
5554
5555--disable_warnings
5556DROP PROCEDURE IF EXISTS sp1;
5557--enable_warnings
5558
5559delimiter //;
5560--error ER_PARSE_ERROR
5561CREATE PROCEDURE sp1()
5562  utc_time:BEGIN
5563    SELECT @x;
5564END//
5565delimiter ;//
5566
5567--disable_warnings
5568DROP PROCEDURE IF EXISTS sp1;
5569--enable_warnings
5570
5571delimiter //;
5572--error ER_PARSE_ERROR
5573CREATE PROCEDURE sp1()
5574  utc_timestamp:BEGIN
5575    SELECT @x;
5576END//
5577delimiter ;//
5578
5579--disable_warnings
5580DROP PROCEDURE IF EXISTS sp1;
5581--enable_warnings
5582
5583delimiter //;
5584--error ER_PARSE_ERROR
5585CREATE PROCEDURE sp1()
5586  values:BEGIN
5587    SELECT @x;
5588END//
5589delimiter ;//
5590
5591--disable_warnings
5592DROP PROCEDURE IF EXISTS sp1;
5593--enable_warnings
5594
5595delimiter //;
5596--error ER_PARSE_ERROR
5597CREATE PROCEDURE sp1()
5598  varbinary:BEGIN
5599    SELECT @x;
5600END//
5601delimiter ;//
5602
5603--disable_warnings
5604DROP PROCEDURE IF EXISTS sp1;
5605--enable_warnings
5606
5607delimiter //;
5608--error ER_PARSE_ERROR
5609CREATE PROCEDURE sp1()
5610  varchar:BEGIN
5611    SELECT @x;
5612END//
5613delimiter ;//
5614
5615--disable_warnings
5616DROP PROCEDURE IF EXISTS sp1;
5617--enable_warnings
5618
5619delimiter //;
5620--error ER_PARSE_ERROR
5621CREATE PROCEDURE sp1()
5622  varcharacter:BEGIN
5623    SELECT @x;
5624END//
5625delimiter ;//
5626
5627--disable_warnings
5628DROP PROCEDURE IF EXISTS sp1;
5629--enable_warnings
5630
5631delimiter //;
5632--error ER_PARSE_ERROR
5633CREATE PROCEDURE sp1()
5634  varying:BEGIN
5635    SELECT @x;
5636END//
5637delimiter ;//
5638
5639--disable_warnings
5640DROP PROCEDURE IF EXISTS sp1;
5641--enable_warnings
5642
5643delimiter //;
5644--error ER_PARSE_ERROR
5645CREATE PROCEDURE sp1()
5646  when:BEGIN
5647    SELECT @x;
5648END//
5649delimiter ;//
5650
5651--disable_warnings
5652DROP PROCEDURE IF EXISTS sp1;
5653--enable_warnings
5654
5655delimiter //;
5656--error ER_PARSE_ERROR
5657CREATE PROCEDURE sp1()
5658  where:BEGIN
5659    SELECT @x;
5660END//
5661delimiter ;//
5662
5663--disable_warnings
5664DROP PROCEDURE IF EXISTS sp1;
5665--enable_warnings
5666
5667delimiter //;
5668--error ER_PARSE_ERROR
5669CREATE PROCEDURE sp1()
5670  while:BEGIN
5671    SELECT @x;
5672END//
5673delimiter ;//
5674
5675--disable_warnings
5676DROP PROCEDURE IF EXISTS sp1;
5677--enable_warnings
5678
5679delimiter //;
5680--error ER_PARSE_ERROR
5681CREATE PROCEDURE sp1()
5682  with:BEGIN
5683    SELECT @x;
5684END//
5685delimiter ;//
5686
5687--disable_warnings
5688DROP PROCEDURE IF EXISTS sp1;
5689--enable_warnings
5690
5691delimiter //;
5692--error ER_PARSE_ERROR
5693CREATE PROCEDURE sp1()
5694  write:BEGIN
5695    SELECT @x;
5696END//
5697delimiter ;//
5698
5699--disable_warnings
5700DROP PROCEDURE IF EXISTS sp1;
5701--enable_warnings
5702
5703delimiter //;
5704--error ER_PARSE_ERROR
5705CREATE PROCEDURE sp1()
5706  xor:BEGIN
5707    SELECT @x;
5708END//
5709delimiter ;//
5710
5711--disable_warnings
5712DROP PROCEDURE IF EXISTS sp1;
5713--enable_warnings
5714
5715delimiter //;
5716--error ER_PARSE_ERROR
5717CREATE PROCEDURE sp1()
5718  year_month:BEGIN
5719    SELECT @x;
5720END//
5721delimiter ;//
5722
5723--disable_warnings
5724DROP PROCEDURE IF EXISTS sp1;
5725--enable_warnings
5726
5727delimiter //;
5728--error ER_PARSE_ERROR
5729CREATE PROCEDURE sp1()
5730  zerofill:BEGIN
5731    SELECT @x;
5732END//
5733delimiter ;//
5734
5735# ------------------------------------------------------------------------------
5736let $message= Testcase 4.2.6:
5737              ---------------
5738Ensure that the labels for multiple BEGIN an END work properly;
5739--source include/show_msg80.inc
5740
5741--disable_warnings
5742DROP PROCEDURE IF EXISTS sp1;
5743--enable_warnings
5744
5745
5746delimiter //;
5747CREATE PROCEDURE sp1( )
5748begin_label: BEGIN
5749    declare x char;
5750    declare y char;
5751    set x = '1';
5752    set y = '2';
5753    label1: BEGIN
5754      declare x char;
5755      declare y char;
5756      SELECT f1, f2 into x, y from t2 limit 1;
5757    END label1;
5758    set @v1 = x;
5759    set @v2 = y;
5760    SELECT @v1, @v2;
5761END begin_label//
5762delimiter ;//
5763
5764CALL sp1();
5765
5766# clean up
5767DROP PROCEDURE sp1;
5768
5769# ------------------------------------------------------------------------------
5770let $message= Testcase 4.2.7:
5771              ---------------
5772Ensure that the labels enclosing each BEGIN/END compound statement must match.;
5773--source include/show_msg80.inc
5774
5775--disable_warnings
5776DROP PROCEDURE IF EXISTS sp1;
5777--enable_warnings
5778
5779delimiter //;
5780--error ER_SP_LABEL_MISMATCH
5781CREATE PROCEDURE sp1( )
5782begin1_label: BEGIN
5783    declare x char;
5784    declare y char;
5785    SELECT lf1, f1 into x, y from t2 limit 1;
5786    begin2_label: BEGIN
5787      declare x char;
5788      declare y char;
5789      SELECT f1, f2 into x, y from t2 limit 1;
5790    END begin2_changed;
5791END begin1_changed//
5792delimiter ;//
5793
5794# ------------------------------------------------------------------------------
5795let $message= Testcase 4.2.8:
5796              ---------------
5797Ensure that it is possible to put a beginning label at the start of a
5798BEGIN/END compound statement without also requiring an ending label
5799at the END of the same statement.;
5800--source include/show_msg80.inc
5801
5802--disable_warnings
5803DROP PROCEDURE IF EXISTS sp1;
5804--enable_warnings
5805
5806delimiter //;
5807CREATE PROCEDURE sp1( )
5808    begin_label: BEGIN
5809    declare x char;
5810    declare y char;
5811    SELECT f1, f2 into x, y from t2 limit 1;
5812END//
5813delimiter ;//
5814
5815CALL sp1();
5816
5817# clean up
5818DROP PROCEDURE sp1;
5819
5820# ------------------------------------------------------------------------------
5821let $message= Testcase 4.2.9:
5822              ---------------
5823Ensure that it is not possible to put an ending label at the END of
5824a BEGIN/END compound statement without also requiring a matching
5825beginning label at the start of the same statement;
5826--source include/show_msg80.inc
5827
5828--disable_warnings
5829DROP PROCEDURE IF EXISTS sp1;
5830--enable_warnings
5831
5832delimiter //;
5833--error ER_PARSE_ERROR
5834CREATE PROCEDURE sp1( )
5835BEGIN
5836    declare x char;
5837    declare y char;
5838    SELECT f1, f2 into x, y from t2 limit 1;
5839END begin_label//
5840delimiter ;//
5841
5842# ------------------------------------------------------------------------------
5843let $message= Testcase 4.2.10:
5844              ----------------
5845Ensure that every beginning label must END with a colon(:);
5846--source include/show_msg80.inc
5847
5848--disable_warnings
5849DROP PROCEDURE IF EXISTS sp1;
5850--enable_warnings
5851
5852delimiter //;
5853--error ER_PARSE_ERROR
5854CREATE PROCEDURE sp1( )
5855begin_label BEGIN
5856   declare x char;
5857   declare y char;
5858   SELECT f1, f2 into x, y from t2 limit 1;
5859END begin_label//
5860delimiter ;//
5861
5862# ------------------------------------------------------------------------------
5863let $message= Testcase 4.2.11:
5864              ----------------
5865Ensure that every beginning label with the same scope must be unique. (same label names);
5866--source include/show_msg80.inc
5867
5868
5869--disable_warnings
5870DROP PROCEDURE IF EXISTS sp6;
5871--enable_warnings
5872
5873delimiter //;
5874--error ER_SP_LABEL_REDEFINE
5875CREATE PROCEDURE sp6( )
5876begin_samelabel: BEGIN
5877    declare x char;
5878    declare y char;
5879    SELECT f1, f2 into x, y from t2 limit 1;
5880    begin_samelabel: BEGIN
5881      declare x char;
5882      declare y char;
5883      SELECT f1, f2 into x, y from t2 limit 1;
5884    END begin_samelabel;
5885    begin_samelabel: BEGIN
5886      declare x char;
5887      declare y char;
5888      SELECT f1, f2 into x, y from t2 limit 1;
5889    END begin_samelabel;
5890END begin_samelabel//
5891delimiter ;//
5892
5893
5894# ------------------------------------------------------------------------------
5895let $message= Testcase 4.2.12:
5896              ----------------
5897Ensure that the variables, cursors, conditions, and handlers declared for
5898a stored procedure (with the declare statement) may only be properly defined;
5899--source include/show_msg80.inc
5900
5901--disable_warnings
5902DROP PROCEDURE IF EXISTS sp6;
5903--enable_warnings
5904
5905delimiter //;
5906--error ER_TOO_BIG_SCALE
5907CREATE PROCEDURE sp6( )
5908BEGIN
5909    declare x char default 'a';
5910    declare y integer default 1;
5911    declare z float default 1.1;
5912    declare a enum("value1", "value2") default 'value1';
5913    declare b decimal(255, 255) default 1.2e+12;
5914    declare c mediumtext default 'mediumtext';
5915    declare d datetime default '2005-02-02 12:12:12';
5916    declare e char default 'b';
5917    declare cur1 cursor for SELECT f1 from db_storedproc.t2;
5918    declare continue handler for sqlstate '02000' set @x2 = 1;
5919    open cur1;
5920    fetch cur1 into e;
5921    SELECT x, y, z, a, b, c, d, e;
5922    close cur1;
5923END//
5924delimiter ;//
5925
5926CALL sp6();
5927
5928--disable_warnings
5929DROP PROCEDURE IF EXISTS sp6;
5930--enable_warnings
5931
5932delimiter //;
5933CREATE PROCEDURE sp6( )
5934BEGIN
5935    declare x12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 char default '0';
5936    SELECT x12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567;
5937END//
5938delimiter ;//
5939
5940CALL sp6();
5941
5942# clean up
5943DROP PROCEDURE sp6;
5944
5945# ------------------------------------------------------------------------------
5946let $message= Testcase 4.2.13:
5947              ----------------
5948Ensure that the variables declared for a stored procedure (with the declare
5949statement) may only be defined in the correct order.;
5950--source include/show_msg80.inc
5951
5952--disable_warnings
5953DROP PROCEDURE IF EXISTS sp6;
5954--enable_warnings
5955
5956delimiter //;
5957--error ER_PARSE_ERROR
5958CREATE PROCEDURE sp6( )
5959BEGIN
5960    declare x default '0' char;
5961    SELECT x;
5962END//
5963delimiter ;//
5964
5965--disable_warnings
5966DROP PROCEDURE IF EXISTS sp6;
5967--enable_warnings
5968
5969delimiter //;
5970--error ER_PARSE_ERROR
5971CREATE PROCEDURE sp6( )
5972BEGIN
5973    declare x char, integer default '0';
5974    SELECT x;
5975END//
5976delimiter ;//
5977
5978--disable_warnings
5979DROP PROCEDURE IF EXISTS sp6;
5980--enable_warnings
5981
5982delimiter //;
5983--error ER_PARSE_ERROR
5984CREATE PROCEDURE sp6( )
5985BEGIN
5986    declare x1, x2 char, integer default '0', 1;
5987    SELECT x;
5988END//
5989delimiter ;//
5990
5991--disable_warnings
5992DROP PROCEDURE IF EXISTS sp6;
5993--enable_warnings
5994
5995delimiter //;
5996--error ER_PARSE_ERROR
5997CREATE PROCEDURE sp1( )
5998BEGIN
5999   declare char x;
6000   declare char y;
6001   SELECT f1, f2 into x, y from t2 limit 1;
6002END//
6003delimiter ;//
6004
6005--disable_warnings
6006DROP PROCEDURE IF EXISTS sp6;
6007--enable_warnings
6008
6009delimiter //;
6010--error ER_PARSE_ERROR
6011CREATE PROCEDURE sp1( )
6012BEGIN
6013   declare char x, y1 integer default 0;
6014   declare char y;
6015   SELECT f1, f2 into x, y from t2 limit 1;
6016END//
6017delimiter ;//
6018
6019--disable_warnings
6020DROP PROCEDURE IF EXISTS sp6;
6021--enable_warnings
6022
6023delimiter //;
6024--error ER_PARSE_ERROR
6025CREATE PROCEDURE sp6( )
6026BEGIN
6027    declare x default 'a' char;
6028END//
6029delimiter ;//
6030
6031--disable_warnings
6032DROP PROCEDURE IF EXISTS sp6;
6033--enable_warnings
6034
6035delimiter //;
6036--error ER_PARSE_ERROR
6037CREATE PROCEDURE sp6( )
6038BEGIN
6039    declare condition notable for sqlstate '42s22';
6040END//
6041delimiter ;//
6042
6043--disable_warnings
6044DROP PROCEDURE IF EXISTS sp6;
6045--enable_warnings
6046
6047delimiter //;
6048--error ER_PARSE_ERROR
6049CREATE PROCEDURE sp6( )
6050BEGIN
6051    declare condition for notable sqlstate '42s22';
6052END//
6053delimiter ;//
6054
6055--disable_warnings
6056DROP PROCEDURE IF EXISTS sp6;
6057--enable_warnings
6058
6059delimiter //;
6060--error ER_PARSE_ERROR
6061CREATE PROCEDURE sp6( )
6062BEGIN
6063    declare condition for sqlstate notable '42s22';
6064END//
6065delimiter ;//
6066
6067--disable_warnings
6068DROP PROCEDURE IF EXISTS sp6;
6069--enable_warnings
6070
6071delimiter //;
6072--error ER_PARSE_ERROR
6073CREATE PROCEDURE sp6( )
6074BEGIN
6075    declare condition for sqlstate '42s22' notable;
6076END//
6077delimiter ;//
6078
6079--disable_warnings
6080DROP PROCEDURE IF EXISTS sp6;
6081--enable_warnings
6082
6083delimiter //;
6084--error ER_PARSE_ERROR
6085CREATE PROCEDURE sp6( )
6086BEGIN
6087    declare cursor cur1 for SELECT f1 from db_storedproc.t2;
6088END//
6089delimiter ;//
6090
6091--disable_warnings
6092DROP PROCEDURE IF EXISTS sp6;
6093--enable_warnings
6094
6095delimiter //;
6096--error ER_PARSE_ERROR
6097CREATE PROCEDURE sp6( )
6098BEGIN
6099    declare cursor for cur1 SELECT f1 from db_storedproc.t2;
6100END//
6101delimiter ;//
6102
6103--disable_warnings
6104DROP PROCEDURE IF EXISTS sp6;
6105--enable_warnings
6106
6107delimiter //;
6108--error ER_PARSE_ERROR
6109CREATE PROCEDURE sp6( )
6110BEGIN
6111    declare cursor for SELECT cur1 f1 from db_storedproc.t2;
6112END//
6113delimiter ;//
6114
6115--disable_warnings
6116DROP PROCEDURE IF EXISTS sp6;
6117--enable_warnings
6118
6119delimiter //;
6120--error ER_PARSE_ERROR
6121CREATE PROCEDURE sp6( )
6122BEGIN
6123    declare handler continue for sqlstate '02000' set @x2 = 1;
6124END//
6125delimiter ;//
6126
6127--disable_warnings
6128DROP PROCEDURE IF EXISTS sp6;
6129--enable_warnings
6130
6131delimiter //;
6132--error ER_PARSE_ERROR
6133CREATE PROCEDURE sp6( )
6134BEGIN
6135    declare handler exit for sqlstate '02000' set @x2 = 1;
6136END//
6137delimiter ;//
6138
6139--disable_warnings
6140DROP PROCEDURE IF EXISTS sp6;
6141--enable_warnings
6142
6143delimiter //;
6144--error ER_PARSE_ERROR
6145CREATE PROCEDURE sp6( )
6146BEGIN
6147    declare handler undo for sqlstate '02000' set @x2 = 1;
6148END//
6149delimiter ;//
6150
6151--disable_warnings
6152DROP PROCEDURE IF EXISTS sp1;
6153--enable_warnings
6154
6155delimiter //;
6156--error ER_PARSE_ERROR
6157CREATE PROCEDURE sp1( )
6158BEGIN
6159    declare char x;
6160    SELECT f1 into x from tb1 limit 9998, 1;
6161END//
6162delimiter ;//
6163
6164--disable_warnings
6165DROP PROCEDURE IF EXISTS sp1;
6166--enable_warnings
6167
6168delimiter //;
6169--error ER_PARSE_ERROR
6170CREATE PROCEDURE sp1( )
6171BEGIN
6172    declare char binary  x;
6173    SELECT f2 into x from tb1 limit 9998, 1;
6174END//
6175delimiter ;//
6176
6177--disable_warnings
6178DROP PROCEDURE IF EXISTS sp1;
6179--enable_warnings
6180
6181delimiter //;
6182--error ER_PARSE_ERROR
6183CREATE PROCEDURE sp1( )
6184BEGIN
6185    declare char ascii  x;
6186    SELECT f3 into x from tb1 limit 9998, 1;
6187END//
6188delimiter ;//
6189
6190--disable_warnings
6191DROP PROCEDURE IF EXISTS sp1;
6192--enable_warnings
6193
6194delimiter //;
6195--error ER_PARSE_ERROR
6196CREATE PROCEDURE sp1( )
6197BEGIN
6198    declare tinytext  x;
6199    SELECT f4 into x from tb1 limit 9998, 1;
6200END//
6201delimiter ;//
6202
6203--disable_warnings
6204DROP PROCEDURE IF EXISTS sp1;
6205--enable_warnings
6206
6207delimiter //;
6208--error ER_PARSE_ERROR
6209CREATE PROCEDURE sp1( )
6210BEGIN
6211    declare  x;
6212    SELECT f5 text  into x from tb1 limit 9998, 1;
6213END//
6214delimiter ;//
6215
6216--disable_warnings
6217DROP PROCEDURE IF EXISTS sp1;
6218--enable_warnings
6219
6220delimiter //;
6221--error ER_PARSE_ERROR
6222CREATE PROCEDURE sp1( )
6223BEGIN
6224    declare mediumtext  x;
6225    SELECT f6 into x from tb1 limit 9998, 1;
6226END//
6227delimiter ;//
6228
6229--disable_warnings
6230DROP PROCEDURE IF EXISTS sp1;
6231--enable_warnings
6232
6233delimiter //;
6234--error ER_PARSE_ERROR
6235CREATE PROCEDURE sp1( )
6236BEGIN
6237    declare longtext  x;
6238    SELECT f7 into x from tb1 limit 9998, 1;
6239END//
6240delimiter ;//
6241
6242--disable_warnings
6243DROP PROCEDURE IF EXISTS sp1;
6244--enable_warnings
6245
6246delimiter //;
6247--error ER_PARSE_ERROR
6248CREATE PROCEDURE sp1( )
6249BEGIN
6250    declare tinyblob  x;
6251    SELECT f8 into x from tb1 limit 9998, 1;
6252END//
6253delimiter ;//
6254
6255--disable_warnings
6256DROP PROCEDURE IF EXISTS sp1;
6257--enable_warnings
6258
6259delimiter //;
6260--error ER_PARSE_ERROR
6261CREATE PROCEDURE sp1( )
6262BEGIN
6263    declare blob x;
6264    SELECT f9 into x from tb1 limit 9998, 1;
6265END//
6266delimiter ;//
6267
6268--disable_warnings
6269DROP PROCEDURE IF EXISTS sp1;
6270--enable_warnings
6271
6272delimiter //;
6273--error ER_PARSE_ERROR
6274CREATE PROCEDURE sp1( )
6275BEGIN
6276    declare mediumblob  x;
6277    SELECT f10 into x from tb1 limit 9998, 1;
6278END//
6279delimiter ;//
6280
6281--disable_warnings
6282DROP PROCEDURE IF EXISTS sp1;
6283--enable_warnings
6284
6285delimiter //;
6286--error ER_PARSE_ERROR
6287CREATE PROCEDURE sp1( )
6288BEGIN
6289    declare longblob  x;
6290    SELECT f11 into x from tb1 limit 9998, 1;
6291END//
6292delimiter ;//
6293
6294--disable_warnings
6295DROP PROCEDURE IF EXISTS sp1;
6296--enable_warnings
6297
6298delimiter //;
6299--error ER_PARSE_ERROR
6300CREATE PROCEDURE sp1( )
6301BEGIN
6302    declare binary  x;
6303    SELECT f12 into x from tb1 limit 9998, 1;
6304END//
6305delimiter ;//
6306
6307--disable_warnings
6308DROP PROCEDURE IF EXISTS sp1;
6309--enable_warnings
6310
6311delimiter //;
6312--error ER_PARSE_ERROR
6313CREATE PROCEDURE sp1( )
6314BEGIN
6315    declare tinyint  x;
6316    SELECT f13 into x from tb1 limit 9998, 1;
6317END//
6318delimiter ;//
6319
6320--disable_warnings
6321DROP PROCEDURE IF EXISTS sp1;
6322--enable_warnings
6323
6324delimiter //;
6325--error ER_PARSE_ERROR
6326CREATE PROCEDURE sp1( )
6327BEGIN
6328    declare tinyint unsigned  x;
6329    SELECT f14 into x from tb1 limit 9998, 1;
6330END//
6331delimiter ;//
6332
6333--disable_warnings
6334DROP PROCEDURE IF EXISTS sp1;
6335--enable_warnings
6336
6337delimiter //;
6338--error ER_PARSE_ERROR
6339CREATE PROCEDURE sp1( )
6340BEGIN
6341    declare tinyint zerofill  x;
6342    SELECT f15 into x from tb1 limit 9998, 1;
6343END//
6344delimiter ;//
6345
6346--disable_warnings
6347DROP PROCEDURE IF EXISTS sp1;
6348--enable_warnings
6349
6350delimiter //;
6351--error ER_PARSE_ERROR
6352CREATE PROCEDURE sp1( )
6353BEGIN
6354    declare tinyint unsigned zerofill  x;
6355    SELECT f16 into x from tb1 limit 9998, 1;
6356END//
6357delimiter ;//
6358
6359--disable_warnings
6360DROP PROCEDURE IF EXISTS sp1;
6361--enable_warnings
6362
6363delimiter //;
6364--error ER_PARSE_ERROR
6365CREATE PROCEDURE sp1( )
6366BEGIN
6367    declare smallint  x;
6368    SELECT f17 into x from tb1 limit 9998, 1;
6369END//
6370delimiter ;//
6371
6372--disable_warnings
6373DROP PROCEDURE IF EXISTS sp1;
6374--enable_warnings
6375
6376delimiter //;
6377--error ER_PARSE_ERROR
6378CREATE PROCEDURE sp1( )
6379BEGIN
6380    declare smallint unsigned   x;
6381    SELECT f18 into x from tb1 limit 9998, 1;
6382END//
6383delimiter ;//
6384
6385--disable_warnings
6386DROP PROCEDURE IF EXISTS sp1;
6387--enable_warnings
6388
6389delimiter //;
6390--error ER_PARSE_ERROR
6391CREATE PROCEDURE sp1( )
6392BEGIN
6393    declare smallint zerofill  x;
6394    SELECT f19 into x from tb1 limit 9998, 1;
6395END//
6396delimiter ;//
6397
6398--disable_warnings
6399DROP PROCEDURE IF EXISTS sp1;
6400--enable_warnings
6401
6402delimiter //;
6403--error ER_PARSE_ERROR
6404CREATE PROCEDURE sp1( )
6405BEGIN
6406    declare smallint unsigned zerofill  x;
6407    SELECT f20 into x from tb1 limit 9998, 1;
6408END//
6409delimiter ;//
6410
6411--disable_warnings
6412DROP PROCEDURE IF EXISTS sp1;
6413--enable_warnings
6414
6415delimiter //;
6416--error ER_PARSE_ERROR
6417CREATE PROCEDURE sp1( )
6418BEGIN
6419    declare mediumint  x;
6420    SELECT f21 into x from tb1 limit 9998, 1;
6421END//
6422delimiter ;//
6423
6424--disable_warnings
6425DROP PROCEDURE IF EXISTS sp1;
6426--enable_warnings
6427
6428delimiter //;
6429--error ER_PARSE_ERROR
6430CREATE PROCEDURE sp1( )
6431BEGIN
6432    declare mediumint unsigned  x;
6433    SELECT f22 into x from tb1 limit 9998, 1;
6434END//
6435delimiter ;//
6436
6437--disable_warnings
6438DROP PROCEDURE IF EXISTS sp1;
6439--enable_warnings
6440
6441delimiter //;
6442--error ER_PARSE_ERROR
6443CREATE PROCEDURE sp1( )
6444BEGIN
6445    declare mediumint zerofill  x;
6446    SELECT f23 into x from tb1 limit 9998, 1;
6447END//
6448delimiter ;//
6449
6450--disable_warnings
6451DROP PROCEDURE IF EXISTS sp1;
6452--enable_warnings
6453
6454delimiter //;
6455--error ER_PARSE_ERROR
6456CREATE PROCEDURE sp1( )
6457BEGIN
6458    declare mediumint unsigned zerofill  x;
6459    SELECT f24 into x from tb1 limit 9998, 1;
6460END//
6461delimiter ;//
6462
6463--disable_warnings
6464DROP PROCEDURE IF EXISTS sp1;
6465--enable_warnings
6466
6467delimiter //;
6468--error ER_PARSE_ERROR
6469CREATE PROCEDURE sp1( )
6470BEGIN
6471    declare int  x;
6472    SELECT f25 into x from tb1 limit 9998, 1;
6473END//
6474delimiter ;//
6475
6476--disable_warnings
6477DROP PROCEDURE IF EXISTS sp1;
6478--enable_warnings
6479
6480delimiter //;
6481--error ER_PARSE_ERROR
6482CREATE PROCEDURE sp1( )
6483BEGIN
6484    declare int unsigned  x;
6485    SELECT f26 into x from tb1 limit 9998, 1;
6486END//
6487delimiter ;//
6488
6489--disable_warnings
6490DROP PROCEDURE IF EXISTS sp1;
6491--enable_warnings
6492
6493delimiter //;
6494--error ER_PARSE_ERROR
6495CREATE PROCEDURE sp1( )
6496BEGIN
6497    declare int zerofill  x;
6498    SELECT f27 into x from tb1 limit 9998, 1;
6499END//
6500delimiter ;//
6501
6502--disable_warnings
6503DROP PROCEDURE IF EXISTS sp1;
6504--enable_warnings
6505
6506delimiter //;
6507--error ER_PARSE_ERROR
6508CREATE PROCEDURE sp1( )
6509BEGIN
6510    declare int unsigned zerofill  x;
6511    SELECT f28 into x from tb1 limit 9998, 1;
6512END//
6513delimiter ;//
6514
6515--disable_warnings
6516DROP PROCEDURE IF EXISTS sp1;
6517--enable_warnings
6518
6519delimiter //;
6520--error ER_PARSE_ERROR
6521CREATE PROCEDURE sp1( )
6522BEGIN
6523    declare bigint  x;
6524    SELECT f29 into x from tb1 limit 9998, 1;
6525END//
6526delimiter ;//
6527
6528--disable_warnings
6529DROP PROCEDURE IF EXISTS sp1;
6530--enable_warnings
6531
6532delimiter //;
6533--error ER_PARSE_ERROR
6534CREATE PROCEDURE sp1( )
6535BEGIN
6536    declare bigint unsigned  x;
6537    elect f30 into x from tb1 limit 9998, 1;
6538END//
6539delimiter ;//
6540
6541
6542--disable_warnings
6543DROP PROCEDURE IF EXISTS sp1;
6544--enable_warnings
6545
6546delimiter //;
6547--error ER_PARSE_ERROR
6548CREATE PROCEDURE sp1( )
6549BEGIN
6550    declare bigint zerofill  x;
6551    SELECT f31 into x from tb1 limit 9998, 1;
6552END//
6553delimiter ;//
6554
6555--disable_warnings
6556DROP PROCEDURE IF EXISTS sp1;
6557--enable_warnings
6558
6559delimiter //;
6560--error ER_PARSE_ERROR
6561CREATE PROCEDURE sp1( )
6562BEGIN
6563    declare bigint unsigned zerofill  x;
6564    SELECT f32 into x from tb1 limit 9998, 1;
6565END//
6566delimiter ;//
6567
6568--disable_warnings
6569DROP PROCEDURE IF EXISTS sp1;
6570--enable_warnings
6571
6572delimiter //;
6573--error ER_PARSE_ERROR
6574CREATE PROCEDURE sp1( )
6575BEGIN
6576    declare decimal  x;
6577    SELECT f33 into x from tb1 limit 9998, 1;
6578END//
6579delimiter ;//
6580
6581--disable_warnings
6582DROP PROCEDURE IF EXISTS sp1;
6583--enable_warnings
6584
6585delimiter //;
6586--error ER_PARSE_ERROR
6587CREATE PROCEDURE sp1( )
6588BEGIN
6589    declare decimal unsigned  x;
6590    SELECT f34 into x from tb1 limit 9998, 1;
6591END//
6592delimiter ;//
6593
6594--disable_warnings
6595DROP PROCEDURE IF EXISTS sp1;
6596--enable_warnings
6597
6598delimiter //;
6599--error ER_PARSE_ERROR
6600CREATE PROCEDURE sp1( )
6601BEGIN
6602    declare decimal zerofill  x;
6603    SELECT f35 into x from tb1 limit 9998, 1;
6604END//
6605delimiter ;//
6606
6607--disable_warnings
6608DROP PROCEDURE IF EXISTS sp1;
6609--enable_warnings
6610
6611delimiter //;
6612--error ER_PARSE_ERROR
6613CREATE PROCEDURE sp1( )
6614BEGIN
6615    declare decimal unsigned zerofill not null  x;
6616    SELECT f36 into x from tb1 limit 9998, 1;
6617END//
6618delimiter ;//
6619
6620--disable_warnings
6621DROP PROCEDURE IF EXISTS sp1;
6622--enable_warnings
6623
6624delimiter //;
6625--error ER_PARSE_ERROR
6626CREATE PROCEDURE sp1( )
6627BEGIN
6628    declare decimal (0) not null  x;
6629    SELECT f37 into x from tb1 limit 9998, 1;
6630END//
6631delimiter ;//
6632
6633--disable_warnings
6634DROP PROCEDURE IF EXISTS sp1;
6635--enable_warnings
6636
6637delimiter //;
6638--error ER_PARSE_ERROR
6639CREATE PROCEDURE sp1( )
6640BEGIN
6641    declare decimal (64) not null  x;
6642    SELECT f38 into x from tb1 limit 9998, 1;
6643END//
6644delimiter ;//
6645
6646--disable_warnings
6647DROP PROCEDURE IF EXISTS sp1;
6648--enable_warnings
6649
6650delimiter //;
6651--error ER_PARSE_ERROR
6652CREATE PROCEDURE sp1( )
6653BEGIN
6654    declare decimal (0) unsigned not null  x;
6655    SELECT f39 into x from tb1 limit 9998, 1;
6656END//
6657delimiter ;//
6658
6659--disable_warnings
6660DROP PROCEDURE IF EXISTS sp1;
6661--enable_warnings
6662
6663delimiter //;
6664--error ER_PARSE_ERROR
6665CREATE PROCEDURE sp1( )
6666BEGIN
6667    declare decimal (64) unsigned not null  x;
6668    SELECT f40 into x from tb1 limit 9998, 1;
6669END//
6670delimiter ;//
6671
6672--disable_warnings
6673DROP PROCEDURE IF EXISTS sp1;
6674--enable_warnings
6675
6676delimiter //;
6677--error ER_PARSE_ERROR
6678CREATE PROCEDURE sp1( )
6679BEGIN
6680    declare decimal (0) zerofill not null  x;
6681    SELECT f41 into x from tb1 limit 9998, 1;
6682END//
6683delimiter ;//
6684
6685--disable_warnings
6686DROP PROCEDURE IF EXISTS sp1;
6687--enable_warnings
6688
6689delimiter //;
6690--error ER_PARSE_ERROR
6691CREATE PROCEDURE sp1( )
6692BEGIN
6693    declare decimal (64) zerofill not null  x;
6694    SELECT f42 into x from tb1 limit 9998, 1;
6695END//
6696delimiter ;//
6697
6698--disable_warnings
6699DROP PROCEDURE IF EXISTS sp1;
6700--enable_warnings
6701
6702delimiter //;
6703--error ER_PARSE_ERROR
6704CREATE PROCEDURE sp1( )
6705BEGIN
6706    declare decimal (0) unsigned zerofill not null  x;
6707    SELECT f43 into x from tb1 limit 9998, 1;
6708END//
6709delimiter ;//
6710
6711--disable_warnings
6712DROP PROCEDURE IF EXISTS sp1;
6713--enable_warnings
6714
6715delimiter //;
6716--error ER_PARSE_ERROR
6717CREATE PROCEDURE sp1( )
6718BEGIN
6719    declare decimal (64) unsigned zerofill not null  x;
6720    SELECT f44 into x from tb1 limit 9998, 1;
6721END//
6722delimiter ;//
6723
6724--disable_warnings
6725DROP PROCEDURE IF EXISTS sp1;
6726--enable_warnings
6727
6728delimiter //;
6729--error ER_PARSE_ERROR
6730CREATE PROCEDURE sp1( )
6731BEGIN
6732    declare decimal (00) not null  x;
6733    SELECT f45 into x from tb1 limit 9998, 1;
6734END//
6735delimiter ;//
6736
6737--disable_warnings
6738DROP PROCEDURE IF EXISTS sp1;
6739--enable_warnings
6740
6741delimiter //;
6742--error ER_PARSE_ERROR
6743CREATE PROCEDURE sp1( )
6744BEGIN
6745    declare decimal (63, 30) not null  x;
6746    SELECT f46 into x from tb1 limit 9998, 1;
6747END//
6748delimiter ;//
6749
6750--disable_warnings
6751DROP PROCEDURE IF EXISTS sp1;
6752--enable_warnings
6753
6754delimiter //;
6755--error ER_PARSE_ERROR
6756CREATE PROCEDURE sp1( )
6757BEGIN
6758    declare decimal (00) unsigned not null  x;
6759    SELECT f47 into x from tb1 limit 9998, 1;
6760END//
6761delimiter ;//
6762
6763--disable_warnings
6764DROP PROCEDURE IF EXISTS sp1;
6765--enable_warnings
6766
6767delimiter //;
6768--error ER_PARSE_ERROR
6769CREATE PROCEDURE sp1( )
6770BEGIN
6771    declare decimal (63, 30) unsigned not null  x;
6772    SELECT f48 into x from tb1 limit 9998, 1;
6773END//
6774delimiter ;//
6775
6776--disable_warnings
6777DROP PROCEDURE IF EXISTS sp1;
6778--enable_warnings
6779
6780delimiter //;
6781--error ER_PARSE_ERROR
6782CREATE PROCEDURE sp1( )
6783BEGIN
6784    declare decimal (00) zerofill not null  x;
6785    SELECT f49 into x from tb1 limit 9998, 1;
6786END//
6787delimiter ;//
6788
6789--disable_warnings
6790DROP PROCEDURE IF EXISTS sp1;
6791--enable_warnings
6792
6793delimiter //;
6794--error ER_PARSE_ERROR
6795CREATE PROCEDURE sp1( )
6796BEGIN
6797    declare decimal (63, 30) zerofill not null  x;
6798    SELECT f50 into x from tb1 limit 9998, 1;
6799END//
6800delimiter ;//
6801
6802--disable_warnings
6803DROP PROCEDURE IF EXISTS sp1;
6804--enable_warnings
6805
6806delimiter //;
6807--error ER_PARSE_ERROR
6808CREATE PROCEDURE sp1( )
6809BEGIN
6810    declare decimal (00) unsigned zerofill not null  x;
6811    SELECT f51 into x from tb1 limit 9998, 1;
6812END//
6813delimiter ;//
6814
6815--disable_warnings
6816DROP PROCEDURE IF EXISTS sp1;
6817--enable_warnings
6818
6819delimiter //;
6820--error ER_PARSE_ERROR
6821CREATE PROCEDURE sp1( )
6822BEGIN
6823    declare decimal (63, 30) unsigned zerofill not null  x;
6824    SELECT f52 into x from tb1 limit 9998, 1;
6825END//
6826delimiter ;//
6827
6828--disable_warnings
6829DROP PROCEDURE IF EXISTS sp1;
6830--enable_warnings
6831
6832delimiter //;
6833--error ER_PARSE_ERROR
6834CREATE PROCEDURE sp1( )
6835BEGIN
6836    declare numeric not null  x;
6837    SELECT f53 into x from tb1 limit 9998, 1;
6838END//
6839delimiter ;//
6840
6841--disable_warnings
6842DROP PROCEDURE IF EXISTS sp1;
6843--enable_warnings
6844
6845delimiter //;
6846--error ER_PARSE_ERROR
6847CREATE PROCEDURE sp1( )
6848BEGIN
6849    declare numeric unsigned not null  x;
6850    SELECT f54 into x from tb1 limit 9998, 1;
6851END//
6852delimiter ;//
6853
6854--disable_warnings
6855DROP PROCEDURE IF EXISTS sp1;
6856--enable_warnings
6857
6858delimiter //;
6859--error ER_PARSE_ERROR
6860CREATE PROCEDURE sp1( )
6861BEGIN
6862    declare numeric zerofill not null  x;
6863    SELECT f55 into x from tb1 limit 9998, 1;
6864END//
6865delimiter ;//
6866
6867--disable_warnings
6868DROP PROCEDURE IF EXISTS sp1;
6869--enable_warnings
6870
6871delimiter //;
6872--error ER_PARSE_ERROR
6873CREATE PROCEDURE sp1( )
6874BEGIN
6875    declare numeric unsigned zerofill not null  x;
6876    SELECT f56 into x from tb1 limit 9998, 1;
6877END//
6878delimiter ;//
6879
6880--disable_warnings
6881DROP PROCEDURE IF EXISTS sp1;
6882--enable_warnings
6883
6884delimiter //;
6885--error ER_PARSE_ERROR
6886CREATE PROCEDURE sp1( )
6887BEGIN
6888    declare numeric (0) not null  x;
6889    SELECT f57 into x from tb1 limit 9998, 1;
6890END//
6891delimiter ;//
6892
6893--disable_warnings
6894DROP PROCEDURE IF EXISTS sp1;
6895--enable_warnings
6896
6897delimiter //;
6898--error ER_PARSE_ERROR
6899CREATE PROCEDURE sp1( )
6900BEGIN
6901    declare numeric (64) not nul x;
6902    SELECT f58 into x from tb1 limit 9998, 1;
6903END//
6904delimiter ;//
6905
6906--disable_warnings
6907DROP PROCEDURE IF EXISTS sp1;
6908--enable_warnings
6909
6910delimiter //;
6911--error ER_PARSE_ERROR
6912CREATE PROCEDURE sp1( )
6913BEGIN
6914    declare numeric (0) unsigned  x;
6915    SELECT f59 into x from tb2 limit 9998, 1;
6916END//
6917delimiter ;//
6918
6919--disable_warnings
6920DROP PROCEDURE IF EXISTS sp1;
6921--enable_warnings
6922
6923delimiter //;
6924--error ER_PARSE_ERROR
6925CREATE PROCEDURE sp1( )
6926BEGIN
6927    declare numeric (64) unsigned  x;
6928    SELECT f60 into x from tb2 limit 9998, 1;
6929END//
6930delimiter ;//
6931
6932--disable_warnings
6933DROP PROCEDURE IF EXISTS sp1;
6934--enable_warnings
6935
6936delimiter //;
6937--error ER_PARSE_ERROR
6938CREATE PROCEDURE sp1( )
6939BEGIN
6940    declare numeric (0) zerofill  x;
6941    SELECT f61 into x from tb2 limit 9998, 1;
6942END//
6943delimiter ;//
6944
6945--disable_warnings
6946DROP PROCEDURE IF EXISTS sp1;
6947--enable_warnings
6948
6949delimiter //;
6950--error ER_PARSE_ERROR
6951CREATE PROCEDURE sp1( )
6952BEGIN
6953    declare numeric (64) zerofill  x;
6954    SELECT f62 into x from tb2 limit 9998, 1;
6955END//
6956delimiter ;//
6957
6958--disable_warnings
6959DROP PROCEDURE IF EXISTS sp1;
6960--enable_warnings
6961
6962delimiter //;
6963--error ER_PARSE_ERROR
6964CREATE PROCEDURE sp1( )
6965BEGIN
6966    declare numeric (0) unsigned zerofill  x;
6967    SELECT f63 into x from tb2 limit 9998, 1;
6968END//
6969delimiter ;//
6970
6971--disable_warnings
6972DROP PROCEDURE IF EXISTS sp1;
6973--enable_warnings
6974
6975delimiter //;
6976--error ER_PARSE_ERROR
6977CREATE PROCEDURE sp1( )
6978BEGIN
6979    declare numeric (64) unsigned zerofill  x;
6980    SELECT f64 into x from tb2 limit 9998, 1;
6981END//
6982delimiter ;//
6983
6984--disable_warnings
6985DROP PROCEDURE IF EXISTS sp1;
6986--enable_warnings
6987
6988delimiter //;
6989--error ER_PARSE_ERROR
6990CREATE PROCEDURE sp1( )
6991BEGIN
6992    declare numeric (00)  x;
6993    SELECT f65 into x from tb2 limit 9998, 1;
6994END//
6995delimiter ;//
6996
6997--disable_warnings
6998DROP PROCEDURE IF EXISTS sp1;
6999--enable_warnings
7000
7001delimiter //;
7002--error ER_PARSE_ERROR
7003CREATE PROCEDURE sp1( )
7004BEGIN
7005    declare numeric (63, 30)  x;
7006    SELECT f66 into x from tb2 limit 9998, 1;
7007END//
7008delimiter ;//
7009
7010--disable_warnings
7011DROP PROCEDURE IF EXISTS sp1;
7012--enable_warnings
7013
7014
7015delimiter //;
7016--error ER_PARSE_ERROR
7017CREATE PROCEDURE sp1( )
7018BEGIN
7019    declare numeric (00) unsigned  x;
7020    SELECT f67 into x from tb2 limit 9998, 1;
7021END//
7022delimiter ;//
7023
7024--disable_warnings
7025DROP PROCEDURE IF EXISTS sp1;
7026--enable_warnings
7027
7028delimiter //;
7029--error ER_PARSE_ERROR
7030CREATE PROCEDURE sp1( )
7031BEGIN
7032    declare numeric (63, 30) unsigned  x;
7033    SELECT f68 into x from tb2 limit 9998, 1;
7034END//
7035delimiter ;//
7036
7037--disable_warnings
7038DROP PROCEDURE IF EXISTS sp1;
7039--enable_warnings
7040
7041delimiter //;
7042--error ER_PARSE_ERROR
7043CREATE PROCEDURE sp1( )
7044BEGIN
7045    declare numeric (00) zerofill  x;
7046    SELECT f69 into x from tb2 limit 9998, 1;
7047END//
7048delimiter ;//
7049
7050--disable_warnings
7051DROP PROCEDURE IF EXISTS sp1;
7052--enable_warnings
7053
7054delimiter //;
7055--error ER_PARSE_ERROR
7056CREATE PROCEDURE sp1( )
7057BEGIN
7058    declare numeric (63, 30) zerofill  x;
7059    SELECT f70 into x from tb2 limit 9998, 1;
7060END//
7061delimiter ;//
7062
7063--disable_warnings
7064DROP PROCEDURE IF EXISTS sp1;
7065--enable_warnings
7066
7067delimiter //;
7068--error ER_PARSE_ERROR
7069CREATE PROCEDURE sp1( )
7070BEGIN
7071    declare numeric (00) unsigned zerofill  x;
7072    SELECT f71 into x from tb2 limit 9998, 1;
7073END//
7074delimiter ;//
7075
7076--disable_warnings
7077DROP PROCEDURE IF EXISTS sp1;
7078--enable_warnings
7079
7080delimiter //;
7081--error ER_PARSE_ERROR
7082CREATE PROCEDURE sp1( )
7083BEGIN
7084    declare numeric (63, 30) unsigned zerofill  x;
7085    SELECT f72 into x from tb2 limit 9998, 1;
7086END//
7087delimiter ;//
7088
7089--disable_warnings
7090DROP PROCEDURE IF EXISTS sp1;
7091--enable_warnings
7092
7093delimiter //;
7094--error ER_PARSE_ERROR
7095CREATE PROCEDURE sp1( )
7096BEGIN
7097    declare real  x;
7098    SELECT f73 into x from tb2 limit 9998, 1;
7099END//
7100delimiter ;//
7101
7102--disable_warnings
7103DROP PROCEDURE IF EXISTS sp1;
7104--enable_warnings
7105
7106delimiter //;
7107--error ER_PARSE_ERROR
7108CREATE PROCEDURE sp1( )
7109BEGIN
7110    declare real unsigned  x;
7111    SELECT f74 into x from tb2 limit 9998, 1;
7112END//
7113delimiter ;//
7114
7115--disable_warnings
7116DROP PROCEDURE IF EXISTS sp1;
7117--enable_warnings
7118
7119delimiter //;
7120--error ER_PARSE_ERROR
7121CREATE PROCEDURE sp1( )
7122BEGIN
7123    declare real zerofill  x;
7124    SELECT f75 into x from tb2 limit 9998, 1;
7125END//
7126delimiter ;//
7127
7128--disable_warnings
7129DROP PROCEDURE IF EXISTS sp1;
7130--enable_warnings
7131
7132delimiter //;
7133--error ER_PARSE_ERROR
7134CREATE PROCEDURE sp1( )
7135BEGIN
7136    declare real unsigned zerofill  x;
7137    SELECT f76 into x from tb2 limit 9998, 1;
7138END//
7139delimiter ;//
7140
7141--disable_warnings
7142DROP PROCEDURE IF EXISTS sp1;
7143--enable_warnings
7144
7145delimiter //;
7146--error ER_PARSE_ERROR
7147CREATE PROCEDURE sp1( )
7148BEGIN
7149    declare double  x;
7150    SELECT f77 into x from tb2 limit 9998, 1;
7151END//
7152delimiter ;//
7153
7154--disable_warnings
7155DROP PROCEDURE IF EXISTS sp1;
7156--enable_warnings
7157
7158delimiter //;
7159--error ER_PARSE_ERROR
7160CREATE PROCEDURE sp1( )
7161BEGIN
7162    declare double unsigned  x;
7163    SELECT f78 into x from tb2 limit 9998, 1;
7164END//
7165delimiter ;//
7166
7167--disable_warnings
7168DROP PROCEDURE IF EXISTS sp1;
7169--enable_warnings
7170
7171delimiter //;
7172--error ER_PARSE_ERROR
7173CREATE PROCEDURE sp1( )
7174BEGIN
7175    declare double zerofill  x;
7176    SELECT f79 into x from tb2 limit 9998, 1;
7177END//
7178delimiter ;//
7179
7180--disable_warnings
7181DROP PROCEDURE IF EXISTS sp1;
7182--enable_warnings
7183
7184delimiter //;
7185--error ER_PARSE_ERROR
7186CREATE PROCEDURE sp1( )
7187BEGIN
7188    declare double unsigned zerofill  x;
7189    SELECT f80 into x from tb2 limit 9998, 1;
7190END//
7191delimiter ;//
7192
7193--disable_warnings
7194DROP PROCEDURE IF EXISTS sp1;
7195--enable_warnings
7196
7197delimiter //;
7198--error ER_PARSE_ERROR
7199CREATE PROCEDURE sp1( )
7200BEGIN
7201    declare float not null  x;
7202    SELECT f81 into x from tb2 limit 9998, 1;
7203END//
7204delimiter ;//
7205
7206--disable_warnings
7207DROP PROCEDURE IF EXISTS sp1;
7208--enable_warnings
7209
7210delimiter //;
7211--error ER_PARSE_ERROR
7212CREATE PROCEDURE sp1( )
7213BEGIN
7214    declare float unsigned not null  x;
7215    SELECT f82 into x from tb2 limit 9998, 1;
7216END//
7217delimiter ;//
7218
7219--disable_warnings
7220DROP PROCEDURE IF EXISTS sp1;
7221--enable_warnings
7222
7223delimiter //;
7224--error ER_PARSE_ERROR
7225CREATE PROCEDURE sp1( )
7226BEGIN
7227    declare float zerofill not null  x;
7228    SELECT f83 into x from tb2 limit 9998, 1;
7229END//
7230delimiter ;//
7231
7232--disable_warnings
7233DROP PROCEDURE IF EXISTS sp1;
7234--enable_warnings
7235
7236delimiter //;
7237--error ER_PARSE_ERROR
7238CREATE PROCEDURE sp1( )
7239BEGIN
7240    declare float unsigned zerofill not null  x;
7241    SELECT f84 into x from tb2 limit 9998, 1;
7242END//
7243delimiter ;//
7244
7245--disable_warnings
7246DROP PROCEDURE IF EXISTS sp1;
7247--enable_warnings
7248
7249delimiter //;
7250--error ER_PARSE_ERROR
7251CREATE PROCEDURE sp1( )
7252BEGIN
7253    declare float(0) not null  x;
7254    SELECT f85 into x from tb2 limit 9998, 1;
7255END//
7256delimiter ;//
7257
7258--disable_warnings
7259DROP PROCEDURE IF EXISTS sp1;
7260--enable_warnings
7261
7262delimiter //;
7263--error ER_PARSE_ERROR
7264CREATE PROCEDURE sp1( )
7265BEGIN
7266    declare float(23) not null  x;
7267    SELECT f86 into x from tb2 limit 9998, 1;
7268END//
7269delimiter ;//
7270
7271--disable_warnings
7272DROP PROCEDURE IF EXISTS sp1;
7273--enable_warnings
7274
7275delimiter //;
7276--error ER_PARSE_ERROR
7277CREATE PROCEDURE sp1( )
7278BEGIN
7279    declare float(0) unsigned not null  x;
7280    SELECT f87 into x from tb2 limit 9998, 1;
7281END//
7282delimiter ;//
7283
7284--disable_warnings
7285DROP PROCEDURE IF EXISTS sp1;
7286--enable_warnings
7287
7288delimiter //;
7289--error ER_PARSE_ERROR
7290CREATE PROCEDURE sp1( )
7291BEGIN
7292    declare float(23) unsigned not null  x;
7293    SELECT f88 into x from tb2 limit 9998, 1;
7294END//
7295delimiter ;//
7296
7297--disable_warnings
7298DROP PROCEDURE IF EXISTS sp1;
7299--enable_warnings
7300
7301delimiter //;
7302--error ER_PARSE_ERROR
7303CREATE PROCEDURE sp1( )
7304BEGIN
7305    declare float(0) zerofill not null  x;
7306    SELECT f89 into x from tb2 limit 9998, 1;
7307END//
7308delimiter ;//
7309
7310--disable_warnings
7311DROP PROCEDURE IF EXISTS sp1;
7312--enable_warnings
7313
7314delimiter //;
7315--error ER_PARSE_ERROR
7316CREATE PROCEDURE sp1( )
7317BEGIN
7318    declare float(23) zerofill not null  x;
7319    SELECT f90 into x from tb2 limit 9998, 1;
7320END//
7321delimiter ;//
7322
7323--disable_warnings
7324DROP PROCEDURE IF EXISTS sp1;
7325--enable_warnings
7326
7327delimiter //;
7328--error ER_PARSE_ERROR
7329CREATE PROCEDURE sp1( )
7330BEGIN
7331    declare float(0) unsigned zerofill not null  x;
7332    SELECT f91 into x from tb2 limit 9998, 1;
7333END//
7334delimiter ;//
7335
7336--disable_warnings
7337DROP PROCEDURE IF EXISTS sp1;
7338--enable_warnings
7339
7340delimiter //;
7341--error ER_PARSE_ERROR
7342CREATE PROCEDURE sp1( )
7343BEGIN
7344    declare float(23) unsigned zerofill not null  x;
7345    SELECT f92 into x from tb2 limit 9998, 1;
7346END//
7347delimiter ;//
7348
7349--disable_warnings
7350DROP PROCEDURE IF EXISTS sp1;
7351--enable_warnings
7352
7353delimiter //;
7354--error ER_PARSE_ERROR
7355CREATE PROCEDURE sp1( )
7356BEGIN
7357    declare float(24) not null  x;
7358    SELECT f93 into x from tb2 limit 9998, 1;
7359END//
7360delimiter ;//
7361
7362--disable_warnings
7363DROP PROCEDURE IF EXISTS sp1;
7364--enable_warnings
7365
7366delimiter //;
7367--error ER_PARSE_ERROR
7368CREATE PROCEDURE sp1( )
7369BEGIN
7370    declare float(53) not null  x;
7371    SELECT f94 into x from tb2 limit 9998, 1;
7372END//
7373delimiter ;//
7374
7375--disable_warnings
7376DROP PROCEDURE IF EXISTS sp1;
7377--enable_warnings
7378
7379delimiter //;
7380--error ER_PARSE_ERROR
7381CREATE PROCEDURE sp1( )
7382BEGIN
7383    declare float(24) unsigned not null  x;
7384    SELECT f95 into x from tb2 limit 9998, 1;
7385END//
7386delimiter ;//
7387
7388--disable_warnings
7389DROP PROCEDURE IF EXISTS sp1;
7390--enable_warnings
7391
7392delimiter //;
7393--error ER_PARSE_ERROR
7394CREATE PROCEDURE sp1( )
7395BEGIN
7396    declare float(53) unsigned not null  x;
7397    SELECT f96 into x from tb2 limit 9998, 1;
7398END//
7399delimiter ;//
7400
7401--disable_warnings
7402DROP PROCEDURE IF EXISTS sp1;
7403--enable_warnings
7404
7405delimiter //;
7406--error ER_PARSE_ERROR
7407CREATE PROCEDURE sp1( )
7408BEGIN
7409    declare float(24) zerofill not null  x;
7410    SELECT f97 into x from tb2 limit 9998, 1;
7411END//
7412delimiter ;//
7413
7414--disable_warnings
7415DROP PROCEDURE IF EXISTS sp1;
7416--enable_warnings
7417
7418delimiter //;
7419--error ER_PARSE_ERROR
7420CREATE PROCEDURE sp1( )
7421BEGIN
7422    declare float(53) zerofill not null  x;
7423    SELECT f98 into x from tb2 limit 9998, 1;
7424END//
7425delimiter ;//
7426
7427--disable_warnings
7428DROP PROCEDURE IF EXISTS sp1;
7429--enable_warnings
7430
7431delimiter //;
7432--error ER_PARSE_ERROR
7433CREATE PROCEDURE sp1( )
7434BEGIN
7435    declare float(24) unsigned zerofill not null  x;
7436    SELECT f99 into x from tb2 limit 9998, 1;
7437END//
7438delimiter ;//
7439
7440--disable_warnings
7441DROP PROCEDURE IF EXISTS sp1;
7442--enable_warnings
7443
7444delimiter //;
7445--error ER_PARSE_ERROR
7446CREATE PROCEDURE sp1( )
7447BEGIN
7448    declare float(53) unsigned zerofill not null  x;
7449    SELECT f100 into x from tb2 limit 9998, 1;
7450END//
7451delimiter ;//
7452
7453--disable_warnings
7454DROP PROCEDURE IF EXISTS sp1;
7455--enable_warnings
7456
7457delimiter //;
7458--error ER_PARSE_ERROR
7459CREATE PROCEDURE sp1( )
7460BEGIN
7461    declare date not null  x;
7462    SELECT f101 into x from tb2 limit 9998, 1;
7463END//
7464delimiter ;//
7465
7466--disable_warnings
7467DROP PROCEDURE IF EXISTS sp1;
7468--enable_warnings
7469
7470delimiter //;
7471--error ER_PARSE_ERROR
7472CREATE PROCEDURE sp1( )
7473BEGIN
7474    declare time not null  x;
7475    SELECT f102 into x from tb2 limit 9998, 1;
7476END//
7477delimiter ;//
7478
7479--disable_warnings
7480DROP PROCEDURE IF EXISTS sp1;
7481--enable_warnings
7482
7483delimiter //;
7484--error ER_PARSE_ERROR
7485CREATE PROCEDURE sp1( )
7486BEGIN
7487    declare datetime not null  x;
7488    SELECT f103 into x from tb2 limit 9998, 1;
7489END//
7490delimiter ;//
7491
7492--disable_warnings
7493DROP PROCEDURE IF EXISTS sp1;
7494--enable_warnings
7495
7496delimiter //;
7497--error ER_PARSE_ERROR
7498CREATE PROCEDURE sp1( )
7499BEGIN
7500    declare timestamp not null  x;
7501    SELECT f104 into x from tb2 limit 9998, 1;
7502END//
7503delimiter ;//
7504
7505--disable_warnings
7506DROP PROCEDURE IF EXISTS sp1;
7507--enable_warnings
7508
7509delimiter //;
7510--error ER_PARSE_ERROR
7511CREATE PROCEDURE sp1( )
7512BEGIN
7513    declare year not null  x;
7514    SELECT f105 into x from tb2 limit 9998, 1;
7515END//
7516delimiter ;//
7517
7518--disable_warnings
7519DROP PROCEDURE IF EXISTS sp1;
7520--enable_warnings
7521
7522delimiter //;
7523--error ER_PARSE_ERROR
7524CREATE PROCEDURE sp1( )
7525BEGIN
7526    declare year(3) not null  x;
7527    SELECT f106 into x from tb2 limit 9998, 1;
7528END//
7529delimiter ;//
7530
7531--disable_warnings
7532DROP PROCEDURE IF EXISTS sp1;
7533--enable_warnings
7534
7535delimiter //;
7536--error ER_PARSE_ERROR
7537CREATE PROCEDURE sp1( )
7538BEGIN
7539    declare year(4) not null  x;
7540    SELECT f107 into x from tb2 limit 9998, 1;
7541END//
7542delimiter ;//
7543
7544--disable_warnings
7545DROP PROCEDURE IF EXISTS sp1;
7546--enable_warnings
7547
7548delimiter //;
7549--error ER_PARSE_ERROR
7550CREATE PROCEDURE sp1( )
7551BEGIN
7552    declare enum("1enum", "2enum") not null  x;
7553    SELECT f108 into x from tb2 limit 9998, 1;
7554END//
7555delimiter ;//
7556
7557--disable_warnings
7558DROP PROCEDURE IF EXISTS sp1;
7559--enable_warnings
7560
7561delimiter //;
7562--error ER_PARSE_ERROR
7563CREATE PROCEDURE sp1( )
7564BEGIN
7565    declare set("1set", "2set") not nul x;
7566    SELECT f109 into x from tb2 limit 9998, 1;
7567END//
7568delimiter ;//
7569
7570# ------------------------------------------------------------------------------
7571let $message= Testcase 4.2.14:
7572              ----------------
7573Ensure that the handlers declared for a stored procedure (with the declare
7574statement) may only be defined in the correct order;
7575--source include/show_msg80.inc
7576
7577
7578--disable_warnings
7579DROP PROCEDURE IF EXISTS sp1;
7580--enable_warnings
7581
7582delimiter //;
7583--error ER_SP_VARCOND_AFTER_CURSHNDLR
7584CREATE PROCEDURE sp1()
7585BEGIN
7586   declare continue handler for sqlstate '23000' set @x2 = 1;
7587   declare x char;
7588END//
7589delimiter ;//
7590
7591--disable_warnings
7592DROP PROCEDURE IF EXISTS sp6;
7593--enable_warnings
7594
7595delimiter //;
7596--error ER_SP_VARCOND_AFTER_CURSHNDLR
7597CREATE PROCEDURE sp6( )
7598BEGIN
7599    declare cursor1 cursor for SELECT f1 from tb1;
7600    declare x char;
7601END//
7602delimiter ;//
7603
7604--disable_warnings
7605DROP PROCEDURE IF EXISTS sp6;
7606--enable_warnings
7607
7608delimiter //;
7609--error ER_SP_VARCOND_AFTER_CURSHNDLR
7610CREATE PROCEDURE sp6( )
7611BEGIN
7612    declare cursor1 cursor for SELECT f1 from tb1;
7613    declare sqlcondition condition for sqlstate '02000';
7614END//
7615delimiter ;//
7616
7617--disable_warnings
7618DROP PROCEDURE IF EXISTS sp6;
7619--enable_warnings
7620
7621delimiter //;
7622--error ER_SP_CURSOR_AFTER_HANDLER
7623CREATE PROCEDURE sp6( )
7624BEGIN
7625    declare sqlcondition condition for sqlstate '02000';
7626    declare continue handler for sqlcondition set @x=1;
7627    declare cursor1 cursor for SELECT f1 from tb1;
7628END//
7629delimiter ;//
7630
7631# ------------------------------------------------------------------------------
7632let $message= Testcase 4.2.15:
7633              ----------------
7634Ensure that the declare statement can declare multiple variables both separately
7635and all at once from a variable list. (multiple declaration);
7636--source include/show_msg80.inc
7637
7638--disable_warnings
7639DROP PROCEDURE IF EXISTS sp1;
7640--enable_warnings
7641
7642delimiter //;
7643CREATE PROCEDURE sp1()
7644   BEGIN
7645      DECLARE x1 CHAR(100) DEFAULT 'outer';
7646      BEGIN
7647         DECLARE x1 CHAR(100) DEFAULT x1;
7648      END;
7649   END//
7650delimiter ;//
7651
7652CALL sp1();
7653
7654--disable_warnings
7655DROP PROCEDURE IF EXISTS sp1;
7656--enable_warnings
7657
7658
7659delimiter //;
7660CREATE PROCEDURE sp1( )
7661BEGIN
7662    declare x, y, z char default null;
7663    SELECT x, y, z;
7664END//
7665delimiter ;//
7666
7667CALL sp1();
7668
7669--disable_warnings
7670DROP PROCEDURE IF EXISTS sp1;
7671--enable_warnings
7672
7673delimiter //;
7674CREATE PROCEDURE sp1( )
7675BEGIN
7676    declare x, y, z char ascii default null;
7677    SELECT x, y, z;
7678END//
7679delimiter ;//
7680
7681CALL sp1();
7682
7683--disable_warnings
7684DROP PROCEDURE IF EXISTS sp1;
7685--enable_warnings
7686
7687delimiter //;
7688CREATE PROCEDURE sp1( )
7689BEGIN
7690    declare x, y, z tinytext default null;
7691    SELECT x, y, z;
7692END//
7693delimiter ;//
7694
7695CALL sp1();
7696
7697--disable_warnings
7698DROP PROCEDURE IF EXISTS sp1;
7699--enable_warnings
7700
7701delimiter //;
7702CREATE PROCEDURE sp1( )
7703BEGIN
7704    declare x, y, z text default null;
7705    SELECT x, y, z;
7706END//
7707delimiter ;//
7708
7709CALL sp1();
7710
7711--disable_warnings
7712DROP PROCEDURE IF EXISTS sp1;
7713--enable_warnings
7714
7715delimiter //;
7716CREATE PROCEDURE sp1( )
7717BEGIN
7718    declare x, y, z mediumtext default null;
7719    SELECT x, y, z;
7720END//
7721delimiter ;//
7722
7723CALL sp1();
7724
7725--disable_warnings
7726DROP PROCEDURE IF EXISTS sp1;
7727--enable_warnings
7728
7729delimiter //;
7730CREATE PROCEDURE sp1( )
7731BEGIN
7732    declare x, y, z longtext default null;
7733    SELECT x, y, z;
7734END//
7735delimiter ;//
7736
7737CALL sp1();
7738
7739--disable_warnings
7740DROP PROCEDURE IF EXISTS sp1;
7741--enable_warnings
7742
7743delimiter //;
7744CREATE PROCEDURE sp1( )
7745BEGIN
7746    declare x, y, z tinyblob default null;
7747    SELECT x, y, z;
7748END//
7749delimiter ;//
7750
7751CALL sp1();
7752
7753--disable_warnings
7754DROP PROCEDURE IF EXISTS sp1;
7755--enable_warnings
7756
7757delimiter //;
7758CREATE PROCEDURE sp1( )
7759BEGIN
7760    declare x, y, z blob default null;
7761    SELECT x, y, z;
7762END//
7763delimiter ;//
7764
7765CALL sp1();
7766
7767--disable_warnings
7768DROP PROCEDURE IF EXISTS sp1;
7769--enable_warnings
7770
7771delimiter //;
7772CREATE PROCEDURE sp1( )
7773BEGIN
7774    declare x, y, z mediumblob default null;
7775    SELECT x, y, z;
7776END//
7777delimiter ;//
7778
7779CALL sp1();
7780
7781--disable_warnings
7782DROP PROCEDURE IF EXISTS sp1;
7783--enable_warnings
7784
7785delimiter //;
7786CREATE PROCEDURE sp1( )
7787BEGIN
7788    declare x, y, z longblob default null;
7789    SELECT x, y, z;
7790END//
7791delimiter ;//
7792
7793CALL sp1();
7794
7795--disable_warnings
7796DROP PROCEDURE IF EXISTS sp1;
7797--enable_warnings
7798
7799delimiter //;
7800CREATE PROCEDURE sp1( )
7801BEGIN
7802    declare x, y, z binary default null;
7803    SELECT x, y, z;
7804END//
7805delimiter ;//
7806
7807CALL sp1();
7808
7809--disable_warnings
7810DROP PROCEDURE IF EXISTS sp1;
7811--enable_warnings
7812
7813delimiter //;
7814CREATE PROCEDURE sp1( )
7815BEGIN
7816    declare x, y, z tinyint default -126;
7817    SELECT x, y, z;
7818END//
7819delimiter ;//
7820
7821CALL sp1();
7822
7823--disable_warnings
7824DROP PROCEDURE IF EXISTS sp1;
7825--enable_warnings
7826
7827delimiter //;
7828CREATE PROCEDURE sp1( )
7829BEGIN
7830    declare x, y, z tinyint unsigned default 253;
7831    SELECT x, y, z;
7832END//
7833delimiter ;//
7834
7835CALL sp1();
7836
7837--disable_warnings
7838DROP PROCEDURE IF EXISTS sp1;
7839--enable_warnings
7840
7841delimiter //;
7842CREATE PROCEDURE sp1( )
7843BEGIN
7844    declare x, y, z tinyint zerofill default -1;
7845    SELECT x, y, z;
7846END//
7847delimiter ;//
7848
7849CALL sp1();
7850
7851--disable_warnings
7852DROP PROCEDURE IF EXISTS sp1;
7853--enable_warnings
7854
7855delimiter //;
7856CREATE PROCEDURE sp1( )
7857BEGIN
7858    declare x, y, z tinyint unsigned zerofill default 1;
7859    SELECT x, y, z;
7860END//
7861delimiter ;//
7862
7863CALL sp1();
7864
7865--disable_warnings
7866DROP PROCEDURE IF EXISTS sp1;
7867--enable_warnings
7868
7869delimiter //;
7870CREATE PROCEDURE sp1( )
7871BEGIN
7872    declare x, y, z smallint default -32768;
7873    SELECT x, y, z;
7874END//
7875delimiter ;//
7876
7877CALL sp1();
7878
7879--disable_warnings
7880DROP PROCEDURE IF EXISTS sp1;
7881--enable_warnings
7882
7883delimiter //;
7884CREATE PROCEDURE sp1( )
7885BEGIN
7886    declare x, y, z smallint unsigned default 65535;
7887    SELECT x, y, z;
7888END//
7889delimiter ;//
7890
7891CALL sp1();
7892
7893--disable_warnings
7894DROP PROCEDURE IF EXISTS sp1;
7895--enable_warnings
7896
7897delimiter //;
7898CREATE PROCEDURE sp1( )
7899BEGIN
7900    declare x, y, z smallint zerofill default -1;
7901    SELECT x, y, z;
7902END//
7903delimiter ;//
7904
7905CALL sp1();
7906
7907--disable_warnings
7908DROP PROCEDURE IF EXISTS sp1;
7909--enable_warnings
7910
7911delimiter //;
7912CREATE PROCEDURE sp1( )
7913BEGIN
7914    declare x, y, z smallint unsigned zerofill default 1;
7915    SELECT x, y, z;
7916END//
7917delimiter ;//
7918
7919CALL sp1();
7920
7921--disable_warnings
7922DROP PROCEDURE IF EXISTS sp1;
7923--enable_warnings
7924
7925delimiter //;
7926CREATE PROCEDURE sp1( )
7927BEGIN
7928    declare x, y, z mediumint default -8388608;
7929    SELECT x, y, z;
7930END//
7931delimiter ;//
7932
7933CALL sp1();
7934
7935--disable_warnings
7936DROP PROCEDURE IF EXISTS sp1;
7937--enable_warnings
7938
7939delimiter //;
7940CREATE PROCEDURE sp1( )
7941BEGIN
7942    declare x, y, z mediumint unsigned default 16777215;
7943    SELECT x, y, z;
7944END//
7945delimiter ;//
7946
7947CALL sp1();
7948
7949--disable_warnings
7950DROP PROCEDURE IF EXISTS sp1;
7951--enable_warnings
7952
7953delimiter //;
7954CREATE PROCEDURE sp1( )
7955BEGIN
7956    declare x, y, z mediumint zerofill default -1;
7957    SELECT x, y, z;
7958END//
7959delimiter ;//
7960
7961CALL sp1();
7962
7963--disable_warnings
7964DROP PROCEDURE IF EXISTS sp1;
7965--enable_warnings
7966
7967delimiter //;
7968CREATE PROCEDURE sp1( )
7969BEGIN
7970    declare x, y, z mediumint unsigned zerofill default 1;
7971    SELECT x, y, z;
7972END//
7973delimiter ;//
7974
7975CALL sp1();
7976
7977--disable_warnings
7978DROP PROCEDURE IF EXISTS sp1;
7979--enable_warnings
7980
7981delimiter //;
7982CREATE PROCEDURE sp1( )
7983BEGIN
7984    declare x, y, z int default -2147483648;
7985    SELECT x, y, z;
7986END//
7987delimiter ;//
7988
7989CALL sp1();
7990
7991--disable_warnings
7992DROP PROCEDURE IF EXISTS sp1;
7993--enable_warnings
7994
7995delimiter //;
7996CREATE PROCEDURE sp1( )
7997BEGIN
7998    declare x, y, z int unsigned default 4294967295;
7999    SELECT x, y, z;
8000END//
8001delimiter ;//
8002
8003CALL sp1();
8004
8005--disable_warnings
8006DROP PROCEDURE IF EXISTS sp1;
8007--enable_warnings
8008
8009delimiter //;
8010CREATE PROCEDURE sp1( )
8011BEGIN
8012    declare x, y, z int zerofill default -1;
8013    SELECT x, y, z;
8014END//
8015delimiter ;//
8016
8017CALL sp1();
8018
8019--disable_warnings
8020DROP PROCEDURE IF EXISTS sp1;
8021--enable_warnings
8022
8023delimiter //;
8024CREATE PROCEDURE sp1( )
8025BEGIN
8026    declare x, y, z int unsigned zerofill default 1;
8027    SELECT x, y, z;
8028END//
8029delimiter ;//
8030
8031CALL sp1();
8032
8033--disable_warnings
8034DROP PROCEDURE IF EXISTS sp1;
8035--enable_warnings
8036
8037delimiter //;
8038CREATE PROCEDURE sp1( )
8039BEGIN
8040    declare x, y, z bigint default -9223372036854775808;
8041    SELECT x, y, z;
8042END//
8043delimiter ;//
8044
8045CALL sp1();
8046
8047--disable_warnings
8048DROP PROCEDURE IF EXISTS sp1;
8049--enable_warnings
8050
8051delimiter //;
8052CREATE PROCEDURE sp1( )
8053BEGIN
8054    declare x, y, z bigint unsigned default 18446744073709551615;
8055    SELECT x, y, z;
8056END//
8057delimiter ;//
8058
8059CALL sp1();
8060
8061--disable_warnings
8062DROP PROCEDURE IF EXISTS sp1;
8063--enable_warnings
8064
8065delimiter //;
8066CREATE PROCEDURE sp1( )
8067BEGIN
8068    declare x, y, z bigint zerofill default -1;
8069    SELECT x, y, z;
8070END//
8071delimiter ;//
8072
8073CALL sp1();
8074
8075--disable_warnings
8076DROP PROCEDURE IF EXISTS sp1;
8077--enable_warnings
8078
8079delimiter //;
8080CREATE PROCEDURE sp1( )
8081BEGIN
8082    declare x, y, z bigint unsigned zerofill default 1;
8083    SELECT x, y, z;
8084END//
8085delimiter ;//
8086
8087CALL sp1();
8088
8089--disable_warnings
8090DROP PROCEDURE IF EXISTS sp1;
8091--enable_warnings
8092
8093#FIXME check again with -3.402823466e+38
8094let $default_minus38= -34028234660123456789012345678901234567;
8095
8096delimiter //;
8097eval CREATE PROCEDURE sp1( )
8098BEGIN
8099    declare x, y, z decimal default $default_minus38;
8100    SELECT x, y, z;
8101END//
8102delimiter ;//
8103
8104CALL sp1();
8105
8106--disable_warnings
8107DROP PROCEDURE IF EXISTS sp1;
8108--enable_warnings
8109
8110delimiter //;
8111CREATE PROCEDURE sp1( )
8112BEGIN
8113    declare x, y, z decimal unsigned default 1.175494351e-38;
8114    SELECT x, y, z;
8115END//
8116delimiter ;//
8117
8118CALL sp1();
8119
8120--disable_warnings
8121DROP PROCEDURE IF EXISTS sp1;
8122--enable_warnings
8123
8124#FIXME check again with -3.402823466e+38
8125delimiter //;
8126eval CREATE PROCEDURE sp1( )
8127BEGIN
8128    declare x, y, z decimal zerofill default $default_minus38;
8129    SELECT x, y, z;
8130END//
8131delimiter ;//
8132
8133CALL sp1();
8134
8135--disable_warnings
8136DROP PROCEDURE IF EXISTS sp1;
8137--enable_warnings
8138
8139delimiter //;
8140CREATE PROCEDURE sp1( )
8141BEGIN
8142    declare x, y, z decimal unsigned zerofill default 1.175494351e-38;
8143    SELECT x, y, z;
8144END//
8145delimiter ;//
8146
8147CALL sp1();
8148
8149--disable_warnings
8150DROP PROCEDURE IF EXISTS sp1;
8151--enable_warnings
8152
8153delimiter //;
8154CREATE PROCEDURE sp1( )
8155BEGIN
8156    declare x, y, z numeric default 1.175494351e-38;
8157    SELECT x, y, z;
8158END//
8159delimiter ;//
8160
8161CALL sp1();
8162
8163--disable_warnings
8164DROP PROCEDURE IF EXISTS sp1;
8165--enable_warnings
8166
8167delimiter //;
8168CREATE PROCEDURE sp1( )
8169BEGIN
8170    declare x, y, z numeric unsigned default 1.175494351e-38;
8171    SELECT x, y, z;
8172END//
8173delimiter ;//
8174
8175CALL sp1();
8176
8177--disable_warnings
8178DROP PROCEDURE IF EXISTS sp1;
8179--enable_warnings
8180
8181delimiter //;
8182CREATE PROCEDURE sp1( )
8183BEGIN
8184    declare x, y, z numeric zerofill default 1.175494351e-38;
8185    SELECT x, y, z;
8186END//
8187delimiter ;//
8188
8189CALL sp1();
8190
8191--disable_warnings
8192DROP PROCEDURE IF EXISTS sp1;
8193--enable_warnings
8194
8195delimiter //;
8196CREATE PROCEDURE sp1( )
8197BEGIN
8198    declare x, y, z numeric unsigned zerofill default 1.175494351e-38;
8199    SELECT x, y, z;
8200END//
8201delimiter ;//
8202
8203CALL sp1();
8204
8205--disable_warnings
8206DROP PROCEDURE IF EXISTS sp1;
8207--enable_warnings
8208
8209delimiter //;
8210CREATE PROCEDURE sp1( )
8211BEGIN
8212    declare x, y, z real default 1.175494351e-38;
8213    SELECT x, y, z;
8214END//
8215delimiter ;//
8216
8217--replace_result e-038 e-38
8218CALL sp1();
8219
8220--disable_warnings
8221DROP PROCEDURE IF EXISTS sp1;
8222--enable_warnings
8223
8224delimiter //;
8225CREATE PROCEDURE sp1( )
8226BEGIN
8227    declare x, y, z real unsigned default 1.175494351e-38;
8228    SELECT x, y, z;
8229END//
8230delimiter ;//
8231
8232--replace_result e-038 e-38
8233CALL sp1();
8234
8235--disable_warnings
8236DROP PROCEDURE IF EXISTS sp1;
8237--enable_warnings
8238
8239delimiter //;
8240CREATE PROCEDURE sp1( )
8241BEGIN
8242    declare x, y, z real zerofill default 1.175494351e-38;
8243    SELECT x, y, z;
8244END//
8245delimiter ;//
8246
8247--replace_result e-038 e-38
8248CALL sp1();
8249
8250--disable_warnings
8251DROP PROCEDURE IF EXISTS sp1;
8252--enable_warnings
8253
8254delimiter //;
8255CREATE PROCEDURE sp1( )
8256BEGIN
8257    declare x, y, z real unsigned zerofill default 1.175494351e-38;
8258    SELECT x, y, z;
8259END//
8260delimiter ;//
8261
8262--replace_result e-038 e-38
8263CALL sp1();
8264
8265--disable_warnings
8266DROP PROCEDURE IF EXISTS sp1;
8267--enable_warnings
8268
8269delimiter //;
8270CREATE PROCEDURE sp1( )
8271BEGIN
8272    declare x, y, z float default 1.175494351e-38;
8273    SELECT x, y, z;
8274END//
8275delimiter ;//
8276
8277--replace_result e-038 e-38
8278CALL sp1();
8279
8280--disable_warnings
8281DROP PROCEDURE IF EXISTS sp1;
8282--enable_warnings
8283
8284delimiter //;
8285CREATE PROCEDURE sp1( )
8286BEGIN
8287    declare x, y, z float unsigned default 1.175494351e-38;
8288    SELECT x, y, z;
8289END//
8290delimiter ;//
8291
8292--replace_result e-038 e-38
8293CALL sp1();
8294
8295--disable_warnings
8296DROP PROCEDURE IF EXISTS sp1;
8297--enable_warnings
8298
8299delimiter //;
8300CREATE PROCEDURE sp1( )
8301BEGIN
8302    declare x, y, z float zerofill default 1.175494351e-38;
8303    SELECT x, y, z;
8304END//
8305delimiter ;//
8306
8307--replace_result e-038 e-38
8308CALL sp1();
8309
8310--disable_warnings
8311DROP PROCEDURE IF EXISTS sp1;
8312--enable_warnings
8313
8314delimiter //;
8315CREATE PROCEDURE sp1( )
8316BEGIN
8317    declare x, y, z float unsigned zerofill default 1.175494351e-38;
8318    SELECT x, y, z;
8319END//
8320delimiter ;//
8321
8322--replace_result e-038 e-38
8323CALL sp1();
8324
8325--disable_warnings
8326DROP PROCEDURE IF EXISTS sp1;
8327--enable_warnings
8328
8329delimiter //;
8330CREATE PROCEDURE sp1( )
8331BEGIN
8332    declare x, y, z date default '2005-02-02';
8333    SELECT x, y, z;
8334END//
8335delimiter ;//
8336
8337CALL sp1();
8338
8339--disable_warnings
8340DROP PROCEDURE IF EXISTS sp1;
8341--enable_warnings
8342
8343delimiter //;
8344CREATE PROCEDURE sp1( )
8345BEGIN
8346    declare x, y, z time default '12:20:12';
8347    SELECT x, y, z;
8348END//
8349delimiter ;//
8350
8351CALL sp1();
8352
8353--disable_warnings
8354DROP PROCEDURE IF EXISTS sp1;
8355--enable_warnings
8356
8357delimiter //;
8358CREATE PROCEDURE sp1( )
8359BEGIN
8360    declare x, y, z datetime default '2005-02-02 12:20:12';
8361    SELECT x, y, z;
8362END//
8363delimiter ;//
8364
8365CALL sp1();
8366
8367--disable_warnings
8368DROP PROCEDURE IF EXISTS sp1;
8369--enable_warnings
8370
8371delimiter //;
8372CREATE PROCEDURE sp1( )
8373BEGIN
8374    declare x, y, z timestamp default '20050202122012';
8375    SELECT x, y, z;
8376END//
8377delimiter ;//
8378
8379CALL sp1();
8380
8381--disable_warnings
8382DROP PROCEDURE IF EXISTS sp1;
8383--enable_warnings
8384
8385delimiter //;
8386CREATE PROCEDURE sp1( )
8387BEGIN
8388    declare x, y, z year default 2005;
8389    SELECT x, y, z;
8390END//
8391delimiter ;//
8392
8393CALL sp1();
8394
8395--disable_warnings
8396DROP PROCEDURE IF EXISTS sp1;
8397--enable_warnings
8398
8399delimiter //;
8400CREATE PROCEDURE sp1( )
8401BEGIN
8402    declare x, y, z year(3) default 2005;
8403    SELECT x, y, z;
8404END//
8405delimiter ;//
8406
8407CALL sp1();
8408
8409--disable_warnings
8410DROP PROCEDURE IF EXISTS sp1;
8411--enable_warnings
8412
8413delimiter //;
8414CREATE PROCEDURE sp1( )
8415BEGIN
8416    declare x, y, z year(4) default 2005;
8417    SELECT x, y, z;
8418END//
8419delimiter ;//
8420
8421CALL sp1();
8422
8423--disable_warnings
8424DROP PROCEDURE IF EXISTS sp1;
8425--enable_warnings
8426
8427delimiter //;
8428CREATE PROCEDURE sp1( )
8429BEGIN
8430    declare x, y, z enum("1enum", "2enum") default "2enum";
8431    SELECT x, y, z;
8432END//
8433delimiter ;//
8434
8435CALL sp1();
8436
8437--disable_warnings
8438DROP PROCEDURE IF EXISTS sp1;
8439--enable_warnings
8440
8441delimiter //;
8442CREATE PROCEDURE sp1( )
8443BEGIN
8444    declare x, y, z set("1set", "2set") default "2set";
8445    SELECT x, y, z;
8446END//
8447delimiter ;//
8448
8449CALL sp1();
8450
8451# clean up
8452DROP PROCEDURE sp1;
8453
8454# ------------------------------------------------------------------------------
8455let $message= Testcase 4.2.16:
8456              ----------------
8457Ensure that the declare statement can declare multiple variables both separately
8458and all at once from a variable list. (multiple declaration).;
8459--source include/show_msg80.inc
8460
8461--disable_warnings
8462DROP PROCEDURE IF EXISTS sp6;
8463--enable_warnings
8464
8465delimiter //;
8466CREATE PROCEDURE sp6( )
8467BEGIN
8468   declare a, b char default '2';
8469   declare c, d float default 1.3;
8470   declare e, f text default 'text';
8471   declare g, h enum("value1", "value2" ) default 'value1';
8472   declare i, j datetime default '2005-02-02 12:12:12';
8473   declare k, l blob default 'blob';
8474   SELECT a, b, c, d, e, f, g, h, k, l;
8475END//
8476delimiter ;//
8477
8478CALL sp6();
8479
8480# clean up
8481DROP PROCEDURE sp6;
8482
8483# ------------------------------------------------------------------------------
8484let $message= Testcase 4.2.17:
8485              ----------------
8486Ensure that the invalid variable declarations are rejected, with an appropriate
8487error message.;
8488--source include/show_msg80.inc
8489
8490--disable_warnings
8491DROP PROCEDURE IF EXISTS sp1;
8492--enable_warnings
8493
8494delimiter //;
8495--error ER_PARSE_ERROR
8496CREATE PROCEDURE sp1( )
8497BEGIN
8498   declare @x char;
8499   SELECT f2 into x from t2 limit 1;
8500END//
8501delimiter ;//
8502
8503--disable_warnings
8504DROP PROCEDURE IF EXISTS sp1;
8505--enable_warnings
8506
8507delimiter //;
8508--error ER_PARSE_ERROR
8509CREATE PROCEDURE sp1()
8510BEGIN
8511    declare accessible char;
8512END//
8513delimiter ;//
8514
8515--disable_warnings
8516DROP PROCEDURE IF EXISTS sp1;
8517--enable_warnings
8518
8519delimiter //;
8520--error ER_PARSE_ERROR
8521CREATE PROCEDURE sp1()
8522BEGIN
8523    declare add char;
8524END//
8525delimiter ;//
8526
8527--disable_warnings
8528DROP PROCEDURE IF EXISTS sp1;
8529--enable_warnings
8530
8531delimiter //;
8532--error ER_PARSE_ERROR
8533CREATE PROCEDURE sp1()
8534BEGIN
8535    declare all char;
8536END//
8537delimiter ;//
8538
8539--disable_warnings
8540DROP PROCEDURE IF EXISTS sp1;
8541--enable_warnings
8542
8543delimiter //;
8544--error ER_PARSE_ERROR
8545CREATE PROCEDURE sp1()
8546BEGIN
8547    declare alter char;
8548END//
8549delimiter ;//
8550
8551--disable_warnings
8552DROP PROCEDURE IF EXISTS sp1;
8553--enable_warnings
8554
8555delimiter //;
8556--error ER_PARSE_ERROR
8557CREATE PROCEDURE sp1()
8558BEGIN
8559    declare analyze char;
8560END//
8561delimiter ;//
8562
8563--disable_warnings
8564DROP PROCEDURE IF EXISTS sp1;
8565--enable_warnings
8566
8567delimiter //;
8568--error ER_PARSE_ERROR
8569CREATE PROCEDURE sp1()
8570BEGIN
8571    declare and char;
8572END//
8573delimiter ;//
8574
8575--disable_warnings
8576DROP PROCEDURE IF EXISTS sp1;
8577--enable_warnings
8578
8579delimiter //;
8580--error ER_PARSE_ERROR
8581CREATE PROCEDURE sp1()
8582BEGIN
8583    declare as char;
8584END//
8585delimiter ;//
8586
8587--disable_warnings
8588DROP PROCEDURE IF EXISTS sp1;
8589--enable_warnings
8590
8591delimiter //;
8592--error ER_PARSE_ERROR
8593CREATE PROCEDURE sp1()
8594BEGIN
8595    declare asc char;
8596END//
8597delimiter ;//
8598
8599--disable_warnings
8600DROP PROCEDURE IF EXISTS sp1;
8601--enable_warnings
8602
8603delimiter //;
8604--error ER_PARSE_ERROR
8605CREATE PROCEDURE sp1()
8606BEGIN
8607    declare asensitive char;
8608END//
8609delimiter ;//
8610
8611--disable_warnings
8612DROP PROCEDURE IF EXISTS sp1;
8613--enable_warnings
8614
8615delimiter //;
8616--error ER_PARSE_ERROR
8617CREATE PROCEDURE sp1()
8618BEGIN
8619    declare before char;
8620END//
8621delimiter ;//
8622
8623--disable_warnings
8624DROP PROCEDURE IF EXISTS sp1;
8625--enable_warnings
8626
8627delimiter //;
8628--error ER_PARSE_ERROR
8629CREATE PROCEDURE sp1()
8630BEGIN
8631    declare between char;
8632END//
8633delimiter ;//
8634
8635--disable_warnings
8636DROP PROCEDURE IF EXISTS sp1;
8637--enable_warnings
8638
8639delimiter //;
8640--error ER_PARSE_ERROR
8641CREATE PROCEDURE sp1()
8642BEGIN
8643    declare bigint char;
8644END//
8645delimiter ;//
8646
8647--disable_warnings
8648DROP PROCEDURE IF EXISTS sp1;
8649--enable_warnings
8650
8651delimiter //;
8652--error ER_PARSE_ERROR
8653CREATE PROCEDURE sp1()
8654BEGIN
8655    declare binary char;
8656END//
8657delimiter ;//
8658
8659--disable_warnings
8660DROP PROCEDURE IF EXISTS sp1;
8661--enable_warnings
8662
8663delimiter //;
8664--error ER_PARSE_ERROR
8665CREATE PROCEDURE sp1()
8666BEGIN
8667    declare blob char;
8668END//
8669delimiter ;//
8670
8671--disable_warnings
8672DROP PROCEDURE IF EXISTS sp1;
8673--enable_warnings
8674
8675delimiter //;
8676--error ER_PARSE_ERROR
8677CREATE PROCEDURE sp1()
8678BEGIN
8679    declare both char;
8680END//
8681delimiter ;//
8682
8683--disable_warnings
8684DROP PROCEDURE IF EXISTS sp1;
8685--enable_warnings
8686
8687delimiter //;
8688--error ER_PARSE_ERROR
8689CREATE PROCEDURE sp1()
8690BEGIN
8691    declare by char;
8692END//
8693delimiter ;//
8694
8695--disable_warnings
8696DROP PROCEDURE IF EXISTS sp1;
8697--enable_warnings
8698
8699delimiter //;
8700--error ER_PARSE_ERROR
8701CREATE PROCEDURE sp1()
8702BEGIN
8703    declare call char;
8704END//
8705delimiter ;//
8706
8707--disable_warnings
8708DROP PROCEDURE IF EXISTS sp1;
8709--enable_warnings
8710
8711delimiter //;
8712--error ER_PARSE_ERROR
8713CREATE PROCEDURE sp1()
8714BEGIN
8715    declare cascade char;
8716END//
8717delimiter ;//
8718
8719--disable_warnings
8720DROP PROCEDURE IF EXISTS sp1;
8721--enable_warnings
8722
8723delimiter //;
8724--error ER_PARSE_ERROR
8725CREATE PROCEDURE sp1()
8726BEGIN
8727    declare case char;
8728END//
8729delimiter ;//
8730
8731--disable_warnings
8732DROP PROCEDURE IF EXISTS sp1;
8733--enable_warnings
8734
8735delimiter //;
8736--error ER_PARSE_ERROR
8737CREATE PROCEDURE sp1()
8738BEGIN
8739    declare change char;
8740END//
8741delimiter ;//
8742
8743--disable_warnings
8744DROP PROCEDURE IF EXISTS sp1;
8745--enable_warnings
8746
8747delimiter //;
8748--error ER_PARSE_ERROR
8749CREATE PROCEDURE sp1()
8750BEGIN
8751    declare char char;
8752END//
8753delimiter ;//
8754
8755--disable_warnings
8756DROP PROCEDURE IF EXISTS sp1;
8757--enable_warnings
8758
8759delimiter //;
8760--error ER_PARSE_ERROR
8761CREATE PROCEDURE sp1()
8762BEGIN
8763    declare character char;
8764END//
8765delimiter ;//
8766
8767--disable_warnings
8768DROP PROCEDURE IF EXISTS sp1;
8769--enable_warnings
8770
8771delimiter //;
8772--error ER_PARSE_ERROR
8773CREATE PROCEDURE sp1()
8774BEGIN
8775    declare check char;
8776END//
8777delimiter ;//
8778
8779--disable_warnings
8780DROP PROCEDURE IF EXISTS sp1;
8781--enable_warnings
8782
8783delimiter //;
8784--error ER_PARSE_ERROR
8785CREATE PROCEDURE sp1()
8786BEGIN
8787    declare collate char;
8788END//
8789delimiter ;//
8790
8791--disable_warnings
8792DROP PROCEDURE IF EXISTS sp1;
8793--enable_warnings
8794
8795delimiter //;
8796--error ER_PARSE_ERROR
8797CREATE PROCEDURE sp1()
8798BEGIN
8799    declare column char;
8800END//
8801delimiter ;//
8802
8803--disable_warnings
8804DROP PROCEDURE IF EXISTS sp1;
8805--enable_warnings
8806
8807delimiter //;
8808--error ER_PARSE_ERROR
8809CREATE PROCEDURE sp1()
8810BEGIN
8811    declare condition char;
8812END//
8813delimiter ;//
8814
8815--disable_warnings
8816DROP PROCEDURE IF EXISTS sp1;
8817--enable_warnings
8818
8819delimiter //;
8820--error ER_PARSE_ERROR
8821CREATE PROCEDURE sp1()
8822BEGIN
8823    declare constraint char;
8824END//
8825delimiter ;//
8826
8827--disable_warnings
8828DROP PROCEDURE IF EXISTS sp1;
8829--enable_warnings
8830
8831delimiter //;
8832--error ER_PARSE_ERROR
8833CREATE PROCEDURE sp1()
8834BEGIN
8835    declare continue char;
8836END//
8837delimiter ;//
8838
8839--disable_warnings
8840DROP PROCEDURE IF EXISTS sp1;
8841--enable_warnings
8842
8843delimiter //;
8844--error ER_PARSE_ERROR
8845CREATE PROCEDURE sp1()
8846BEGIN
8847    declare convert char;
8848END//
8849delimiter ;//
8850
8851--disable_warnings
8852DROP PROCEDURE IF EXISTS sp1;
8853--enable_warnings
8854
8855delimiter //;
8856--error ER_PARSE_ERROR
8857CREATE PROCEDURE sp1()
8858BEGIN
8859    declare create char;
8860END//
8861delimiter ;//
8862
8863--disable_warnings
8864DROP PROCEDURE IF EXISTS sp1;
8865--enable_warnings
8866
8867delimiter //;
8868--error ER_PARSE_ERROR
8869CREATE PROCEDURE sp1()
8870BEGIN
8871    declare cross char;
8872END//
8873delimiter ;//
8874
8875--disable_warnings
8876DROP PROCEDURE IF EXISTS sp1;
8877--enable_warnings
8878
8879delimiter //;
8880--error ER_PARSE_ERROR
8881CREATE PROCEDURE sp1()
8882BEGIN
8883    declare current_date char;
8884END//
8885delimiter ;//
8886
8887--disable_warnings
8888DROP PROCEDURE IF EXISTS sp1;
8889--enable_warnings
8890
8891delimiter //;
8892--error ER_PARSE_ERROR
8893CREATE PROCEDURE sp1()
8894BEGIN
8895    declare current_time char;
8896END//
8897delimiter ;//
8898
8899--disable_warnings
8900DROP PROCEDURE IF EXISTS sp1;
8901--enable_warnings
8902
8903delimiter //;
8904--error ER_PARSE_ERROR
8905CREATE PROCEDURE sp1()
8906BEGIN
8907    declare current_timestamp char;
8908END//
8909delimiter ;//
8910
8911--disable_warnings
8912DROP PROCEDURE IF EXISTS sp1;
8913--enable_warnings
8914
8915delimiter //;
8916--error ER_PARSE_ERROR
8917CREATE PROCEDURE sp1()
8918BEGIN
8919    declare current_user char;
8920END//
8921delimiter ;//
8922
8923--disable_warnings
8924DROP PROCEDURE IF EXISTS sp1;
8925--enable_warnings
8926
8927delimiter //;
8928--error ER_PARSE_ERROR
8929CREATE PROCEDURE sp1()
8930BEGIN
8931    declare cursor char;
8932END//
8933delimiter ;//
8934
8935--disable_warnings
8936DROP PROCEDURE IF EXISTS sp1;
8937--enable_warnings
8938
8939delimiter //;
8940--error ER_PARSE_ERROR
8941CREATE PROCEDURE sp1()
8942BEGIN
8943    declare database char;
8944END//
8945delimiter ;//
8946
8947--disable_warnings
8948DROP PROCEDURE IF EXISTS sp1;
8949--enable_warnings
8950
8951delimiter //;
8952--error ER_PARSE_ERROR
8953CREATE PROCEDURE sp1()
8954BEGIN
8955    declare databases char;
8956END//
8957delimiter ;//
8958
8959--disable_warnings
8960DROP PROCEDURE IF EXISTS sp1;
8961--enable_warnings
8962
8963delimiter //;
8964--error ER_PARSE_ERROR
8965CREATE PROCEDURE sp1()
8966BEGIN
8967    declare day_hour char;
8968END//
8969delimiter ;//
8970
8971--disable_warnings
8972DROP PROCEDURE IF EXISTS sp1;
8973--enable_warnings
8974
8975delimiter //;
8976--error ER_PARSE_ERROR
8977CREATE PROCEDURE sp1()
8978BEGIN
8979    declare day_microsecond char;
8980END//
8981delimiter ;//
8982
8983--disable_warnings
8984DROP PROCEDURE IF EXISTS sp1;
8985--enable_warnings
8986
8987delimiter //;
8988--error ER_PARSE_ERROR
8989CREATE PROCEDURE sp1()
8990BEGIN
8991    declare day_minute char;
8992END//
8993delimiter ;//
8994
8995--disable_warnings
8996DROP PROCEDURE IF EXISTS sp1;
8997--enable_warnings
8998
8999delimiter //;
9000--error ER_PARSE_ERROR
9001CREATE PROCEDURE sp1()
9002BEGIN
9003    declare day_second char;
9004END//
9005delimiter ;//
9006
9007--disable_warnings
9008DROP PROCEDURE IF EXISTS sp1;
9009--enable_warnings
9010
9011delimiter //;
9012--error ER_PARSE_ERROR
9013CREATE PROCEDURE sp1()
9014BEGIN
9015    declare dec char;
9016END//
9017delimiter ;//
9018
9019--disable_warnings
9020DROP PROCEDURE IF EXISTS sp1;
9021--enable_warnings
9022
9023delimiter //;
9024--error ER_PARSE_ERROR
9025CREATE PROCEDURE sp1()
9026BEGIN
9027    declare decimal char;
9028END//
9029delimiter ;//
9030
9031--disable_warnings
9032DROP PROCEDURE IF EXISTS sp1;
9033--enable_warnings
9034
9035delimiter //;
9036--error ER_PARSE_ERROR
9037CREATE PROCEDURE sp1()
9038BEGIN
9039    declare declare char;
9040END//
9041delimiter ;//
9042
9043--disable_warnings
9044DROP PROCEDURE IF EXISTS sp1;
9045--enable_warnings
9046
9047delimiter //;
9048--error ER_PARSE_ERROR
9049CREATE PROCEDURE sp1()
9050BEGIN
9051    declare default char;
9052END//
9053delimiter ;//
9054
9055--disable_warnings
9056DROP PROCEDURE IF EXISTS sp1;
9057--enable_warnings
9058
9059delimiter //;
9060--error ER_PARSE_ERROR
9061CREATE PROCEDURE sp1()
9062BEGIN
9063    declare delayed char;
9064END//
9065delimiter ;//
9066
9067--disable_warnings
9068DROP PROCEDURE IF EXISTS sp1;
9069--enable_warnings
9070
9071delimiter //;
9072--error ER_PARSE_ERROR
9073CREATE PROCEDURE sp1()
9074BEGIN
9075    declare delete char;
9076END//
9077delimiter ;//
9078
9079--disable_warnings
9080DROP PROCEDURE IF EXISTS sp1;
9081--enable_warnings
9082
9083delimiter //;
9084--error ER_PARSE_ERROR
9085CREATE PROCEDURE sp1()
9086BEGIN
9087    declare desc char;
9088END//
9089delimiter ;//
9090
9091--disable_warnings
9092DROP PROCEDURE IF EXISTS sp1;
9093--enable_warnings
9094
9095delimiter //;
9096--error ER_PARSE_ERROR
9097CREATE PROCEDURE sp1()
9098BEGIN
9099    declare describe char;
9100END//
9101delimiter ;//
9102
9103--disable_warnings
9104DROP PROCEDURE IF EXISTS sp1;
9105--enable_warnings
9106
9107delimiter //;
9108--error ER_PARSE_ERROR
9109CREATE PROCEDURE sp1()
9110BEGIN
9111    declare deterministic char;
9112END//
9113delimiter ;//
9114
9115--disable_warnings
9116DROP PROCEDURE IF EXISTS sp1;
9117--enable_warnings
9118
9119delimiter //;
9120--error ER_PARSE_ERROR
9121CREATE PROCEDURE sp1()
9122BEGIN
9123    declare distinct char;
9124END//
9125delimiter ;//
9126
9127--disable_warnings
9128DROP PROCEDURE IF EXISTS sp1;
9129--enable_warnings
9130
9131delimiter //;
9132--error ER_PARSE_ERROR
9133CREATE PROCEDURE sp1()
9134BEGIN
9135    declare distinctrow char;
9136END//
9137delimiter ;//
9138
9139--disable_warnings
9140DROP PROCEDURE IF EXISTS sp1;
9141--enable_warnings
9142
9143delimiter //;
9144--error ER_PARSE_ERROR
9145CREATE PROCEDURE sp1()
9146BEGIN
9147    declare div char;
9148END//
9149delimiter ;//
9150
9151--disable_warnings
9152DROP PROCEDURE IF EXISTS sp1;
9153--enable_warnings
9154
9155delimiter //;
9156--error ER_PARSE_ERROR
9157CREATE PROCEDURE sp1()
9158BEGIN
9159    declare double char;
9160END//
9161delimiter ;//
9162
9163--disable_warnings
9164DROP PROCEDURE IF EXISTS sp1;
9165--enable_warnings
9166
9167delimiter //;
9168--error ER_PARSE_ERROR
9169CREATE PROCEDURE sp1()
9170BEGIN
9171    declare drop char;
9172END//
9173delimiter ;//
9174
9175--disable_warnings
9176DROP PROCEDURE IF EXISTS sp1;
9177--enable_warnings
9178
9179delimiter //;
9180--error ER_PARSE_ERROR
9181CREATE PROCEDURE sp1()
9182BEGIN
9183    declare dual char;
9184END//
9185delimiter ;//
9186
9187--disable_warnings
9188DROP PROCEDURE IF EXISTS sp1;
9189--enable_warnings
9190
9191delimiter //;
9192--error ER_PARSE_ERROR
9193CREATE PROCEDURE sp1()
9194BEGIN
9195    declare each char;
9196END//
9197delimiter ;//
9198
9199--disable_warnings
9200DROP PROCEDURE IF EXISTS sp1;
9201--enable_warnings
9202
9203delimiter //;
9204--error ER_PARSE_ERROR
9205CREATE PROCEDURE sp1()
9206BEGIN
9207    declare else char;
9208END//
9209delimiter ;//
9210
9211--disable_warnings
9212DROP PROCEDURE IF EXISTS sp1;
9213--enable_warnings
9214
9215delimiter //;
9216--error ER_PARSE_ERROR
9217CREATE PROCEDURE sp1()
9218BEGIN
9219    declare elseif char;
9220END//
9221delimiter ;//
9222
9223--disable_warnings
9224DROP PROCEDURE IF EXISTS sp1;
9225--enable_warnings
9226
9227delimiter //;
9228--error ER_PARSE_ERROR
9229CREATE PROCEDURE sp1()
9230BEGIN
9231    declare enclosed char;
9232END//
9233delimiter ;//
9234
9235--disable_warnings
9236DROP PROCEDURE IF EXISTS sp1;
9237--enable_warnings
9238
9239delimiter //;
9240--error ER_PARSE_ERROR
9241CREATE PROCEDURE sp1()
9242BEGIN
9243    declare escaped char;
9244END//
9245delimiter ;//
9246
9247--disable_warnings
9248DROP PROCEDURE IF EXISTS sp1;
9249--enable_warnings
9250
9251delimiter //;
9252--error ER_PARSE_ERROR
9253CREATE PROCEDURE sp1()
9254BEGIN
9255    declare exists char;
9256END//
9257delimiter ;//
9258
9259--disable_warnings
9260DROP PROCEDURE IF EXISTS sp1;
9261--enable_warnings
9262
9263delimiter //;
9264--error ER_PARSE_ERROR
9265CREATE PROCEDURE sp1()
9266BEGIN
9267    declare exit char;
9268END//
9269delimiter ;//
9270
9271--disable_warnings
9272DROP PROCEDURE IF EXISTS sp1;
9273--enable_warnings
9274
9275delimiter //;
9276--error ER_PARSE_ERROR
9277CREATE PROCEDURE sp1()
9278BEGIN
9279    declare explain char;
9280END//
9281delimiter ;//
9282
9283--disable_warnings
9284DROP PROCEDURE IF EXISTS sp1;
9285--enable_warnings
9286
9287delimiter //;
9288--error ER_PARSE_ERROR
9289CREATE PROCEDURE sp1()
9290BEGIN
9291    declare false char;
9292END//
9293delimiter ;//
9294
9295--disable_warnings
9296DROP PROCEDURE IF EXISTS sp1;
9297--enable_warnings
9298
9299delimiter //;
9300--error ER_PARSE_ERROR
9301CREATE PROCEDURE sp1()
9302BEGIN
9303    declare fetch char;
9304END//
9305delimiter ;//
9306
9307--disable_warnings
9308DROP PROCEDURE IF EXISTS sp1;
9309--enable_warnings
9310
9311delimiter //;
9312--error ER_PARSE_ERROR
9313CREATE PROCEDURE sp1()
9314BEGIN
9315    declare float char;
9316END//
9317delimiter ;//
9318
9319--disable_warnings
9320DROP PROCEDURE IF EXISTS sp1;
9321--enable_warnings
9322
9323delimiter //;
9324--error ER_PARSE_ERROR
9325CREATE PROCEDURE sp1()
9326BEGIN
9327    declare float4 char;
9328END//
9329delimiter ;//
9330
9331--disable_warnings
9332DROP PROCEDURE IF EXISTS sp1;
9333--enable_warnings
9334
9335delimiter //;
9336--error ER_PARSE_ERROR
9337CREATE PROCEDURE sp1()
9338BEGIN
9339    declare float8 char;
9340END//
9341delimiter ;//
9342
9343--disable_warnings
9344DROP PROCEDURE IF EXISTS sp1;
9345--enable_warnings
9346
9347delimiter //;
9348--error ER_PARSE_ERROR
9349CREATE PROCEDURE sp1()
9350BEGIN
9351    declare for char;
9352END//
9353delimiter ;//
9354
9355--disable_warnings
9356DROP PROCEDURE IF EXISTS sp1;
9357--enable_warnings
9358
9359delimiter //;
9360--error ER_PARSE_ERROR
9361CREATE PROCEDURE sp1()
9362BEGIN
9363    declare force char;
9364END//
9365delimiter ;//
9366
9367--disable_warnings
9368DROP PROCEDURE IF EXISTS sp1;
9369--enable_warnings
9370
9371delimiter //;
9372--error ER_PARSE_ERROR
9373CREATE PROCEDURE sp1()
9374BEGIN
9375    declare foreign char;
9376END//
9377delimiter ;//
9378
9379--disable_warnings
9380DROP PROCEDURE IF EXISTS sp1;
9381--enable_warnings
9382
9383delimiter //;
9384--error ER_PARSE_ERROR
9385CREATE PROCEDURE sp1()
9386BEGIN
9387    declare from char;
9388END//
9389delimiter ;//
9390
9391--disable_warnings
9392DROP PROCEDURE IF EXISTS sp1;
9393--enable_warnings
9394
9395delimiter //;
9396--error ER_PARSE_ERROR
9397CREATE PROCEDURE sp1()
9398BEGIN
9399    declare fulltext char;
9400END//
9401delimiter ;//
9402
9403--disable_warnings
9404DROP PROCEDURE IF EXISTS sp1;
9405--enable_warnings
9406
9407delimiter //;
9408--error ER_PARSE_ERROR
9409CREATE PROCEDURE sp1()
9410BEGIN
9411    declare grant char;
9412END//
9413delimiter ;//
9414
9415--disable_warnings
9416DROP PROCEDURE IF EXISTS sp1;
9417--enable_warnings
9418
9419delimiter //;
9420--error ER_PARSE_ERROR
9421CREATE PROCEDURE sp1()
9422BEGIN
9423    declare group char;
9424END//
9425delimiter ;//
9426
9427--disable_warnings
9428DROP PROCEDURE IF EXISTS sp1;
9429--enable_warnings
9430
9431delimiter //;
9432--error ER_PARSE_ERROR
9433CREATE PROCEDURE sp1()
9434BEGIN
9435    declare having char;
9436END//
9437delimiter ;//
9438
9439--disable_warnings
9440DROP PROCEDURE IF EXISTS sp1;
9441--enable_warnings
9442
9443delimiter //;
9444--error ER_PARSE_ERROR
9445CREATE PROCEDURE sp1()
9446BEGIN
9447    declare high_priority char;
9448END//
9449delimiter ;//
9450
9451--disable_warnings
9452DROP PROCEDURE IF EXISTS sp1;
9453--enable_warnings
9454
9455delimiter //;
9456--error ER_PARSE_ERROR
9457CREATE PROCEDURE sp1()
9458BEGIN
9459    declare hour_microsecond char;
9460END//
9461delimiter ;//
9462
9463--disable_warnings
9464DROP PROCEDURE IF EXISTS sp1;
9465--enable_warnings
9466
9467delimiter //;
9468--error ER_PARSE_ERROR
9469CREATE PROCEDURE sp1()
9470BEGIN
9471    declare hour_minute char;
9472END//
9473delimiter ;//
9474
9475--disable_warnings
9476DROP PROCEDURE IF EXISTS sp1;
9477--enable_warnings
9478
9479delimiter //;
9480--error ER_PARSE_ERROR
9481CREATE PROCEDURE sp1()
9482BEGIN
9483    declare hour_second char;
9484END//
9485delimiter ;//
9486
9487--disable_warnings
9488DROP PROCEDURE IF EXISTS sp1;
9489--enable_warnings
9490
9491delimiter //;
9492--error ER_PARSE_ERROR
9493CREATE PROCEDURE sp1()
9494BEGIN
9495    declare if char;
9496END//
9497delimiter ;//
9498
9499--disable_warnings
9500DROP PROCEDURE IF EXISTS sp1;
9501--enable_warnings
9502
9503delimiter //;
9504--error ER_PARSE_ERROR
9505CREATE PROCEDURE sp1()
9506BEGIN
9507    declare ignore char;
9508END//
9509delimiter ;//
9510
9511--disable_warnings
9512DROP PROCEDURE IF EXISTS sp1;
9513--enable_warnings
9514
9515delimiter //;
9516--error ER_PARSE_ERROR
9517CREATE PROCEDURE sp1()
9518BEGIN
9519    declare in char;
9520END//
9521delimiter ;//
9522
9523--disable_warnings
9524DROP PROCEDURE IF EXISTS sp1;
9525--enable_warnings
9526
9527delimiter //;
9528--error ER_PARSE_ERROR
9529CREATE PROCEDURE sp1()
9530BEGIN
9531    declare index char;
9532END//
9533delimiter ;//
9534
9535--disable_warnings
9536DROP PROCEDURE IF EXISTS sp1;
9537--enable_warnings
9538
9539delimiter //;
9540--error ER_PARSE_ERROR
9541CREATE PROCEDURE sp1()
9542BEGIN
9543    declare infile char;
9544END//
9545delimiter ;//
9546
9547--disable_warnings
9548DROP PROCEDURE IF EXISTS sp1;
9549--enable_warnings
9550
9551delimiter //;
9552--error ER_PARSE_ERROR
9553CREATE PROCEDURE sp1()
9554BEGIN
9555    declare inner char;
9556END//
9557delimiter ;//
9558
9559--disable_warnings
9560DROP PROCEDURE IF EXISTS sp1;
9561--enable_warnings
9562
9563delimiter //;
9564--error ER_PARSE_ERROR
9565CREATE PROCEDURE sp1()
9566BEGIN
9567    declare inout char;
9568END//
9569delimiter ;//
9570
9571--disable_warnings
9572DROP PROCEDURE IF EXISTS sp1;
9573--enable_warnings
9574
9575delimiter //;
9576--error ER_PARSE_ERROR
9577CREATE PROCEDURE sp1()
9578BEGIN
9579    declare insensitive char;
9580END//
9581delimiter ;//
9582
9583--disable_warnings
9584DROP PROCEDURE IF EXISTS sp1;
9585--enable_warnings
9586
9587delimiter //;
9588--error ER_PARSE_ERROR
9589CREATE PROCEDURE sp1()
9590BEGIN
9591    declare insert char;
9592END//
9593delimiter ;//
9594
9595--disable_warnings
9596DROP PROCEDURE IF EXISTS sp1;
9597--enable_warnings
9598
9599delimiter //;
9600--error ER_PARSE_ERROR
9601CREATE PROCEDURE sp1()
9602BEGIN
9603    declare int char;
9604END//
9605delimiter ;//
9606
9607--disable_warnings
9608DROP PROCEDURE IF EXISTS sp1;
9609--enable_warnings
9610
9611delimiter //;
9612--error ER_PARSE_ERROR
9613CREATE PROCEDURE sp1()
9614BEGIN
9615    declare int1 char;
9616END//
9617delimiter ;//
9618
9619--disable_warnings
9620DROP PROCEDURE IF EXISTS sp1;
9621--enable_warnings
9622
9623delimiter //;
9624--error ER_PARSE_ERROR
9625CREATE PROCEDURE sp1()
9626BEGIN
9627    declare int2 char;
9628END//
9629delimiter ;//
9630
9631--disable_warnings
9632DROP PROCEDURE IF EXISTS sp1;
9633--enable_warnings
9634
9635delimiter //;
9636--error ER_PARSE_ERROR
9637CREATE PROCEDURE sp1()
9638BEGIN
9639    declare int3 char;
9640END//
9641delimiter ;//
9642
9643--disable_warnings
9644DROP PROCEDURE IF EXISTS sp1;
9645--enable_warnings
9646
9647delimiter //;
9648--error ER_PARSE_ERROR
9649CREATE PROCEDURE sp1()
9650BEGIN
9651    declare int4 char;
9652END//
9653delimiter ;//
9654
9655--disable_warnings
9656DROP PROCEDURE IF EXISTS sp1;
9657--enable_warnings
9658
9659delimiter //;
9660--error ER_PARSE_ERROR
9661CREATE PROCEDURE sp1()
9662BEGIN
9663    declare int8 char;
9664END//
9665delimiter ;//
9666
9667--disable_warnings
9668DROP PROCEDURE IF EXISTS sp1;
9669--enable_warnings
9670
9671delimiter //;
9672--error ER_PARSE_ERROR
9673CREATE PROCEDURE sp1()
9674BEGIN
9675    declare integer char;
9676END//
9677delimiter ;//
9678
9679--disable_warnings
9680DROP PROCEDURE IF EXISTS sp1;
9681--enable_warnings
9682
9683delimiter //;
9684--error ER_PARSE_ERROR
9685CREATE PROCEDURE sp1()
9686BEGIN
9687    declare interval char;
9688END//
9689delimiter ;//
9690
9691--disable_warnings
9692DROP PROCEDURE IF EXISTS sp1;
9693--enable_warnings
9694
9695delimiter //;
9696--error ER_PARSE_ERROR
9697CREATE PROCEDURE sp1()
9698BEGIN
9699    declare into char;
9700END//
9701delimiter ;//
9702
9703--disable_warnings
9704DROP PROCEDURE IF EXISTS sp1;
9705--enable_warnings
9706
9707delimiter //;
9708--error ER_PARSE_ERROR
9709CREATE PROCEDURE sp1()
9710BEGIN
9711    declare is char;
9712END//
9713delimiter ;//
9714
9715--disable_warnings
9716DROP PROCEDURE IF EXISTS sp1;
9717--enable_warnings
9718
9719delimiter //;
9720--error ER_PARSE_ERROR
9721CREATE PROCEDURE sp1()
9722BEGIN
9723    declare iterate char;
9724END//
9725delimiter ;//
9726
9727--disable_warnings
9728DROP PROCEDURE IF EXISTS sp1;
9729--enable_warnings
9730
9731delimiter //;
9732--error ER_PARSE_ERROR
9733CREATE PROCEDURE sp1()
9734BEGIN
9735    declare join char;
9736END//
9737delimiter ;//
9738
9739--disable_warnings
9740DROP PROCEDURE IF EXISTS sp1;
9741--enable_warnings
9742
9743delimiter //;
9744--error ER_PARSE_ERROR
9745CREATE PROCEDURE sp1()
9746BEGIN
9747    declare key char;
9748END//
9749delimiter ;//
9750
9751--disable_warnings
9752DROP PROCEDURE IF EXISTS sp1;
9753--enable_warnings
9754
9755delimiter //;
9756--error ER_PARSE_ERROR
9757CREATE PROCEDURE sp1()
9758BEGIN
9759    declare keys char;
9760END//
9761delimiter ;//
9762
9763--disable_warnings
9764DROP PROCEDURE IF EXISTS sp1;
9765--enable_warnings
9766
9767delimiter //;
9768--error ER_PARSE_ERROR
9769CREATE PROCEDURE sp1()
9770BEGIN
9771    declare kill char;
9772END//
9773delimiter ;//
9774
9775--disable_warnings
9776DROP PROCEDURE IF EXISTS sp1;
9777--enable_warnings
9778
9779delimiter //;
9780--error ER_PARSE_ERROR
9781CREATE PROCEDURE sp1()
9782BEGIN
9783    declare leading char;
9784END//
9785delimiter ;//
9786
9787--disable_warnings
9788DROP PROCEDURE IF EXISTS sp1;
9789--enable_warnings
9790
9791delimiter //;
9792--error ER_PARSE_ERROR
9793CREATE PROCEDURE sp1()
9794BEGIN
9795    declare leave char;
9796END//
9797delimiter ;//
9798
9799--disable_warnings
9800DROP PROCEDURE IF EXISTS sp1;
9801--enable_warnings
9802
9803delimiter //;
9804--error ER_PARSE_ERROR
9805CREATE PROCEDURE sp1()
9806BEGIN
9807    declare left char;
9808END//
9809delimiter ;//
9810
9811--disable_warnings
9812DROP PROCEDURE IF EXISTS sp1;
9813--enable_warnings
9814
9815delimiter //;
9816--error ER_PARSE_ERROR
9817CREATE PROCEDURE sp1()
9818BEGIN
9819    declare like char;
9820END//
9821delimiter ;//
9822
9823--disable_warnings
9824DROP PROCEDURE IF EXISTS sp1;
9825--enable_warnings
9826
9827delimiter //;
9828--error ER_PARSE_ERROR
9829CREATE PROCEDURE sp1()
9830BEGIN
9831    declare limit char;
9832END//
9833delimiter ;//
9834
9835--disable_warnings
9836DROP PROCEDURE IF EXISTS sp1;
9837--enable_warnings
9838
9839delimiter //;
9840--error ER_PARSE_ERROR
9841CREATE PROCEDURE sp1()
9842BEGIN
9843    declare linear char;
9844END//
9845delimiter ;//
9846
9847--disable_warnings
9848DROP PROCEDURE IF EXISTS sp1;
9849--enable_warnings
9850
9851delimiter //;
9852--error ER_PARSE_ERROR
9853CREATE PROCEDURE sp1()
9854BEGIN
9855    declare lines char;
9856END//
9857delimiter ;//
9858
9859--disable_warnings
9860DROP PROCEDURE IF EXISTS sp1;
9861--enable_warnings
9862
9863delimiter //;
9864--error ER_PARSE_ERROR
9865CREATE PROCEDURE sp1()
9866BEGIN
9867    declare load char;
9868END//
9869delimiter ;//
9870
9871--disable_warnings
9872DROP PROCEDURE IF EXISTS sp1;
9873--enable_warnings
9874
9875delimiter //;
9876--error ER_PARSE_ERROR
9877CREATE PROCEDURE sp1()
9878BEGIN
9879    declare localtime char;
9880END//
9881delimiter ;//
9882
9883--disable_warnings
9884DROP PROCEDURE IF EXISTS sp1;
9885--enable_warnings
9886
9887delimiter //;
9888--error ER_PARSE_ERROR
9889CREATE PROCEDURE sp1()
9890BEGIN
9891    declare localtimestamp char;
9892END//
9893delimiter ;//
9894
9895--disable_warnings
9896DROP PROCEDURE IF EXISTS sp1;
9897--enable_warnings
9898
9899delimiter //;
9900--error ER_PARSE_ERROR
9901CREATE PROCEDURE sp1()
9902BEGIN
9903    declare lock char;
9904END//
9905delimiter ;//
9906
9907--disable_warnings
9908DROP PROCEDURE IF EXISTS sp1;
9909--enable_warnings
9910
9911delimiter //;
9912--error ER_PARSE_ERROR
9913CREATE PROCEDURE sp1()
9914BEGIN
9915    declare long char;
9916END//
9917delimiter ;//
9918
9919--disable_warnings
9920DROP PROCEDURE IF EXISTS sp1;
9921--enable_warnings
9922
9923delimiter //;
9924--error ER_PARSE_ERROR
9925CREATE PROCEDURE sp1()
9926BEGIN
9927    declare longblob char;
9928END//
9929delimiter ;//
9930
9931--disable_warnings
9932DROP PROCEDURE IF EXISTS sp1;
9933--enable_warnings
9934
9935delimiter //;
9936--error ER_PARSE_ERROR
9937CREATE PROCEDURE sp1()
9938BEGIN
9939    declare longtext char;
9940END//
9941delimiter ;//
9942
9943--disable_warnings
9944DROP PROCEDURE IF EXISTS sp1;
9945--enable_warnings
9946
9947delimiter //;
9948--error ER_PARSE_ERROR
9949CREATE PROCEDURE sp1()
9950BEGIN
9951    declare loop char;
9952END//
9953delimiter ;//
9954
9955--disable_warnings
9956DROP PROCEDURE IF EXISTS sp1;
9957--enable_warnings
9958
9959delimiter //;
9960--error ER_PARSE_ERROR
9961CREATE PROCEDURE sp1()
9962BEGIN
9963    declare low_priority char;
9964END//
9965delimiter ;//
9966
9967--disable_warnings
9968DROP PROCEDURE IF EXISTS sp1;
9969--enable_warnings
9970
9971delimiter //;
9972--error ER_PARSE_ERROR
9973CREATE PROCEDURE sp1()
9974BEGIN
9975    declare master_ssl_verify_server_cert char;
9976END//
9977delimiter ;//
9978
9979--disable_warnings
9980DROP PROCEDURE IF EXISTS sp1;
9981--enable_warnings
9982
9983delimiter //;
9984--error ER_PARSE_ERROR
9985CREATE PROCEDURE sp1()
9986BEGIN
9987    declare match char;
9988END//
9989delimiter ;//
9990
9991--disable_warnings
9992DROP PROCEDURE IF EXISTS sp1;
9993--enable_warnings
9994
9995delimiter //;
9996--error ER_PARSE_ERROR
9997CREATE PROCEDURE sp1()
9998BEGIN
9999    declare mediumblob char;
10000END//
10001delimiter ;//
10002
10003--disable_warnings
10004DROP PROCEDURE IF EXISTS sp1;
10005--enable_warnings
10006
10007delimiter //;
10008--error ER_PARSE_ERROR
10009CREATE PROCEDURE sp1()
10010BEGIN
10011    declare mediumint char;
10012END//
10013delimiter ;//
10014
10015--disable_warnings
10016DROP PROCEDURE IF EXISTS sp1;
10017--enable_warnings
10018
10019delimiter //;
10020--error ER_PARSE_ERROR
10021CREATE PROCEDURE sp1()
10022BEGIN
10023    declare mediumtext char;
10024END//
10025delimiter ;//
10026
10027--disable_warnings
10028DROP PROCEDURE IF EXISTS sp1;
10029--enable_warnings
10030
10031delimiter //;
10032--error ER_PARSE_ERROR
10033CREATE PROCEDURE sp1()
10034BEGIN
10035    declare middleint char;
10036END//
10037delimiter ;//
10038
10039--disable_warnings
10040DROP PROCEDURE IF EXISTS sp1;
10041--enable_warnings
10042
10043delimiter //;
10044--error ER_PARSE_ERROR
10045CREATE PROCEDURE sp1()
10046BEGIN
10047    declare minute_microsecond char;
10048END//
10049delimiter ;//
10050
10051--disable_warnings
10052DROP PROCEDURE IF EXISTS sp1;
10053--enable_warnings
10054
10055delimiter //;
10056--error ER_PARSE_ERROR
10057CREATE PROCEDURE sp1()
10058BEGIN
10059    declare minute_second char;
10060END//
10061delimiter ;//
10062
10063--disable_warnings
10064DROP PROCEDURE IF EXISTS sp1;
10065--enable_warnings
10066
10067delimiter //;
10068--error ER_PARSE_ERROR
10069CREATE PROCEDURE sp1()
10070BEGIN
10071    declare mod char;
10072END//
10073delimiter ;//
10074
10075--disable_warnings
10076DROP PROCEDURE IF EXISTS sp1;
10077--enable_warnings
10078
10079delimiter //;
10080--error ER_PARSE_ERROR
10081CREATE PROCEDURE sp1()
10082BEGIN
10083    declare modifies char;
10084END//
10085delimiter ;//
10086
10087--disable_warnings
10088DROP PROCEDURE IF EXISTS sp1;
10089--enable_warnings
10090
10091delimiter //;
10092--error ER_PARSE_ERROR
10093CREATE PROCEDURE sp1()
10094BEGIN
10095    declare natural char;
10096END//
10097delimiter ;//
10098
10099--disable_warnings
10100DROP PROCEDURE IF EXISTS sp1;
10101--enable_warnings
10102
10103delimiter //;
10104--error ER_PARSE_ERROR
10105CREATE PROCEDURE sp1()
10106BEGIN
10107    declare not char;
10108END//
10109delimiter ;//
10110
10111--disable_warnings
10112DROP PROCEDURE IF EXISTS sp1;
10113--enable_warnings
10114
10115delimiter //;
10116--error ER_PARSE_ERROR
10117CREATE PROCEDURE sp1()
10118BEGIN
10119    declare no_write_to_binlog char;
10120END//
10121delimiter ;//
10122
10123--disable_warnings
10124DROP PROCEDURE IF EXISTS sp1;
10125--enable_warnings
10126
10127delimiter //;
10128--error ER_PARSE_ERROR
10129CREATE PROCEDURE sp1()
10130BEGIN
10131    declare null char;
10132END//
10133delimiter ;//
10134
10135--disable_warnings
10136DROP PROCEDURE IF EXISTS sp1;
10137--enable_warnings
10138
10139delimiter //;
10140--error ER_PARSE_ERROR
10141CREATE PROCEDURE sp1()
10142BEGIN
10143    declare numeric char;
10144END//
10145delimiter ;//
10146
10147--disable_warnings
10148DROP PROCEDURE IF EXISTS sp1;
10149--enable_warnings
10150
10151delimiter //;
10152--error ER_PARSE_ERROR
10153CREATE PROCEDURE sp1()
10154BEGIN
10155    declare on char;
10156END//
10157delimiter ;//
10158
10159--disable_warnings
10160DROP PROCEDURE IF EXISTS sp1;
10161--enable_warnings
10162
10163delimiter //;
10164--error ER_PARSE_ERROR
10165CREATE PROCEDURE sp1()
10166BEGIN
10167    declare optimize char;
10168END//
10169delimiter ;//
10170
10171--disable_warnings
10172DROP PROCEDURE IF EXISTS sp1;
10173--enable_warnings
10174
10175delimiter //;
10176CREATE PROCEDURE sp1()
10177BEGIN
10178    declare option char;
10179END//
10180delimiter ;//
10181
10182--disable_warnings
10183DROP PROCEDURE IF EXISTS sp1;
10184--enable_warnings
10185
10186delimiter //;
10187--error ER_PARSE_ERROR
10188CREATE PROCEDURE sp1()
10189BEGIN
10190    declare optionally char;
10191END//
10192delimiter ;//
10193
10194--disable_warnings
10195DROP PROCEDURE IF EXISTS sp1;
10196--enable_warnings
10197
10198delimiter //;
10199--error ER_PARSE_ERROR
10200CREATE PROCEDURE sp1()
10201BEGIN
10202    declare or char;
10203END//
10204delimiter ;//
10205
10206--disable_warnings
10207DROP PROCEDURE IF EXISTS sp1;
10208--enable_warnings
10209
10210delimiter //;
10211--error ER_PARSE_ERROR
10212CREATE PROCEDURE sp1()
10213BEGIN
10214    declare order char;
10215END//
10216delimiter ;//
10217
10218--disable_warnings
10219DROP PROCEDURE IF EXISTS sp1;
10220--enable_warnings
10221
10222delimiter //;
10223--error ER_PARSE_ERROR
10224CREATE PROCEDURE sp1()
10225BEGIN
10226    declare out char;
10227END//
10228delimiter ;//
10229
10230--disable_warnings
10231DROP PROCEDURE IF EXISTS sp1;
10232--enable_warnings
10233
10234delimiter //;
10235--error ER_PARSE_ERROR
10236CREATE PROCEDURE sp1()
10237BEGIN
10238    declare outer char;
10239END//
10240delimiter ;//
10241
10242--disable_warnings
10243DROP PROCEDURE IF EXISTS sp1;
10244--enable_warnings
10245
10246delimiter //;
10247--error ER_PARSE_ERROR
10248CREATE PROCEDURE sp1()
10249BEGIN
10250    declare outfile char;
10251END//
10252delimiter ;//
10253
10254--disable_warnings
10255DROP PROCEDURE IF EXISTS sp1;
10256--enable_warnings
10257
10258delimiter //;
10259--error ER_PARSE_ERROR
10260CREATE PROCEDURE sp1()
10261BEGIN
10262    declare precision char;
10263END//
10264delimiter ;//
10265
10266--disable_warnings
10267DROP PROCEDURE IF EXISTS sp1;
10268--enable_warnings
10269
10270delimiter //;
10271--error ER_PARSE_ERROR
10272CREATE PROCEDURE sp1()
10273BEGIN
10274    declare primary char;
10275END//
10276delimiter ;//
10277
10278--disable_warnings
10279DROP PROCEDURE IF EXISTS sp1;
10280--enable_warnings
10281
10282delimiter //;
10283--error ER_PARSE_ERROR
10284CREATE PROCEDURE sp1()
10285BEGIN
10286    declare procedure char;
10287END//
10288delimiter ;//
10289
10290--disable_warnings
10291DROP PROCEDURE IF EXISTS sp1;
10292--enable_warnings
10293
10294delimiter //;
10295--error ER_PARSE_ERROR
10296CREATE PROCEDURE sp1()
10297BEGIN
10298    declare purge char;
10299END//
10300delimiter ;//
10301
10302--disable_warnings
10303DROP PROCEDURE IF EXISTS sp1;
10304--enable_warnings
10305
10306delimiter //;
10307--error ER_PARSE_ERROR
10308CREATE PROCEDURE sp1()
10309BEGIN
10310    declare range char;
10311END//
10312delimiter ;//
10313
10314--disable_warnings
10315DROP PROCEDURE IF EXISTS sp1;
10316--enable_warnings
10317
10318delimiter //;
10319--error ER_PARSE_ERROR
10320CREATE PROCEDURE sp1()
10321BEGIN
10322    declare read char;
10323END//
10324delimiter ;//
10325
10326--disable_warnings
10327DROP PROCEDURE IF EXISTS sp1;
10328--enable_warnings
10329
10330delimiter //;
10331--error ER_PARSE_ERROR
10332CREATE PROCEDURE sp1()
10333BEGIN
10334    declare reads char;
10335END//
10336delimiter ;//
10337
10338--disable_warnings
10339DROP PROCEDURE IF EXISTS sp1;
10340--enable_warnings
10341
10342delimiter //;
10343# FIXME 31947
10344#--error ER_PARSE_ERROR
10345CREATE PROCEDURE sp1()
10346BEGIN
10347    declare read_only char;
10348END//
10349delimiter ;//
10350
10351--disable_warnings
10352DROP PROCEDURE IF EXISTS sp1;
10353--enable_warnings
10354
10355delimiter //;
10356--error ER_PARSE_ERROR
10357CREATE PROCEDURE sp1()
10358BEGIN
10359    declare read_write char;
10360END//
10361delimiter ;//
10362
10363--disable_warnings
10364DROP PROCEDURE IF EXISTS sp1;
10365--enable_warnings
10366
10367delimiter //;
10368--error ER_PARSE_ERROR
10369CREATE PROCEDURE sp1()
10370BEGIN
10371    declare real char;
10372END//
10373delimiter ;//
10374
10375--disable_warnings
10376DROP PROCEDURE IF EXISTS sp1;
10377--enable_warnings
10378
10379delimiter //;
10380--error ER_PARSE_ERROR
10381CREATE PROCEDURE sp1()
10382BEGIN
10383    declare references char;
10384END//
10385delimiter ;//
10386
10387--disable_warnings
10388DROP PROCEDURE IF EXISTS sp1;
10389--enable_warnings
10390
10391delimiter //;
10392--error ER_PARSE_ERROR
10393CREATE PROCEDURE sp1()
10394BEGIN
10395    declare regexp char;
10396END//
10397delimiter ;//
10398
10399--disable_warnings
10400DROP PROCEDURE IF EXISTS sp1;
10401--enable_warnings
10402
10403delimiter //;
10404--error ER_PARSE_ERROR
10405CREATE PROCEDURE sp1()
10406BEGIN
10407    declare release char;
10408END//
10409delimiter ;//
10410
10411--disable_warnings
10412DROP PROCEDURE IF EXISTS sp1;
10413--enable_warnings
10414
10415delimiter //;
10416--error ER_PARSE_ERROR
10417CREATE PROCEDURE sp1()
10418BEGIN
10419    declare rename char;
10420END//
10421delimiter ;//
10422
10423--disable_warnings
10424DROP PROCEDURE IF EXISTS sp1;
10425--enable_warnings
10426
10427delimiter //;
10428--error ER_PARSE_ERROR
10429CREATE PROCEDURE sp1()
10430BEGIN
10431    declare repeat char;
10432END//
10433delimiter ;//
10434
10435--disable_warnings
10436DROP PROCEDURE IF EXISTS sp1;
10437--enable_warnings
10438
10439delimiter //;
10440--error ER_PARSE_ERROR
10441CREATE PROCEDURE sp1()
10442BEGIN
10443    declare replace char;
10444END//
10445delimiter ;//
10446DROP PROCEDURE IF EXISTS sp1;
10447
10448delimiter //;
10449--error ER_PARSE_ERROR
10450CREATE PROCEDURE sp1()
10451BEGIN
10452   declare require char;
10453END//
10454delimiter ;//
10455DROP PROCEDURE IF EXISTS sp1;
10456
10457delimiter //;
10458--error ER_PARSE_ERROR
10459CREATE PROCEDURE sp1()
10460BEGIN
10461    declare restrict char;
10462END//
10463delimiter ;//
10464
10465DROP PROCEDURE IF EXISTS sp1;
10466
10467delimiter //;
10468--error ER_PARSE_ERROR
10469CREATE PROCEDURE sp1()
10470BEGIN
10471    declare return char;
10472END//
10473delimiter ;//
10474
10475DROP PROCEDURE IF EXISTS sp1;
10476
10477delimiter //;
10478--error ER_PARSE_ERROR
10479CREATE PROCEDURE sp1()
10480BEGIN
10481    declare revoke char;
10482END//
10483delimiter ;//
10484
10485DROP PROCEDURE IF EXISTS sp1;
10486
10487delimiter //;
10488--error ER_PARSE_ERROR
10489CREATE PROCEDURE sp1()
10490BEGIN
10491    declare right char;
10492END//
10493delimiter ;//
10494
10495DROP PROCEDURE IF EXISTS sp1;
10496
10497delimiter //;
10498--error ER_PARSE_ERROR
10499CREATE PROCEDURE sp1()
10500BEGIN
10501    declare rlike char;
10502END//
10503delimiter ;//
10504
10505DROP PROCEDURE IF EXISTS sp1;
10506
10507delimiter //;
10508--error ER_PARSE_ERROR
10509CREATE PROCEDURE sp1()
10510BEGIN
10511    declare schema char;
10512END//
10513delimiter ;//
10514
10515DROP PROCEDURE IF EXISTS sp1;
10516
10517delimiter //;
10518--error ER_PARSE_ERROR
10519CREATE PROCEDURE sp1()
10520BEGIN
10521    declare schemas char;
10522END//
10523delimiter ;//
10524
10525DROP PROCEDURE IF EXISTS sp1;
10526
10527delimiter //;
10528--error ER_PARSE_ERROR
10529CREATE PROCEDURE sp1()
10530BEGIN
10531    declare second_microsecond char;
10532END//
10533delimiter ;//
10534
10535DROP PROCEDURE IF EXISTS sp1;
10536
10537delimiter //;
10538--error ER_PARSE_ERROR
10539CREATE PROCEDURE sp1()
10540BEGIN
10541    declare SELECT char;
10542END//
10543delimiter ;//
10544
10545DROP PROCEDURE IF EXISTS sp1;
10546
10547delimiter //;
10548--error ER_PARSE_ERROR
10549CREATE PROCEDURE sp1()
10550BEGIN
10551    declare sensitive char;
10552END//
10553delimiter ;//
10554
10555DROP PROCEDURE IF EXISTS sp1;
10556
10557delimiter //;
10558--error ER_PARSE_ERROR
10559CREATE PROCEDURE sp1()
10560BEGIN
10561    declare separator char;
10562END//
10563delimiter ;//
10564
10565DROP PROCEDURE IF EXISTS sp1;
10566
10567delimiter //;
10568--error ER_PARSE_ERROR
10569CREATE PROCEDURE sp1()
10570BEGIN
10571    declare set char;
10572END//
10573delimiter ;//
10574
10575DROP PROCEDURE IF EXISTS sp1;
10576
10577delimiter //;
10578--error ER_PARSE_ERROR
10579CREATE PROCEDURE sp1()
10580BEGIN
10581    declare show char;
10582END//
10583delimiter ;//
10584
10585DROP PROCEDURE IF EXISTS sp1;
10586
10587delimiter //;
10588--error ER_PARSE_ERROR
10589CREATE PROCEDURE sp1()
10590BEGIN
10591    declare smallint char;
10592END//
10593delimiter ;//
10594
10595DROP PROCEDURE IF EXISTS sp1;
10596
10597delimiter //;
10598--error ER_PARSE_ERROR
10599CREATE PROCEDURE sp1()
10600BEGIN
10601    declare spatial char;
10602END//
10603delimiter ;//
10604
10605DROP PROCEDURE IF EXISTS sp1;
10606
10607delimiter //;
10608--error ER_PARSE_ERROR
10609CREATE PROCEDURE sp1()
10610BEGIN
10611    declare specific char;
10612END//
10613delimiter ;//
10614
10615DROP PROCEDURE IF EXISTS sp1;
10616
10617delimiter //;
10618--error ER_PARSE_ERROR
10619CREATE PROCEDURE sp1()
10620BEGIN
10621    declare sql char;
10622END//
10623delimiter ;//
10624
10625DROP PROCEDURE IF EXISTS sp1;
10626
10627delimiter //;
10628--error ER_PARSE_ERROR
10629CREATE PROCEDURE sp1()
10630BEGIN
10631    declare sqlexception char;
10632END//
10633delimiter ;//
10634
10635DROP PROCEDURE IF EXISTS sp1;
10636
10637delimiter //;
10638--error ER_PARSE_ERROR
10639CREATE PROCEDURE sp1()
10640BEGIN
10641    declare sqlstate char;
10642END//
10643delimiter ;//
10644
10645DROP PROCEDURE IF EXISTS sp1;
10646
10647delimiter //;
10648--error ER_PARSE_ERROR
10649CREATE PROCEDURE sp1()
10650BEGIN
10651    declare sqlwarning char;
10652END//
10653delimiter ;//
10654
10655DROP PROCEDURE IF EXISTS sp1;
10656
10657delimiter //;
10658--error ER_PARSE_ERROR
10659CREATE PROCEDURE sp1()
10660BEGIN
10661    declare sql_big_result char;
10662END//
10663delimiter ;//
10664
10665DROP PROCEDURE IF EXISTS sp1;
10666
10667delimiter //;
10668--error ER_PARSE_ERROR
10669CREATE PROCEDURE sp1()
10670BEGIN
10671    declare sql_calc_found_rows char;
10672END//
10673delimiter ;//
10674
10675DROP PROCEDURE IF EXISTS sp1;
10676
10677delimiter //;
10678--error ER_PARSE_ERROR
10679CREATE PROCEDURE sp1()
10680BEGIN
10681    declare sql_small_result char;
10682END//
10683delimiter ;//
10684
10685DROP PROCEDURE IF EXISTS sp1;
10686
10687delimiter //;
10688--error ER_PARSE_ERROR
10689CREATE PROCEDURE sp1()
10690BEGIN
10691    declare ssl char;
10692END//
10693delimiter ;//
10694
10695DROP PROCEDURE IF EXISTS sp1;
10696
10697delimiter //;
10698--error ER_PARSE_ERROR
10699CREATE PROCEDURE sp1()
10700BEGIN
10701    declare starting char;
10702END//
10703delimiter ;//
10704
10705DROP PROCEDURE IF EXISTS sp1;
10706
10707delimiter //;
10708--error ER_PARSE_ERROR
10709CREATE PROCEDURE sp1()
10710BEGIN
10711    declare straight_join char;
10712END//
10713delimiter ;//
10714
10715DROP PROCEDURE IF EXISTS sp1;
10716
10717delimiter //;
10718--error ER_PARSE_ERROR
10719CREATE PROCEDURE sp1()
10720BEGIN
10721    declare table char;
10722END//
10723delimiter ;//
10724
10725DROP PROCEDURE IF EXISTS sp1;
10726
10727delimiter //;
10728--error ER_PARSE_ERROR
10729CREATE PROCEDURE sp1()
10730BEGIN
10731    declare terminated char;
10732END//
10733delimiter ;//
10734
10735DROP PROCEDURE IF EXISTS sp1;
10736
10737delimiter //;
10738--error ER_PARSE_ERROR
10739CREATE PROCEDURE sp1()
10740BEGIN
10741    declare then char;
10742END//
10743delimiter ;//
10744
10745DROP PROCEDURE IF EXISTS sp1;
10746
10747delimiter //;
10748--error ER_PARSE_ERROR
10749CREATE PROCEDURE sp1()
10750BEGIN
10751    declare tinyblob char;
10752END//
10753delimiter ;//
10754
10755DROP PROCEDURE IF EXISTS sp1;
10756
10757delimiter //;
10758--error ER_PARSE_ERROR
10759CREATE PROCEDURE sp1()
10760BEGIN
10761    declare tinyint char;
10762END//
10763delimiter ;//
10764
10765DROP PROCEDURE IF EXISTS sp1;
10766
10767delimiter //;
10768--error ER_PARSE_ERROR
10769CREATE PROCEDURE sp1()
10770BEGIN
10771    declare tinytext char;
10772END//
10773delimiter ;//
10774
10775DROP PROCEDURE IF EXISTS sp1;
10776
10777delimiter //;
10778--error ER_PARSE_ERROR
10779CREATE PROCEDURE sp1()
10780BEGIN
10781    declare to char;
10782END//
10783delimiter ;//
10784
10785DROP PROCEDURE IF EXISTS sp1;
10786
10787delimiter //;
10788--error ER_PARSE_ERROR
10789CREATE PROCEDURE sp1()
10790BEGIN
10791    declare trailing char;
10792END//
10793delimiter ;//
10794DROP PROCEDURE IF EXISTS sp1;
10795
10796delimiter //;
10797--error ER_PARSE_ERROR
10798CREATE PROCEDURE sp1()
10799BEGIN
10800    declare trigger char;
10801END//
10802delimiter ;//
10803DROP PROCEDURE IF EXISTS sp1;
10804
10805delimiter //;
10806--error ER_PARSE_ERROR
10807CREATE PROCEDURE sp1()
10808BEGIN
10809    declare true char;
10810END//
10811delimiter ;//
10812
10813DROP PROCEDURE IF EXISTS sp1;
10814
10815delimiter //;
10816--error ER_PARSE_ERROR
10817CREATE PROCEDURE sp1()
10818BEGIN
10819    declare undo char;
10820END//
10821delimiter ;//
10822
10823DROP PROCEDURE IF EXISTS sp1;
10824
10825delimiter //;
10826--error ER_PARSE_ERROR
10827CREATE PROCEDURE sp1()
10828BEGIN
10829    declare union char;
10830END//
10831delimiter ;//
10832
10833DROP PROCEDURE IF EXISTS sp1;
10834
10835delimiter //;
10836--error ER_PARSE_ERROR
10837CREATE PROCEDURE sp1()
10838BEGIN
10839    declare unique char;
10840END//
10841delimiter ;//
10842
10843DROP PROCEDURE IF EXISTS sp1;
10844
10845delimiter //;
10846--error ER_PARSE_ERROR
10847CREATE PROCEDURE sp1()
10848BEGIN
10849    declare unlock char;
10850END//
10851delimiter ;//
10852
10853DROP PROCEDURE IF EXISTS sp1;
10854
10855delimiter //;
10856--error ER_PARSE_ERROR
10857CREATE PROCEDURE sp1()
10858BEGIN
10859    declare unsigned char;
10860END//
10861delimiter ;//
10862
10863DROP PROCEDURE IF EXISTS sp1;
10864
10865delimiter //;
10866--error ER_PARSE_ERROR
10867CREATE PROCEDURE sp1()
10868BEGIN
10869    declare update char;
10870END//
10871delimiter ;//
10872
10873DROP PROCEDURE IF EXISTS sp1;
10874
10875delimiter //;
10876--error ER_PARSE_ERROR
10877CREATE PROCEDURE sp1()
10878BEGIN
10879    declare usage char;
10880END//
10881delimiter ;//
10882
10883DROP PROCEDURE IF EXISTS sp1;
10884
10885delimiter //;
10886--error ER_PARSE_ERROR
10887CREATE PROCEDURE sp1()
10888BEGIN
10889    declare use char;
10890END//
10891delimiter ;//
10892
10893DROP PROCEDURE IF EXISTS sp1;
10894
10895delimiter //;
10896--error ER_PARSE_ERROR
10897CREATE PROCEDURE sp1()
10898BEGIN
10899    declare using char;
10900END//
10901delimiter ;//
10902
10903DROP PROCEDURE IF EXISTS sp1;
10904
10905delimiter //;
10906--error ER_PARSE_ERROR
10907CREATE PROCEDURE sp1()
10908BEGIN
10909    declare utc_date char;
10910END//
10911delimiter ;//
10912
10913DROP PROCEDURE IF EXISTS sp1;
10914
10915delimiter //;
10916--error ER_PARSE_ERROR
10917CREATE PROCEDURE sp1()
10918BEGIN
10919    declare utc_time char;
10920END//
10921delimiter ;//
10922
10923DROP PROCEDURE IF EXISTS sp1;
10924
10925delimiter //;
10926--error ER_PARSE_ERROR
10927CREATE PROCEDURE sp1()
10928BEGIN
10929    declare utc_timestamp char;
10930END//
10931delimiter ;//
10932
10933DROP PROCEDURE IF EXISTS sp1;
10934
10935delimiter //;
10936--error ER_PARSE_ERROR
10937CREATE PROCEDURE sp1()
10938BEGIN
10939    declare values char;
10940END//
10941delimiter ;//
10942
10943DROP PROCEDURE IF EXISTS sp1;
10944
10945delimiter //;
10946--error ER_PARSE_ERROR
10947CREATE PROCEDURE sp1()
10948BEGIN
10949    declare varbinary char;
10950END//
10951delimiter ;//
10952
10953DROP PROCEDURE IF EXISTS sp1;
10954
10955delimiter //;
10956--error ER_PARSE_ERROR
10957CREATE PROCEDURE sp1()
10958BEGIN
10959    declare varchar char;
10960END//
10961delimiter ;//
10962
10963DROP PROCEDURE IF EXISTS sp1;
10964
10965delimiter //;
10966--error ER_PARSE_ERROR
10967CREATE PROCEDURE sp1()
10968BEGIN
10969    declare varcharacter char;
10970END//
10971delimiter ;//
10972
10973DROP PROCEDURE IF EXISTS sp1;
10974
10975delimiter //;
10976--error ER_PARSE_ERROR
10977CREATE PROCEDURE sp1()
10978BEGIN
10979    declare varying char;
10980END//
10981delimiter ;//
10982
10983DROP PROCEDURE IF EXISTS sp1;
10984
10985delimiter //;
10986--error ER_PARSE_ERROR
10987CREATE PROCEDURE sp1()
10988BEGIN
10989    declare when char;
10990END//
10991delimiter ;//
10992
10993DROP PROCEDURE IF EXISTS sp1;
10994
10995delimiter //;
10996--error ER_PARSE_ERROR
10997CREATE PROCEDURE sp1()
10998BEGIN
10999    declare where char;
11000END//
11001delimiter ;//
11002
11003DROP PROCEDURE IF EXISTS sp1;
11004
11005delimiter //;
11006--error ER_PARSE_ERROR
11007CREATE PROCEDURE sp1()
11008BEGIN
11009    declare while char;
11010END//
11011delimiter ;//
11012
11013DROP PROCEDURE IF EXISTS sp1;
11014
11015delimiter //;
11016--error ER_PARSE_ERROR
11017CREATE PROCEDURE sp1()
11018BEGIN
11019    declare with char;
11020END//
11021delimiter ;//
11022
11023DROP PROCEDURE IF EXISTS sp1;
11024
11025delimiter //;
11026--error ER_PARSE_ERROR
11027CREATE PROCEDURE sp1()
11028BEGIN
11029    declare write char;
11030END//
11031delimiter ;//
11032
11033DROP PROCEDURE IF EXISTS sp1;
11034
11035delimiter //;
11036--error ER_PARSE_ERROR
11037CREATE PROCEDURE sp1()
11038BEGIN
11039    declare xor char;
11040END//
11041delimiter ;//
11042
11043DROP PROCEDURE IF EXISTS sp1;
11044
11045delimiter //;
11046--error ER_PARSE_ERROR
11047CREATE PROCEDURE sp1()
11048BEGIN
11049    declare year_month char;
11050END//
11051delimiter ;//
11052
11053DROP PROCEDURE IF EXISTS sp1;
11054
11055delimiter //;
11056--error ER_PARSE_ERROR
11057CREATE PROCEDURE sp1()
11058BEGIN
11059    declare zerofill char;
11060END//
11061delimiter ;//
11062
11063# ------------------------------------------------------------------------------
11064let $message= Testcase :
11065              ----------
11066Ensure that every possible type of condition may be declared for a stored procedure
11067( covered in more detail in handlers section.);
11068--source include/show_msg80.inc
11069
11070DROP PROCEDURE IF EXISTS sp1;
11071
11072delimiter //;
11073CREATE PROCEDURE sp1()
11074BEGIN
11075   declare cond1 condition for sqlstate 'HY000';
11076
11077   declare cond2 condition for sqlstate '23000';
11078
11079   declare cond3 condition for sqlstate 'HY001';
11080
11081   declare cond4 condition for sqlstate '08004';
11082
11083   declare cond5 condition for sqlstate '08S01';
11084
11085   declare cond6 condition for sqlstate '42000';
11086
11087   declare cond7 condition for sqlstate '28000';
11088
11089   declare cond8 condition for sqlstate '3D000';
11090
11091   declare cond9 condition for sqlstate '42S01';
11092
11093   declare cond10 condition for sqlstate '42S02';
11094
11095   declare cond11 condition for sqlstate '42S22';
11096
11097   declare cond12 condition for sqlstate '21S01';
11098
11099   declare cond13 condition for sqlstate '42S21';
11100
11101   declare cond14 condition for sqlstate '42S12';
11102
11103   declare cond15 condition for sqlstate '22004';
11104
11105   declare cond16 condition for sqlstate '25000';
11106
11107   declare cond17 condition for sqlstate '40001';
11108
11109   declare cond18 condition for sqlstate '21000';
11110
11111   declare cond19 condition for sqlstate '01000';
11112
11113   declare cond20 condition for sqlstate '22003';
11114
11115   declare cond21 condition for sqlstate '22007';
11116
11117   declare cond22 condition for sqlstate '0A000';
11118
11119   declare cond23 condition for sqlstate '70100';
11120
11121   declare cond24 condition for sqlstate '2F005';
11122
11123   declare cond25 condition for sqlstate '24000';
11124
11125   declare cond26 condition for sqlstate '02000';
11126
11127   declare continue handler for cond2 set @x2 = 1;
11128
11129   declare continue handler for cond1 set @x2 = 1;
11130
11131   declare continue handler for cond3 set @x2 = 1;
11132
11133   declare continue handler for cond4 set @x2 = 1;
11134
11135   declare continue handler for cond5 set @x2 = 1;
11136
11137   declare continue handler for cond7 set @x2 = 1;
11138
11139   declare continue handler for cond6 set @x2 = 1;
11140
11141   declare continue handler for cond8 set @x2 = 1;
11142
11143   declare continue handler for cond9 set @x2 = 1;
11144
11145   declare continue handler for cond10 set @x2 = 1;
11146
11147   declare continue handler for cond11 set @x2 = 1;
11148
11149   declare continue handler for cond12 set @x2 = 1;
11150
11151   declare continue handler for cond13 set @x2 = 1;
11152
11153   declare continue handler for cond14 set @x2 = 1;
11154
11155   declare continue handler for cond15 set @x2 = 1;
11156
11157   declare continue handler for cond16 set @x2 = 1;
11158
11159   declare continue handler for cond17 set @x2 = 1;
11160
11161   declare continue handler for cond18 set @x2 = 1;
11162
11163   declare continue handler for cond19 set @x2 = 1;
11164
11165   declare continue handler for cond20 set @x2 = 1;
11166
11167   declare continue handler for cond21 set @x2 = 1;
11168
11169   declare continue handler for cond22 set @x2 = 1;
11170
11171   declare continue handler for cond23 set @x2 = 1;
11172
11173   declare continue handler for cond24 set @x2 = 1;
11174
11175   declare continue handler for cond25 set @x2 = 1;
11176
11177   declare continue handler for cond26 set @x2 = 1;
11178
11179
11180   set @x = 1;
11181
11182   insert into t2 values (1);
11183
11184   set @x = 2;
11185
11186   insert into t2 values (1);
11187
11188   set @x = 3;
11189END//
11190delimiter ;//
11191
11192CALL sp1();
11193
11194# clean up
11195DROP PROCEDURE sp1;
11196
11197# testcase: ensure that invalid condition declarations are rejected, with an appropriate error message.
11198
11199
11200DROP PROCEDURE IF EXISTS sp1;
11201
11202delimiter //;
11203--error ER_PARSE_ERROR
11204CREATE PROCEDURE sp1( )
11205BEGIN
11206    declare @x char;
11207END//
11208delimiter ;//
11209
11210DROP PROCEDURE IF EXISTS sp1;
11211
11212delimiter //;
11213--error ER_PARSE_ERROR
11214CREATE PROCEDURE sp1( )
11215BEGIN
11216    declare x char1;
11217END//
11218delimiter ;//
11219DROP PROCEDURE IF EXISTS sp1;
11220
11221delimiter //;
11222--error ER_PARSE_ERROR
11223CREATE PROCEDURE sp1( )
11224BEGIN
11225    declare accessible condition for sqlstate '02000';
11226    declare exit handler for add set @var2 = 1;
11227END//
11228delimiter ;//
11229
11230DROP PROCEDURE IF EXISTS sp1;
11231
11232delimiter //;
11233--error ER_PARSE_ERROR
11234CREATE PROCEDURE sp1( )
11235BEGIN
11236    declare add condition for sqlstate '02000';
11237    declare exit handler for add set @var2 = 1;
11238END//
11239delimiter ;//
11240
11241DROP PROCEDURE IF EXISTS sp1;
11242
11243delimiter //;
11244--error ER_PARSE_ERROR
11245CREATE PROCEDURE sp1( )
11246BEGIN
11247    declare all condition for sqlstate '02000';
11248    declare exit handler for all set @var2 = 1;
11249END//
11250delimiter ;//
11251
11252DROP PROCEDURE IF EXISTS sp1;
11253
11254delimiter //;
11255--error ER_PARSE_ERROR
11256CREATE PROCEDURE sp1( )
11257BEGIN
11258    declare alter condition for sqlstate '02000';
11259    declare exit handler for alter set @var2 = 1;
11260END//
11261delimiter ;//
11262
11263DROP PROCEDURE IF EXISTS sp1;
11264
11265delimiter //;
11266--error ER_PARSE_ERROR
11267CREATE PROCEDURE sp1( )
11268BEGIN
11269    declare analyze condition for sqlstate '02000';
11270    declare exit handler for analyze set @var2 = 1;
11271END//
11272delimiter ;//
11273
11274DROP PROCEDURE IF EXISTS sp1;
11275
11276delimiter //;
11277--error ER_PARSE_ERROR
11278CREATE PROCEDURE sp1( )
11279BEGIN
11280    declare and condition for sqlstate '02000';
11281    declare exit handler for and set @var2 = 1;
11282END//
11283delimiter ;//
11284
11285DROP PROCEDURE IF EXISTS sp1;
11286
11287delimiter //;
11288--error ER_PARSE_ERROR
11289CREATE PROCEDURE sp1( )
11290BEGIN
11291    declare as condition for sqlstate '02000';
11292    declare exit handler for as set @var2 = 1;
11293END//
11294delimiter ;//
11295
11296DROP PROCEDURE IF EXISTS sp1;
11297
11298delimiter //;
11299--error ER_PARSE_ERROR
11300CREATE PROCEDURE sp1( )
11301BEGIN
11302    declare asc condition for sqlstate '02000';
11303    declare exit handler for asc set @var2 = 1;
11304END//
11305delimiter ;//
11306
11307DROP PROCEDURE IF EXISTS sp1;
11308
11309delimiter //;
11310--error ER_PARSE_ERROR
11311CREATE PROCEDURE sp1( )
11312BEGIN
11313    declare asensitive condition for sqlstate '02000';
11314    declare exit handler for asensitive set @var2 = 1;
11315END//
11316delimiter ;//
11317
11318DROP PROCEDURE IF EXISTS sp1;
11319
11320delimiter //;
11321--error ER_PARSE_ERROR
11322CREATE PROCEDURE sp1( )
11323BEGIN
11324    declare before condition for sqlstate '02000';
11325    declare exit handler for before set @var2 = 1;
11326END//
11327delimiter ;//
11328
11329DROP PROCEDURE IF EXISTS sp1;
11330
11331delimiter //;
11332--error ER_PARSE_ERROR
11333CREATE PROCEDURE sp1( )
11334BEGIN
11335    declare between condition for sqlstate '02000';
11336    declare exit handler for between set @var2 = 1;
11337END//
11338delimiter ;//
11339
11340DROP PROCEDURE IF EXISTS sp1;
11341
11342delimiter //;
11343--error ER_PARSE_ERROR
11344CREATE PROCEDURE sp1( )
11345BEGIN
11346    declare bigint condition for sqlstate '02000';
11347    declare exit handler for bigint set @var2 = 1;
11348END//
11349delimiter ;//
11350
11351DROP PROCEDURE IF EXISTS sp1;
11352
11353delimiter //;
11354--error ER_PARSE_ERROR
11355CREATE PROCEDURE sp1( )
11356BEGIN
11357    declare binary condition for sqlstate '02000';
11358    declare exit handler for binary set @var2 = 1;
11359END//
11360delimiter ;//
11361
11362DROP PROCEDURE IF EXISTS sp1;
11363
11364delimiter //;
11365--error ER_PARSE_ERROR
11366CREATE PROCEDURE sp1( )
11367BEGIN
11368    declare blob condition for sqlstate '02000';
11369    declare exit handler for blob set @var2 = 1;
11370END//
11371delimiter ;//
11372
11373DROP PROCEDURE IF EXISTS sp1;
11374
11375delimiter //;
11376--error ER_PARSE_ERROR
11377CREATE PROCEDURE sp1( )
11378BEGIN
11379    declare both condition for sqlstate '02000';
11380    declare exit handler for both set @var2 = 1;
11381END//
11382delimiter ;//
11383
11384DROP PROCEDURE IF EXISTS sp1;
11385
11386delimiter //;
11387--error ER_PARSE_ERROR
11388CREATE PROCEDURE sp1( )
11389BEGIN
11390    declare by condition for sqlstate '02000';
11391    declare exit handler for by set @var2 = 1;
11392END//
11393delimiter ;//
11394
11395DROP PROCEDURE IF EXISTS sp1;
11396
11397delimiter //;
11398--error ER_PARSE_ERROR
11399CREATE PROCEDURE sp1( )
11400BEGIN
11401    declare call condition for sqlstate '02000';
11402    declare exit handler for CALL set @var2 = 1;
11403END//
11404delimiter ;//
11405
11406DROP PROCEDURE IF EXISTS sp1;
11407
11408delimiter //;
11409--error ER_PARSE_ERROR
11410CREATE PROCEDURE sp1( )
11411BEGIN
11412    declare cascade condition for sqlstate '02000';
11413    declare exit handler for cascade set @var2 = 1;
11414END//
11415delimiter ;//
11416
11417DROP PROCEDURE IF EXISTS sp1;
11418
11419delimiter //;
11420--error ER_PARSE_ERROR
11421CREATE PROCEDURE sp1( )
11422BEGIN
11423    declare case condition for sqlstate '02000';
11424    declare exit handler for case set @var2 = 1;
11425END//
11426delimiter ;//
11427
11428DROP PROCEDURE IF EXISTS sp1;
11429
11430delimiter //;
11431--error ER_PARSE_ERROR
11432CREATE PROCEDURE sp1( )
11433BEGIN
11434    declare change condition for sqlstate '02000';
11435    declare exit handler for change set @var2 = 1;
11436END//
11437delimiter ;//
11438
11439DROP PROCEDURE IF EXISTS sp1;
11440
11441delimiter //;
11442--error ER_PARSE_ERROR
11443CREATE PROCEDURE sp1( )
11444BEGIN
11445    declare char condition for sqlstate '02000';
11446    declare exit handler for char set @var2 = 1;
11447END//
11448delimiter ;//
11449
11450DROP PROCEDURE IF EXISTS sp1;
11451
11452delimiter //;
11453--error ER_PARSE_ERROR
11454CREATE PROCEDURE sp1( )
11455BEGIN
11456    declare character condition for sqlstate '02000';
11457    declare exit handler for character set @var2 = 1;
11458END//
11459delimiter ;//
11460
11461DROP PROCEDURE IF EXISTS sp1;
11462
11463delimiter //;
11464--error ER_PARSE_ERROR
11465CREATE PROCEDURE sp1( )
11466BEGIN
11467    declare check condition for sqlstate '02000';
11468    declare exit handler for check set @var2 = 1;
11469END//
11470delimiter ;//
11471
11472DROP PROCEDURE IF EXISTS sp1;
11473
11474delimiter //;
11475#--error ER_PARSE_ERROR
11476CREATE PROCEDURE sp1( )
11477BEGIN
11478    declare collate condition for sqlstate '02000';
11479    declare exit handler for collate set @var2 = 1;
11480END//
11481delimiter ;//
11482
11483DROP PROCEDURE IF EXISTS sp1;
11484
11485delimiter //;
11486--error ER_PARSE_ERROR
11487CREATE PROCEDURE sp1( )
11488BEGIN
11489    declare column condition for sqlstate '02000';
11490    declare exit handler for column set @var2 = 1;
11491END//
11492delimiter ;//
11493DROP PROCEDURE IF EXISTS sp1;
11494
11495delimiter //;
11496--error ER_PARSE_ERROR
11497CREATE PROCEDURE sp1( )
11498BEGIN
11499    declare condition condition for sqlstate '02000';
11500    declare exit handler for condition set @var2 = 1;
11501END//
11502delimiter ;//
11503DROP PROCEDURE IF EXISTS sp1;
11504
11505delimiter //;
11506#--error ER_PARSE_ERROR
11507CREATE PROCEDURE sp1( )
11508BEGIN
11509    declare connection condition for sqlstate '02000';
11510    declare exit handler for connection set @var2 = 1;
11511END//
11512delimiter ;//
11513DROP PROCEDURE IF EXISTS sp1;
11514
11515delimiter //;
11516--error ER_PARSE_ERROR
11517CREATE PROCEDURE sp1( )
11518BEGIN
11519    declare constraint condition for sqlstate '02000';
11520    declare exit handler for constraint set @var2 = 1;
11521END//
11522delimiter ;//
11523
11524DROP PROCEDURE IF EXISTS sp1;
11525
11526delimiter //;
11527--error ER_PARSE_ERROR
11528CREATE PROCEDURE sp1( )
11529BEGIN
11530    declare continue condition for sqlstate '02000';
11531    declare exit handler for continue set @var2 = 1;
11532END//
11533delimiter ;//
11534
11535DROP PROCEDURE IF EXISTS sp1;
11536
11537delimiter //;
11538--error ER_PARSE_ERROR
11539CREATE PROCEDURE sp1( )
11540BEGIN
11541    declare convert condition for sqlstate '02000';
11542    declare exit handler for convert set @var2 = 1;
11543END//
11544delimiter ;//
11545
11546DROP PROCEDURE IF EXISTS sp1;
11547
11548delimiter //;
11549--error ER_PARSE_ERROR
11550CREATE PROCEDURE sp1( )
11551BEGIN
11552    declare create condition for sqlstate '02000';
11553    declare exit handler for create set @var2 = 1;
11554END//
11555delimiter ;//
11556
11557DROP PROCEDURE IF EXISTS sp1;
11558
11559delimiter //;
11560--error ER_PARSE_ERROR
11561CREATE PROCEDURE sp1( )
11562BEGIN
11563    declare cross condition for sqlstate '02000';
11564    declare exit handler for cross set @var2 = 1;
11565END//
11566delimiter ;//
11567
11568DROP PROCEDURE IF EXISTS sp1;
11569
11570delimiter //;
11571--error ER_PARSE_ERROR
11572CREATE PROCEDURE sp1( )
11573BEGIN
11574    declare current_date condition for sqlstate '02000';
11575    declare exit handler for current_date set @var2 = 1;
11576END//
11577delimiter ;//
11578
11579DROP PROCEDURE IF EXISTS sp1;
11580
11581delimiter //;
11582--error ER_PARSE_ERROR
11583CREATE PROCEDURE sp1( )
11584BEGIN
11585    declare current_time condition for sqlstate '02000';
11586    declare exit handler for current_time set @var2 = 1;
11587END//
11588delimiter ;//
11589
11590DROP PROCEDURE IF EXISTS sp1;
11591
11592delimiter //;
11593--error ER_PARSE_ERROR
11594CREATE PROCEDURE sp1( )
11595BEGIN
11596    declare current_timestamp condition for sqlstate '02000';
11597    declare exit handler for current_timestamp set @var2 = 1;
11598END//
11599delimiter ;//
11600
11601DROP PROCEDURE IF EXISTS sp1;
11602
11603delimiter //;
11604--error ER_PARSE_ERROR
11605CREATE PROCEDURE sp1( )
11606BEGIN
11607    declare current_user condition for sqlstate '02000';
11608    declare exit handler for current_user set @var2 = 1;
11609END//
11610delimiter ;//
11611
11612DROP PROCEDURE IF EXISTS sp1;
11613
11614delimiter //;
11615--error ER_PARSE_ERROR
11616CREATE PROCEDURE sp1( )
11617BEGIN
11618    declare cursor condition for sqlstate '02000';
11619    declare exit handler for cursor set @var2 = 1;
11620END//
11621delimiter ;//
11622
11623DROP PROCEDURE IF EXISTS sp1;
11624
11625delimiter //;
11626--error ER_PARSE_ERROR
11627CREATE PROCEDURE sp1( )
11628BEGIN
11629    declare database condition for sqlstate '02000';
11630    declare exit handler for database set @var2 = 1;
11631END//
11632delimiter ;//
11633
11634DROP PROCEDURE IF EXISTS sp1;
11635
11636delimiter //;
11637--error ER_PARSE_ERROR
11638CREATE PROCEDURE sp1( )
11639BEGIN
11640    declare databases condition for sqlstate '02000';
11641    declare exit handler for databases set @var2 = 1;
11642END//
11643delimiter ;//
11644
11645DROP PROCEDURE IF EXISTS sp1;
11646
11647delimiter //;
11648--error ER_PARSE_ERROR
11649CREATE PROCEDURE sp1( )
11650BEGIN
11651    declare day_hour condition for sqlstate '02000';
11652    declare exit handler for day_hour set @var2 = 1;
11653END//
11654delimiter ;//
11655
11656DROP PROCEDURE IF EXISTS sp1;
11657
11658delimiter //;
11659--error ER_PARSE_ERROR
11660CREATE PROCEDURE sp1( )
11661BEGIN
11662    declare day_microsecond condition for sqlstate '02000';
11663    declare exit handler for day_microsecond set @var2 = 1;
11664END//
11665delimiter ;//
11666
11667DROP PROCEDURE IF EXISTS sp1;
11668
11669delimiter //;
11670--error ER_PARSE_ERROR
11671CREATE PROCEDURE sp1( )
11672BEGIN
11673    declare day_minute condition for sqlstate '02000';
11674    declare exit handler for day_minute set @var2 = 1;
11675END//
11676delimiter ;//
11677
11678DROP PROCEDURE IF EXISTS sp1;
11679
11680delimiter //;
11681--error ER_PARSE_ERROR
11682CREATE PROCEDURE sp1( )
11683BEGIN
11684    declare day_second condition for sqlstate '02000';
11685    declare exit handler for day_second set @var2 = 1;
11686END//
11687delimiter ;//
11688
11689DROP PROCEDURE IF EXISTS sp1;
11690
11691delimiter //;
11692--error ER_PARSE_ERROR
11693CREATE PROCEDURE sp1( )
11694BEGIN
11695    declare dec condition for sqlstate '02000';
11696    declare exit handler for dec set @var2 = 1;
11697END//
11698delimiter ;//
11699
11700DROP PROCEDURE IF EXISTS sp1;
11701
11702delimiter //;
11703--error ER_PARSE_ERROR
11704CREATE PROCEDURE sp1( )
11705BEGIN
11706    declare decimal condition for sqlstate '02000';
11707    declare exit handler for decimal set @var2 = 1;
11708END//
11709delimiter ;//
11710
11711DROP PROCEDURE IF EXISTS sp1;
11712
11713delimiter //;
11714--error ER_PARSE_ERROR
11715CREATE PROCEDURE sp1( )
11716BEGIN
11717    declare declare condition for sqlstate '02000';
11718    declare exit handler for declare set @var2 = 1;
11719END//
11720delimiter ;//
11721
11722DROP PROCEDURE IF EXISTS sp1;
11723
11724delimiter //;
11725--error ER_PARSE_ERROR
11726CREATE PROCEDURE sp1( )
11727BEGIN
11728    declare default condition for sqlstate '02000';
11729    declare exit handler for default set @var2 = 1;
11730END//
11731delimiter ;//
11732
11733DROP PROCEDURE IF EXISTS sp1;
11734
11735delimiter //;
11736--error ER_PARSE_ERROR
11737CREATE PROCEDURE sp1( )
11738BEGIN
11739    declare delayed condition for sqlstate '02000';
11740    declare exit handler for delayed set @var2 = 1;
11741END//
11742delimiter ;//
11743
11744DROP PROCEDURE IF EXISTS sp1;
11745
11746delimiter //;
11747--error ER_PARSE_ERROR
11748CREATE PROCEDURE sp1( )
11749BEGIN
11750    declare delete condition for sqlstate '02000';
11751    declare exit handler for delete set @var2 = 1;
11752END//
11753delimiter ;//
11754
11755DROP PROCEDURE IF EXISTS sp1;
11756
11757delimiter //;
11758--error ER_PARSE_ERROR
11759CREATE PROCEDURE sp1( )
11760BEGIN
11761    declare desc condition for sqlstate '02000';
11762    declare exit handler for desc set @var2 = 1;
11763END//
11764delimiter ;//
11765
11766DROP PROCEDURE IF EXISTS sp1;
11767
11768delimiter //;
11769--error ER_PARSE_ERROR
11770CREATE PROCEDURE sp1( )
11771BEGIN
11772    declare describe condition for sqlstate '02000';
11773    declare exit handler for describe set @var2 = 1;
11774END//
11775delimiter ;//
11776
11777DROP PROCEDURE IF EXISTS sp1;
11778
11779delimiter //;
11780--error ER_PARSE_ERROR
11781CREATE PROCEDURE sp1( )
11782BEGIN
11783    declare deterministic condition for sqlstate '02000';
11784    declare exit handler for deterministic set @var2 = 1;
11785END//
11786delimiter ;//
11787
11788DROP PROCEDURE IF EXISTS sp1;
11789
11790delimiter //;
11791--error ER_PARSE_ERROR
11792CREATE PROCEDURE sp1( )
11793BEGIN
11794    declare distinct condition for sqlstate '02000';
11795    declare exit handler for distinct set @var2 = 1;
11796END//
11797delimiter ;//
11798
11799DROP PROCEDURE IF EXISTS sp1;
11800
11801delimiter //;
11802--error ER_PARSE_ERROR
11803CREATE PROCEDURE sp1( )
11804BEGIN
11805    declare distinctrow condition for sqlstate '02000';
11806    declare exit handler for distinctrow set @var2 = 1;
11807END//
11808delimiter ;//
11809
11810DROP PROCEDURE IF EXISTS sp1;
11811
11812delimiter //;
11813--error ER_PARSE_ERROR
11814CREATE PROCEDURE sp1( )
11815BEGIN
11816    declare div condition for sqlstate '02000';
11817    declare exit handler for div set @var2 = 1;
11818END//
11819delimiter ;//
11820
11821DROP PROCEDURE IF EXISTS sp1;
11822
11823delimiter //;
11824--error ER_PARSE_ERROR
11825CREATE PROCEDURE sp1( )
11826BEGIN
11827    declare double condition for sqlstate '02000';
11828    declare exit handler for double set @var2 = 1;
11829END//
11830delimiter ;//
11831
11832DROP PROCEDURE IF EXISTS sp1;
11833
11834delimiter //;
11835--error ER_PARSE_ERROR
11836CREATE PROCEDURE sp1( )
11837BEGIN
11838    declare drop condition for sqlstate '02000';
11839    declare exit handler for drop set @var2 = 1;
11840END//
11841delimiter ;//
11842
11843DROP PROCEDURE IF EXISTS sp1;
11844
11845delimiter //;
11846--error ER_PARSE_ERROR
11847CREATE PROCEDURE sp1( )
11848BEGIN
11849    declare dual condition for sqlstate '02000';
11850    declare exit handler for dual set @var2 = 1;
11851END//
11852delimiter ;//
11853
11854DROP PROCEDURE IF EXISTS sp1;
11855
11856delimiter //;
11857--error ER_PARSE_ERROR
11858CREATE PROCEDURE sp1( )
11859BEGIN
11860    declare each condition for sqlstate '02000';
11861    declare exit handler for each set @var2 = 1;
11862END//
11863delimiter ;//
11864
11865DROP PROCEDURE IF EXISTS sp1;
11866
11867delimiter //;
11868--error ER_PARSE_ERROR
11869CREATE PROCEDURE sp1( )
11870BEGIN
11871    declare else condition for sqlstate '02000';
11872    declare exit handler for else set @var2 = 1;
11873END//
11874delimiter ;//
11875
11876DROP PROCEDURE IF EXISTS sp1;
11877
11878delimiter //;
11879--error ER_PARSE_ERROR
11880CREATE PROCEDURE sp1( )
11881BEGIN
11882    declare elseif condition for sqlstate '02000';
11883    declare exit handler for elseif set @var2 = 1;
11884END//
11885delimiter ;//
11886
11887DROP PROCEDURE IF EXISTS sp1;
11888
11889delimiter //;
11890--error ER_PARSE_ERROR
11891CREATE PROCEDURE sp1( )
11892BEGIN
11893    declare enclosed condition for sqlstate '02000';
11894    declare exit handler for enclosed set @var2 = 1;
11895END//
11896delimiter ;//
11897
11898DROP PROCEDURE IF EXISTS sp1;
11899
11900delimiter //;
11901--error ER_PARSE_ERROR
11902CREATE PROCEDURE sp1( )
11903BEGIN
11904    declare escaped condition for sqlstate '02000';
11905    declare exit handler for escaped set @var2 = 1;
11906END//
11907delimiter ;//
11908
11909DROP PROCEDURE IF EXISTS sp1;
11910
11911delimiter //;
11912--error ER_PARSE_ERROR
11913CREATE PROCEDURE sp1( )
11914BEGIN
11915    declare exists condition for sqlstate '02000';
11916    declare exit handler for exists set @var2 = 1;
11917END//
11918delimiter ;//
11919
11920DROP PROCEDURE IF EXISTS sp1;
11921
11922delimiter //;
11923--error ER_PARSE_ERROR
11924CREATE PROCEDURE sp1( )
11925BEGIN
11926    declare exit condition for sqlstate '02000';
11927    declare exit handler for exit set @var2 = 1;
11928END//
11929delimiter ;//
11930
11931DROP PROCEDURE IF EXISTS sp1;
11932
11933delimiter //;
11934--error ER_PARSE_ERROR
11935CREATE PROCEDURE sp1( )
11936BEGIN
11937    declare explain condition for sqlstate '02000';
11938    declare exit handler for explain set @var2 = 1;
11939END//
11940delimiter ;//
11941
11942DROP PROCEDURE IF EXISTS sp1;
11943
11944delimiter //;
11945--error ER_PARSE_ERROR
11946CREATE PROCEDURE sp1( )
11947BEGIN
11948    declare false condition for sqlstate '02000';
11949    declare exit handler for false set @var2 = 1;
11950END//
11951delimiter ;//
11952
11953DROP PROCEDURE IF EXISTS sp1;
11954
11955delimiter //;
11956--error ER_PARSE_ERROR
11957CREATE PROCEDURE sp1( )
11958BEGIN
11959    declare fetch condition for sqlstate '02000';
11960    declare exit handler for fetch set @var2 = 1;
11961END//
11962delimiter ;//
11963
11964DROP PROCEDURE IF EXISTS sp1;
11965
11966delimiter //;
11967--error ER_PARSE_ERROR
11968CREATE PROCEDURE sp1( )
11969BEGIN
11970    declare float condition for sqlstate '02000';
11971    declare exit handler for float set @var2 = 1;
11972END//
11973delimiter ;//
11974
11975DROP PROCEDURE IF EXISTS sp1;
11976
11977delimiter //;
11978--error ER_PARSE_ERROR
11979CREATE PROCEDURE sp1( )
11980BEGIN
11981    declare float4 condition for sqlstate '02000';
11982    declare exit handler for add set @var2 = 1;
11983END//
11984delimiter ;//
11985
11986DROP PROCEDURE IF EXISTS sp1;
11987
11988delimiter //;
11989--error ER_PARSE_ERROR
11990CREATE PROCEDURE sp1( )
11991BEGIN
11992    declare float8 condition for sqlstate '02000';
11993    declare exit handler for add set @var2 = 1;
11994END//
11995delimiter ;//
11996
11997DROP PROCEDURE IF EXISTS sp1;
11998
11999delimiter //;
12000--error ER_PARSE_ERROR
12001CREATE PROCEDURE sp1( )
12002BEGIN
12003    declare for condition for sqlstate '02000';
12004    declare exit handler for for set @var2 = 1;
12005END//
12006delimiter ;//
12007
12008DROP PROCEDURE IF EXISTS sp1;
12009
12010delimiter //;
12011--error ER_PARSE_ERROR
12012CREATE PROCEDURE sp1( )
12013BEGIN
12014    declare force condition for sqlstate '02000';
12015    declare exit handler for force set @var2 = 1;
12016END//
12017delimiter ;//
12018
12019DROP PROCEDURE IF EXISTS sp1;
12020
12021delimiter //;
12022--error ER_PARSE_ERROR
12023CREATE PROCEDURE sp1( )
12024BEGIN
12025    declare foreign condition for sqlstate '02000';
12026    declare exit handler for foreign set @var2 = 1;
12027END//
12028delimiter ;//
12029
12030DROP PROCEDURE IF EXISTS sp1;
12031
12032delimiter //;
12033--error ER_PARSE_ERROR
12034CREATE PROCEDURE sp1( )
12035BEGIN
12036    declare from condition for sqlstate '02000';
12037    declare exit handler for from set @var2 = 1;
12038END//
12039delimiter ;//
12040
12041DROP PROCEDURE IF EXISTS sp1;
12042
12043delimiter //;
12044--error ER_PARSE_ERROR
12045CREATE PROCEDURE sp1( )
12046BEGIN
12047    declare fulltext condition for sqlstate '02000';
12048    declare exit handler for fulltext set @var2 = 1;
12049END//
12050delimiter ;//
12051
12052DROP PROCEDURE IF EXISTS sp1;
12053
12054delimiter //;
12055--error ER_PARSE_ERROR
12056CREATE PROCEDURE sp1( )
12057BEGIN
12058    declare grant condition for sqlstate '02000';
12059    declare exit handler for grant set @var2 = 1;
12060END//
12061delimiter ;//
12062
12063DROP PROCEDURE IF EXISTS sp1;
12064
12065delimiter //;
12066--error ER_PARSE_ERROR
12067CREATE PROCEDURE sp1( )
12068BEGIN
12069    declare group condition for sqlstate '02000';
12070    declare exit handler for group set @var2 = 1;
12071END//
12072delimiter ;//
12073
12074DROP PROCEDURE IF EXISTS sp1;
12075
12076delimiter //;
12077--error ER_PARSE_ERROR
12078CREATE PROCEDURE sp1( )
12079BEGIN
12080    declare having condition for sqlstate '02000';
12081    declare exit handler for having set @var2 = 1;
12082END//
12083delimiter ;//
12084
12085DROP PROCEDURE IF EXISTS sp1;
12086
12087delimiter //;
12088--error ER_PARSE_ERROR
12089CREATE PROCEDURE sp1( )
12090BEGIN
12091    declare high_priority condition for sqlstate '02000';
12092    declare exit handler for high_priority set @var2 = 1;
12093END//
12094delimiter ;//
12095
12096DROP PROCEDURE IF EXISTS sp1;
12097
12098delimiter //;
12099--error ER_PARSE_ERROR
12100CREATE PROCEDURE sp1( )
12101BEGIN
12102    declare hour_microsecond condition for sqlstate '02000';
12103    declare exit handler for hour_microsecond set @var2 = 1;
12104END//
12105delimiter ;//
12106
12107DROP PROCEDURE IF EXISTS sp1;
12108
12109delimiter //;
12110--error ER_PARSE_ERROR
12111CREATE PROCEDURE sp1( )
12112BEGIN
12113    declare hour_minute condition for sqlstate '02000';
12114    declare exit handler for hour_minute set @var2 = 1;
12115END//
12116delimiter ;//
12117
12118DROP PROCEDURE IF EXISTS sp1;
12119
12120delimiter //;
12121--error ER_PARSE_ERROR
12122CREATE PROCEDURE sp1( )
12123BEGIN
12124    declare hour_second condition for sqlstate '02000';
12125    declare exit handler for hour_second set @var2 = 1;
12126END//
12127delimiter ;//
12128
12129DROP PROCEDURE IF EXISTS sp1;
12130
12131delimiter //;
12132--error ER_PARSE_ERROR
12133CREATE PROCEDURE sp1( )
12134BEGIN
12135    declare if condition for sqlstate '02000';
12136    declare exit handler for if set @var2 = 1;
12137END//
12138delimiter ;//
12139
12140DROP PROCEDURE IF EXISTS sp1;
12141
12142delimiter //;
12143--error ER_PARSE_ERROR
12144CREATE PROCEDURE sp1( )
12145BEGIN
12146    declare ignore condition for sqlstate '02000';
12147    declare exit handler for ignore set @var2 = 1;
12148END//
12149delimiter ;//
12150
12151DROP PROCEDURE IF EXISTS sp1;
12152
12153delimiter //;
12154--error ER_PARSE_ERROR
12155CREATE PROCEDURE sp1( )
12156BEGIN
12157    declare in condition for sqlstate '02000';
12158    declare exit handler for in set @var2 = 1;
12159END//
12160delimiter ;//
12161
12162DROP PROCEDURE IF EXISTS sp1;
12163
12164delimiter //;
12165--error ER_PARSE_ERROR
12166CREATE PROCEDURE sp1( )
12167BEGIN
12168    declare index condition for sqlstate '02000';
12169    declare exit handler for index set @var2 = 1;
12170END//
12171delimiter ;//
12172
12173DROP PROCEDURE IF EXISTS sp1;
12174
12175delimiter //;
12176--error ER_PARSE_ERROR
12177CREATE PROCEDURE sp1( )
12178BEGIN
12179    declare infile condition for sqlstate '02000';
12180    declare exit handler for infile set @var2 = 1;
12181END//
12182delimiter ;//
12183
12184DROP PROCEDURE IF EXISTS sp1;
12185
12186delimiter //;
12187--error ER_PARSE_ERROR
12188CREATE PROCEDURE sp1( )
12189BEGIN
12190    declare inner condition for sqlstate '02000';
12191    declare exit handler for inner set @var2 = 1;
12192END//
12193delimiter ;//
12194
12195DROP PROCEDURE IF EXISTS sp1;
12196
12197delimiter //;
12198--error ER_PARSE_ERROR
12199CREATE PROCEDURE sp1( )
12200BEGIN
12201    declare inout condition for sqlstate '02000';
12202    declare exit handler for inout set @var2 = 1;
12203END//
12204delimiter ;//
12205
12206DROP PROCEDURE IF EXISTS sp1;
12207
12208delimiter //;
12209--error ER_PARSE_ERROR
12210CREATE PROCEDURE sp1( )
12211BEGIN
12212    declare insensitive condition for sqlstate '02000';
12213    declare exit handler for insensitive set @var2 = 1;
12214END//
12215delimiter ;//
12216
12217DROP PROCEDURE IF EXISTS sp1;
12218
12219delimiter //;
12220--error ER_PARSE_ERROR
12221CREATE PROCEDURE sp1( )
12222BEGIN
12223    declare insert condition for sqlstate '02000';
12224    declare exit handler for insert set @var2 = 1;
12225END//
12226delimiter ;//
12227
12228DROP PROCEDURE IF EXISTS sp1;
12229
12230delimiter //;
12231--error ER_PARSE_ERROR
12232CREATE PROCEDURE sp1( )
12233BEGIN
12234    declare int condition for sqlstate '02000';
12235    declare exit handler for int set @var2 = 1;
12236END//
12237delimiter ;//
12238
12239DROP PROCEDURE IF EXISTS sp1;
12240
12241delimiter //;
12242--error ER_PARSE_ERROR
12243CREATE PROCEDURE sp1( )
12244BEGIN
12245    declare int1 condition for sqlstate '02000';
12246    declare exit handler for int set @var2 = 1;
12247END//
12248delimiter ;//
12249
12250DROP PROCEDURE IF EXISTS sp1;
12251
12252delimiter //;
12253--error ER_PARSE_ERROR
12254CREATE PROCEDURE sp1( )
12255BEGIN
12256    declare int2 condition for sqlstate '02000';
12257    declare exit handler for int set @var2 = 1;
12258END//
12259delimiter ;//
12260
12261DROP PROCEDURE IF EXISTS sp1;
12262
12263delimiter //;
12264--error ER_PARSE_ERROR
12265CREATE PROCEDURE sp1( )
12266BEGIN
12267    declare int3 condition for sqlstate '02000';
12268    declare exit handler for int set @var2 = 1;
12269END//
12270delimiter ;//
12271
12272DROP PROCEDURE IF EXISTS sp1;
12273
12274delimiter //;
12275--error ER_PARSE_ERROR
12276CREATE PROCEDURE sp1( )
12277BEGIN
12278    declare int4 condition for sqlstate '02000';
12279    declare exit handler for int set @var2 = 1;
12280END//
12281delimiter ;//
12282
12283DROP PROCEDURE IF EXISTS sp1;
12284
12285delimiter //;
12286--error ER_PARSE_ERROR
12287CREATE PROCEDURE sp1( )
12288BEGIN
12289    declare int8 condition for sqlstate '02000';
12290    declare exit handler for int set @var2 = 1;
12291END//
12292delimiter ;//
12293
12294DROP PROCEDURE IF EXISTS sp1;
12295
12296delimiter //;
12297--error ER_PARSE_ERROR
12298CREATE PROCEDURE sp1( )
12299BEGIN
12300    declare integer condition for sqlstate '02000';
12301    declare exit handler for integer set @var2 = 1;
12302END//
12303delimiter ;//
12304
12305DROP PROCEDURE IF EXISTS sp1;
12306
12307delimiter //;
12308--error ER_PARSE_ERROR
12309CREATE PROCEDURE sp1( )
12310BEGIN
12311    declare interval condition for sqlstate '02000';
12312    declare exit handler for interval set @var2 = 1;
12313END//
12314delimiter ;//
12315
12316DROP PROCEDURE IF EXISTS sp1;
12317
12318delimiter //;
12319--error ER_PARSE_ERROR
12320CREATE PROCEDURE sp1( )
12321BEGIN
12322    declare into condition for sqlstate '02000';
12323    declare exit handler for into set @var2 = 1;
12324END//
12325delimiter ;//
12326
12327DROP PROCEDURE IF EXISTS sp1;
12328
12329delimiter //;
12330--error ER_PARSE_ERROR
12331CREATE PROCEDURE sp1( )
12332BEGIN
12333    declare is condition for sqlstate '02000';
12334    declare exit handler for is set @var2 = 1;
12335END//
12336delimiter ;//
12337
12338DROP PROCEDURE IF EXISTS sp1;
12339
12340delimiter //;
12341--error ER_PARSE_ERROR
12342CREATE PROCEDURE sp1( )
12343BEGIN
12344    declare iterate condition for sqlstate '02000';
12345    declare exit handler for iterate set @var2 = 1;
12346END//
12347delimiter ;//
12348
12349DROP PROCEDURE IF EXISTS sp1;
12350
12351delimiter //;
12352--error ER_PARSE_ERROR
12353CREATE PROCEDURE sp1( )
12354BEGIN
12355    declare join condition for sqlstate '02000';
12356    declare exit handler for join set @var2 = 1;
12357END//
12358delimiter ;//
12359
12360DROP PROCEDURE IF EXISTS sp1;
12361
12362delimiter //;
12363--error ER_PARSE_ERROR
12364CREATE PROCEDURE sp1( )
12365BEGIN
12366    declare key condition for sqlstate '02000';
12367    declare exit handler for key set @var2 = 1;
12368END//
12369delimiter ;//
12370
12371DROP PROCEDURE IF EXISTS sp1;
12372
12373delimiter //;
12374--error ER_PARSE_ERROR
12375CREATE PROCEDURE sp1( )
12376BEGIN
12377    declare keys condition for sqlstate '02000';
12378    declare exit handler for keys set @var2 = 1;
12379END//
12380delimiter ;//
12381
12382DROP PROCEDURE IF EXISTS sp1;
12383
12384delimiter //;
12385--error ER_PARSE_ERROR
12386CREATE PROCEDURE sp1( )
12387BEGIN
12388    declare kill condition for sqlstate '02000';
12389    declare exit handler for kill set @var2 = 1;
12390END//
12391delimiter ;//
12392
12393DROP PROCEDURE IF EXISTS sp1;
12394
12395delimiter //;
12396--error ER_PARSE_ERROR
12397CREATE PROCEDURE sp1( )
12398BEGIN
12399    declare leading condition for sqlstate '02000';
12400    declare exit handler for leading set @var2 = 1;
12401END//
12402delimiter ;//
12403
12404DROP PROCEDURE IF EXISTS sp1;
12405
12406delimiter //;
12407--error ER_PARSE_ERROR
12408CREATE PROCEDURE sp1( )
12409BEGIN
12410    declare leave condition for sqlstate '02000';
12411    declare exit handler for leave set @var2 = 1;
12412END//
12413delimiter ;//
12414
12415DROP PROCEDURE IF EXISTS sp1;
12416
12417delimiter //;
12418--error ER_PARSE_ERROR
12419CREATE PROCEDURE sp1( )
12420BEGIN
12421    declare left condition for sqlstate '02000';
12422    declare exit handler for left set @var2 = 1;
12423END//
12424delimiter ;//
12425
12426DROP PROCEDURE IF EXISTS sp1;
12427
12428delimiter //;
12429--error ER_PARSE_ERROR
12430CREATE PROCEDURE sp1( )
12431BEGIN
12432    declare like condition for sqlstate '02000';
12433    declare exit handler for like set @var2 = 1;
12434END//
12435delimiter ;//
12436
12437DROP PROCEDURE IF EXISTS sp1;
12438
12439delimiter //;
12440--error ER_PARSE_ERROR
12441CREATE PROCEDURE sp1( )
12442BEGIN
12443    declare limit condition for sqlstate '02000';
12444    declare exit handler for limit set @var2 = 1;
12445END//
12446delimiter ;//
12447
12448DROP PROCEDURE IF EXISTS sp1;
12449
12450delimiter //;
12451--error ER_PARSE_ERROR
12452CREATE PROCEDURE sp1( )
12453BEGIN
12454    declare linear condition for sqlstate '02000';
12455    declare exit handler for int set @var2 = 1;
12456END//
12457delimiter ;//
12458
12459DROP PROCEDURE IF EXISTS sp1;
12460
12461delimiter //;
12462--error ER_PARSE_ERROR
12463CREATE PROCEDURE sp1( )
12464BEGIN
12465    declare lines condition for sqlstate '02000';
12466    declare exit handler for lines set @var2 = 1;
12467END//
12468delimiter ;//
12469
12470DROP PROCEDURE IF EXISTS sp1;
12471
12472delimiter //;
12473--error ER_PARSE_ERROR
12474CREATE PROCEDURE sp1( )
12475BEGIN
12476    declare load condition for sqlstate '02000';
12477    declare exit handler for load set @var2 = 1;
12478END//
12479delimiter ;//
12480
12481DROP PROCEDURE IF EXISTS sp1;
12482
12483delimiter //;
12484--error ER_PARSE_ERROR
12485CREATE PROCEDURE sp1( )
12486BEGIN
12487    declare localtime condition for sqlstate '02000';
12488    declare exit handler for localtime set @var2 = 1;
12489END//
12490delimiter ;//
12491
12492DROP PROCEDURE IF EXISTS sp1;
12493
12494delimiter //;
12495--error ER_PARSE_ERROR
12496CREATE PROCEDURE sp1( )
12497BEGIN
12498    declare localtimestamp condition for sqlstate '02000';
12499    declare exit handler for localtimestamp set @var2 = 1;
12500END//
12501delimiter ;//
12502
12503DROP PROCEDURE IF EXISTS sp1;
12504
12505delimiter //;
12506--error ER_PARSE_ERROR
12507CREATE PROCEDURE sp1( )
12508BEGIN
12509    declare lock condition for sqlstate '02000';
12510    declare exit handler for lock set @var2 = 1;
12511END//
12512delimiter ;//
12513
12514DROP PROCEDURE IF EXISTS sp1;
12515
12516delimiter //;
12517--error ER_PARSE_ERROR
12518CREATE PROCEDURE sp1( )
12519BEGIN
12520    declare long condition for sqlstate '02000';
12521    declare exit handler for long set @var2 = 1;
12522END//
12523delimiter ;//
12524
12525DROP PROCEDURE IF EXISTS sp1;
12526
12527delimiter //;
12528--error ER_PARSE_ERROR
12529CREATE PROCEDURE sp1( )
12530BEGIN
12531    declare longblob condition for sqlstate '02000';
12532    declare exit handler for longblob set @var2 = 1;
12533END//
12534delimiter ;//
12535
12536DROP PROCEDURE IF EXISTS sp1;
12537
12538delimiter //;
12539--error ER_PARSE_ERROR
12540CREATE PROCEDURE sp1( )
12541BEGIN
12542    declare longtext condition for sqlstate '02000';
12543    declare exit handler for longtext set @var2 = 1;
12544END//
12545delimiter ;//
12546
12547DROP PROCEDURE IF EXISTS sp1;
12548
12549delimiter //;
12550--error ER_PARSE_ERROR
12551CREATE PROCEDURE sp1( )
12552BEGIN
12553    declare loop condition for sqlstate '02000';
12554    declare exit handler for loop set @var2 = 1;
12555END//
12556delimiter ;//
12557
12558DROP PROCEDURE IF EXISTS sp1;
12559
12560delimiter //;
12561--error ER_PARSE_ERROR
12562CREATE PROCEDURE sp1( )
12563BEGIN
12564    declare low_priority condition for sqlstate '02000';
12565    declare exit handler for low_priority set @var2 = 1;
12566END//
12567delimiter ;//
12568
12569DROP PROCEDURE IF EXISTS sp1;
12570
12571delimiter //;
12572--error ER_PARSE_ERROR
12573CREATE PROCEDURE sp1( )
12574BEGIN
12575    declare master_ssl_verify_server_cert condition for sqlstate '02000';
12576    declare exit handler for int set @var2 = 1;
12577END//
12578delimiter ;//
12579
12580DROP PROCEDURE IF EXISTS sp1;
12581
12582delimiter //;
12583--error ER_PARSE_ERROR
12584CREATE PROCEDURE sp1( )
12585BEGIN
12586    declare match condition for sqlstate '02000';
12587    declare exit handler for match set @var2 = 1;
12588END//
12589delimiter ;//
12590
12591DROP PROCEDURE IF EXISTS sp1;
12592
12593delimiter //;
12594--error ER_PARSE_ERROR
12595CREATE PROCEDURE sp1( )
12596BEGIN
12597    declare mediumblob condition for sqlstate '02000';
12598    declare exit handler for mediumblob set @var2 = 1;
12599END//
12600delimiter ;//
12601
12602DROP PROCEDURE IF EXISTS sp1;
12603
12604delimiter //;
12605--error ER_PARSE_ERROR
12606CREATE PROCEDURE sp1( )
12607BEGIN
12608    declare mediumint condition for sqlstate '02000';
12609    declare exit handler for mediumint set @var2 = 1;
12610END//
12611delimiter ;//
12612
12613DROP PROCEDURE IF EXISTS sp1;
12614
12615delimiter //;
12616--error ER_PARSE_ERROR
12617CREATE PROCEDURE sp1( )
12618BEGIN
12619    declare mediumtext condition for sqlstate '02000';
12620    declare exit handler for mediumtext set @var2 = 1;
12621END//
12622delimiter ;//
12623
12624DROP PROCEDURE IF EXISTS sp1;
12625
12626delimiter //;
12627--error ER_PARSE_ERROR
12628CREATE PROCEDURE sp1( )
12629BEGIN
12630    declare middleint condition for sqlstate '02000';
12631    declare exit handler for middleint set @var2 = 1;
12632END//
12633delimiter ;//
12634
12635DROP PROCEDURE IF EXISTS sp1;
12636
12637delimiter //;
12638--error ER_PARSE_ERROR
12639CREATE PROCEDURE sp1( )
12640BEGIN
12641    declare minute_microsecond condition for sqlstate '02000';
12642    declare exit handler for minute_microsecond set @var2 = 1;
12643END//
12644delimiter ;//
12645
12646DROP PROCEDURE IF EXISTS sp1;
12647
12648delimiter //;
12649--error ER_PARSE_ERROR
12650CREATE PROCEDURE sp1( )
12651BEGIN
12652    declare minute_second condition for sqlstate '02000';
12653    declare exit handler for minute_second set @var2 = 1;
12654END//
12655delimiter ;//
12656
12657DROP PROCEDURE IF EXISTS sp1;
12658
12659delimiter //;
12660--error ER_PARSE_ERROR
12661CREATE PROCEDURE sp1( )
12662BEGIN
12663    declare mod condition for sqlstate '02000';
12664    declare exit handler for mod set @var2 = 1;
12665END//
12666delimiter ;//
12667
12668DROP PROCEDURE IF EXISTS sp1;
12669
12670delimiter //;
12671--error ER_PARSE_ERROR
12672CREATE PROCEDURE sp1( )
12673BEGIN
12674    declare modifies condition for sqlstate '02000';
12675    declare exit handler for modifies set @var2 = 1;
12676END//
12677delimiter ;//
12678
12679DROP PROCEDURE IF EXISTS sp1;
12680
12681delimiter //;
12682--error ER_PARSE_ERROR
12683CREATE PROCEDURE sp1( )
12684BEGIN
12685    declare natural condition for sqlstate '02000';
12686    declare exit handler for natural set @var2 = 1;
12687END//
12688delimiter ;//
12689
12690DROP PROCEDURE IF EXISTS sp1;
12691
12692delimiter //;
12693--error ER_PARSE_ERROR
12694CREATE PROCEDURE sp1( )
12695BEGIN
12696    declare not condition for sqlstate '02000';
12697    declare exit handler for not set @var2 = 1;
12698END//
12699delimiter ;//
12700
12701DROP PROCEDURE IF EXISTS sp1;
12702
12703delimiter //;
12704--error ER_PARSE_ERROR
12705CREATE PROCEDURE sp1( )
12706BEGIN
12707    declare no_write_to_binlog condition for sqlstate '02000';
12708    declare exit handler for no_write_to_binlog set @var2 = 1;
12709END//
12710delimiter ;//
12711
12712DROP PROCEDURE IF EXISTS sp1;
12713
12714delimiter //;
12715--error ER_PARSE_ERROR
12716CREATE PROCEDURE sp1( )
12717BEGIN
12718    declare null condition for sqlstate '02000';
12719    declare exit handler for null set @var2 = 1;
12720END//
12721delimiter ;//
12722
12723DROP PROCEDURE IF EXISTS sp1;
12724
12725delimiter //;
12726--error ER_PARSE_ERROR
12727CREATE PROCEDURE sp1( )
12728BEGIN
12729    declare numeric condition for sqlstate '02000';
12730    declare exit handler for numeric set @var2 = 1;
12731END//
12732delimiter ;//
12733
12734DROP PROCEDURE IF EXISTS sp1;
12735
12736delimiter //;
12737--error ER_PARSE_ERROR
12738CREATE PROCEDURE sp1( )
12739BEGIN
12740    declare on condition for sqlstate '02000';
12741    declare exit handler for on set @var2 = 1;
12742END//
12743delimiter ;//
12744
12745DROP PROCEDURE IF EXISTS sp1;
12746
12747delimiter //;
12748--error ER_PARSE_ERROR
12749CREATE PROCEDURE sp1( )
12750BEGIN
12751    declare optimize condition for sqlstate '02000';
12752    declare exit handler for optimize set @var2 = 1;
12753END//
12754delimiter ;//
12755
12756DROP PROCEDURE IF EXISTS sp1;
12757
12758delimiter //;
12759CREATE PROCEDURE sp1( )
12760BEGIN
12761    declare option condition for sqlstate '02000';
12762    declare exit handler for option set @var2 = 1;
12763END//
12764delimiter ;//
12765
12766DROP PROCEDURE IF EXISTS sp1;
12767
12768delimiter //;
12769--error ER_PARSE_ERROR
12770CREATE PROCEDURE sp1( )
12771BEGIN
12772    declare optionally condition for sqlstate '02000';
12773    declare exit handler for optionally set @var2 = 1;
12774END//
12775delimiter ;//
12776
12777DROP PROCEDURE IF EXISTS sp1;
12778
12779delimiter //;
12780--error ER_PARSE_ERROR
12781CREATE PROCEDURE sp1( )
12782BEGIN
12783    declare or condition for sqlstate '02000';
12784    declare exit handler for or set @var2 = 1;
12785END//
12786delimiter ;//
12787
12788DROP PROCEDURE IF EXISTS sp1;
12789
12790delimiter //;
12791--error ER_PARSE_ERROR
12792CREATE PROCEDURE sp1( )
12793BEGIN
12794    declare order condition for sqlstate '02000';
12795    declare exit handler for order set @var2 = 1;
12796END//
12797delimiter ;//
12798
12799DROP PROCEDURE IF EXISTS sp1;
12800
12801delimiter //;
12802--error ER_PARSE_ERROR
12803CREATE PROCEDURE sp1( )
12804BEGIN
12805    declare out condition for sqlstate '02000';
12806    declare exit handler for out set @var2 = 1;
12807END//
12808delimiter ;//
12809
12810DROP PROCEDURE IF EXISTS sp1;
12811
12812delimiter //;
12813--error ER_PARSE_ERROR
12814CREATE PROCEDURE sp1( )
12815BEGIN
12816    declare outer condition for sqlstate '02000';
12817    declare exit handler for outer set @var2 = 1;
12818END//
12819delimiter ;//
12820
12821DROP PROCEDURE IF EXISTS sp1;
12822
12823delimiter //;
12824--error ER_PARSE_ERROR
12825CREATE PROCEDURE sp1( )
12826BEGIN
12827    declare outfile condition for sqlstate '02000';
12828    declare exit handler for outfile set @var2 = 1;
12829END//
12830delimiter ;//
12831
12832DROP PROCEDURE IF EXISTS sp1;
12833
12834delimiter //;
12835--error ER_PARSE_ERROR
12836CREATE PROCEDURE sp1( )
12837BEGIN
12838    declare precision condition for sqlstate '02000';
12839    declare exit handler for precision set @var2 = 1;
12840END//
12841delimiter ;//
12842
12843DROP PROCEDURE IF EXISTS sp1;
12844
12845delimiter //;
12846--error ER_PARSE_ERROR
12847CREATE PROCEDURE sp1( )
12848BEGIN
12849    declare primary condition for sqlstate '02000';
12850    declare exit handler for primary set @var2 = 1;
12851END//
12852delimiter ;//
12853
12854DROP PROCEDURE IF EXISTS sp1;
12855
12856delimiter //;
12857--error ER_PARSE_ERROR
12858CREATE PROCEDURE sp1( )
12859BEGIN
12860    declare procedure condition for sqlstate '02000';
12861    declare exit handler for procedure set @var2 = 1;
12862END//
12863delimiter ;//
12864
12865DROP PROCEDURE IF EXISTS sp1;
12866
12867delimiter //;
12868--error ER_PARSE_ERROR
12869CREATE PROCEDURE sp1( )
12870BEGIN
12871    declare purge condition for sqlstate '02000';
12872    declare exit handler for purge set @var2 = 1;
12873END//
12874delimiter ;//
12875
12876DROP PROCEDURE IF EXISTS sp1;
12877
12878delimiter //;
12879--error ER_PARSE_ERROR
12880CREATE PROCEDURE sp1( )
12881BEGIN
12882    declare range condition for sqlstate '02000';
12883    declare exit handler for int set @var2 = 1;
12884END//
12885delimiter ;//
12886
12887DROP PROCEDURE IF EXISTS sp1;
12888
12889delimiter //;
12890--error ER_PARSE_ERROR
12891CREATE PROCEDURE sp1( )
12892BEGIN
12893    declare read condition for sqlstate '02000';
12894    declare exit handler for read set @var2 = 1;
12895END//
12896delimiter ;//
12897
12898DROP PROCEDURE IF EXISTS sp1;
12899
12900delimiter //;
12901--error ER_PARSE_ERROR
12902CREATE PROCEDURE sp1( )
12903BEGIN
12904    declare reads condition for sqlstate '02000';
12905    declare exit handler for reads set @var2 = 1;
12906END//
12907delimiter ;//
12908
12909DROP PROCEDURE IF EXISTS sp1;
12910
12911delimiter //;
12912--error ER_PARSE_ERROR
12913CREATE PROCEDURE sp1( )
12914BEGIN
12915    declare read_only condition for sqlstate '02000';
12916    declare exit handler for int set @var2 = 1;
12917END//
12918delimiter ;//
12919
12920DROP PROCEDURE IF EXISTS sp1;
12921
12922delimiter //;
12923--error ER_PARSE_ERROR
12924CREATE PROCEDURE sp1( )
12925BEGIN
12926    declare read_write condition for sqlstate '02000';
12927    declare exit handler for int set @var2 = 1;
12928END//
12929delimiter ;//
12930
12931DROP PROCEDURE IF EXISTS sp1;
12932
12933delimiter //;
12934--error ER_PARSE_ERROR
12935CREATE PROCEDURE sp1( )
12936BEGIN
12937    declare real condition for sqlstate '02000';
12938    declare exit handler for real set @var2 = 1;
12939END//
12940delimiter ;//
12941
12942DROP PROCEDURE IF EXISTS sp1;
12943
12944delimiter //;
12945--error ER_PARSE_ERROR
12946CREATE PROCEDURE sp1( )
12947BEGIN
12948    declare references condition for sqlstate '02000';
12949    declare exit handler for references set @var2 = 1;
12950END//
12951delimiter ;//
12952
12953DROP PROCEDURE IF EXISTS sp1;
12954
12955delimiter //;
12956--error ER_PARSE_ERROR
12957CREATE PROCEDURE sp1( )
12958BEGIN
12959    declare regexp condition for sqlstate '02000';
12960    declare exit handler for regexp set @var2 = 1;
12961END//
12962delimiter ;//
12963
12964DROP PROCEDURE IF EXISTS sp1;
12965
12966delimiter //;
12967--error ER_PARSE_ERROR
12968CREATE PROCEDURE sp1( )
12969BEGIN
12970    declare release condition for sqlstate '02000';
12971    declare exit handler for int set @var2 = 1;
12972END//
12973delimiter ;//
12974
12975DROP PROCEDURE IF EXISTS sp1;
12976
12977delimiter //;
12978--error ER_PARSE_ERROR
12979CREATE PROCEDURE sp1( )
12980BEGIN
12981    declare rename condition for sqlstate '02000';
12982    declare exit handler for rename set @var2 = 1;
12983END//
12984delimiter ;//
12985
12986DROP PROCEDURE IF EXISTS sp1;
12987
12988delimiter //;
12989--error ER_PARSE_ERROR
12990CREATE PROCEDURE sp1( )
12991BEGIN
12992    declare repeat condition for sqlstate '02000';
12993    declare exit handler for repeat set @var2 = 1;
12994END//
12995delimiter ;//
12996
12997DROP PROCEDURE IF EXISTS sp1;
12998
12999delimiter //;
13000--error ER_PARSE_ERROR
13001CREATE PROCEDURE sp1( )
13002BEGIN
13003    declare replace condition for sqlstate '02000';
13004    declare exit handler for replace set @var2 = 1;
13005END//
13006delimiter ;//
13007
13008DROP PROCEDURE IF EXISTS sp1;
13009
13010delimiter //;
13011--error ER_PARSE_ERROR
13012CREATE PROCEDURE sp1( )
13013BEGIN
13014    declare require condition for sqlstate '02000';
13015    declare exit handler for require set @var2 = 1;
13016END//
13017delimiter ;//
13018
13019DROP PROCEDURE IF EXISTS sp1;
13020
13021delimiter //;
13022--error ER_PARSE_ERROR
13023CREATE PROCEDURE sp1( )
13024BEGIN
13025    declare restrict condition for sqlstate '02000';
13026    declare exit handler for restrict set @var2 = 1;
13027END//
13028delimiter ;//
13029
13030DROP PROCEDURE IF EXISTS sp1;
13031
13032delimiter //;
13033--error ER_PARSE_ERROR
13034CREATE PROCEDURE sp1( )
13035BEGIN
13036    declare return condition for sqlstate '02000';
13037    declare exit handler for return set @var2 = 1;
13038END//
13039delimiter ;//
13040
13041DROP PROCEDURE IF EXISTS sp1;
13042
13043delimiter //;
13044--error ER_PARSE_ERROR
13045CREATE PROCEDURE sp1( )
13046BEGIN
13047    declare revoke condition for sqlstate '02000';
13048    declare exit handler for revoke set @var2 = 1;
13049END//
13050delimiter ;//
13051
13052DROP PROCEDURE IF EXISTS sp1;
13053
13054delimiter //;
13055--error ER_PARSE_ERROR
13056CREATE PROCEDURE sp1( )
13057BEGIN
13058    declare right condition for sqlstate '02000';
13059    declare exit handler for right set @var2 = 1;
13060END//
13061delimiter ;//
13062
13063DROP PROCEDURE IF EXISTS sp1;
13064
13065delimiter //;
13066--error ER_PARSE_ERROR
13067CREATE PROCEDURE sp1( )
13068BEGIN
13069    declare rlike condition for sqlstate '02000';
13070    declare exit handler for rlike set @var2 = 1;
13071END//
13072delimiter ;//
13073
13074DROP PROCEDURE IF EXISTS sp1;
13075
13076delimiter //;
13077--error ER_PARSE_ERROR
13078CREATE PROCEDURE sp1( )
13079BEGIN
13080    declare schema condition for sqlstate '02000';
13081    declare exit handler for schema set @var2 = 1;
13082END//
13083delimiter ;//
13084
13085DROP PROCEDURE IF EXISTS sp1;
13086
13087delimiter //;
13088--error ER_PARSE_ERROR
13089CREATE PROCEDURE sp1( )
13090BEGIN
13091    declare schemas condition for sqlstate '02000';
13092    declare exit handler for schemas set @var2 = 1;
13093END//
13094delimiter ;//
13095
13096DROP PROCEDURE IF EXISTS sp1;
13097
13098delimiter //;
13099--error ER_PARSE_ERROR
13100CREATE PROCEDURE sp1( )
13101BEGIN
13102    declare second_microsecond condition for sqlstate '02000';
13103    declare exit handler for second_microsecond set @var2 = 1;
13104END//
13105delimiter ;//
13106
13107DROP PROCEDURE IF EXISTS sp1;
13108
13109delimiter //;
13110--error ER_PARSE_ERROR
13111CREATE PROCEDURE sp1( )
13112BEGIN
13113    declare select condition for sqlstate '02000';
13114    declare exit handler for SELECT set @var2 = 1;
13115END//
13116delimiter ;//
13117
13118DROP PROCEDURE IF EXISTS sp1;
13119
13120delimiter //;
13121--error ER_PARSE_ERROR
13122CREATE PROCEDURE sp1( )
13123BEGIN
13124    declare sensitive condition for sqlstate '02000';
13125    declare exit handler for sensitive set @var2 = 1;
13126END//
13127delimiter ;//
13128
13129DROP PROCEDURE IF EXISTS sp1;
13130
13131delimiter //;
13132--error ER_PARSE_ERROR
13133CREATE PROCEDURE sp1( )
13134BEGIN
13135    declare separator condition for sqlstate '02000';
13136    declare exit handler for separator set @var2 = 1;
13137END//
13138delimiter ;//
13139
13140DROP PROCEDURE IF EXISTS sp1;
13141
13142delimiter //;
13143--error ER_PARSE_ERROR
13144CREATE PROCEDURE sp1( )
13145BEGIN
13146    declare set condition for sqlstate '02000';
13147    declare exit handler for set set @var2 = 1;
13148END//
13149delimiter ;//
13150
13151DROP PROCEDURE IF EXISTS sp1;
13152
13153delimiter //;
13154--error ER_PARSE_ERROR
13155CREATE PROCEDURE sp1( )
13156BEGIN
13157    declare show condition for sqlstate '02000';
13158    declare exit handler for show set @var2 = 1;
13159END//
13160delimiter ;//
13161
13162DROP PROCEDURE IF EXISTS sp1;
13163
13164delimiter //;
13165--error ER_PARSE_ERROR
13166CREATE PROCEDURE sp1( )
13167BEGIN
13168    declare smallint condition for sqlstate '02000';
13169    declare exit handler for smallint set @var2 = 1;
13170END//
13171delimiter ;//
13172
13173DROP PROCEDURE IF EXISTS sp1;
13174
13175delimiter //;
13176--error ER_PARSE_ERROR
13177CREATE PROCEDURE sp1( )
13178BEGIN
13179    declare spatial condition for sqlstate '02000';
13180    declare exit handler for spatial set @var2 = 1;
13181END//
13182delimiter ;//
13183
13184DROP PROCEDURE IF EXISTS sp1;
13185
13186delimiter //;
13187--error ER_PARSE_ERROR
13188CREATE PROCEDURE sp1( )
13189BEGIN
13190    declare specific condition for sqlstate '02000';
13191    declare exit handler for specific set @var2 = 1;
13192END//
13193delimiter ;//
13194
13195DROP PROCEDURE IF EXISTS sp1;
13196
13197delimiter //;
13198--error ER_PARSE_ERROR
13199CREATE PROCEDURE sp1( )
13200BEGIN
13201    declare sql condition for sqlstate '02000';
13202    declare exit handler for sql set @var2 = 1;
13203END//
13204delimiter ;//
13205
13206DROP PROCEDURE IF EXISTS sp1;
13207
13208delimiter //;
13209--error ER_PARSE_ERROR
13210CREATE PROCEDURE sp1( )
13211BEGIN
13212    declare sqlexception condition for sqlstate '02000';
13213    declare exit handler for sqlexception set @var2 = 1;
13214END//
13215delimiter ;//
13216
13217DROP PROCEDURE IF EXISTS sp1;
13218
13219delimiter //;
13220--error ER_PARSE_ERROR
13221CREATE PROCEDURE sp1( )
13222BEGIN
13223    declare sqlstate condition for sqlstate '02000';
13224    declare exit handler for sqlstate set @var2 = 1;
13225END//
13226delimiter ;//
13227
13228DROP PROCEDURE IF EXISTS sp1;
13229
13230delimiter //;
13231--error ER_PARSE_ERROR
13232CREATE PROCEDURE sp1( )
13233BEGIN
13234    declare sqlwarning condition for sqlstate '02000';
13235    declare exit handler for sqlwarning set @var2 = 1;
13236END//
13237delimiter ;//
13238
13239DROP PROCEDURE IF EXISTS sp1;
13240
13241delimiter //;
13242--error ER_PARSE_ERROR
13243CREATE PROCEDURE sp1( )
13244BEGIN
13245    declare sql_big_result condition for sqlstate '02000';
13246    declare exit handler for sql_big_result set @var2 = 1;
13247END//
13248delimiter ;//
13249
13250DROP PROCEDURE IF EXISTS sp1;
13251
13252delimiter //;
13253--error ER_PARSE_ERROR
13254CREATE PROCEDURE sp1( )
13255BEGIN
13256    declare sql_calc_found_rows condition for sqlstate '02000';
13257    declare exit handler for sql_calc_found_rows set @var2 = 1;
13258END//
13259delimiter ;//
13260
13261DROP PROCEDURE IF EXISTS sp1;
13262
13263delimiter //;
13264--error ER_PARSE_ERROR
13265CREATE PROCEDURE sp1( )
13266BEGIN
13267    declare sql_small_result condition for sqlstate '02000';
13268    declare exit handler for sql_small_result set @var2 = 1;
13269END//
13270delimiter ;//
13271
13272DROP PROCEDURE IF EXISTS sp1;
13273
13274delimiter //;
13275--error ER_PARSE_ERROR
13276CREATE PROCEDURE sp1( )
13277BEGIN
13278    declare ssl condition for sqlstate '02000';
13279    declare exit handler for ssl set @var2 = 1;
13280END//
13281delimiter ;//
13282
13283DROP PROCEDURE IF EXISTS sp1;
13284
13285delimiter //;
13286--error ER_PARSE_ERROR
13287CREATE PROCEDURE sp1( )
13288BEGIN
13289    declare starting condition for sqlstate '02000';
13290    declare exit handler for starting set @var2 = 1;
13291END//
13292delimiter ;//
13293
13294DROP PROCEDURE IF EXISTS sp1;
13295
13296delimiter //;
13297--error ER_PARSE_ERROR
13298CREATE PROCEDURE sp1( )
13299BEGIN
13300    declare straight_join condition for sqlstate '02000';
13301    declare exit handler for straight_join set @var2 = 1;
13302END//
13303delimiter ;//
13304
13305DROP PROCEDURE IF EXISTS sp1;
13306
13307delimiter //;
13308--error ER_PARSE_ERROR
13309CREATE PROCEDURE sp1( )
13310BEGIN
13311    declare table condition for sqlstate '02000';
13312    declare exit handler for table set @var2 = 1;
13313END//
13314delimiter ;//
13315
13316DROP PROCEDURE IF EXISTS sp1;
13317
13318delimiter //;
13319--error ER_PARSE_ERROR
13320CREATE PROCEDURE sp1( )
13321BEGIN
13322    declare terminated condition for sqlstate '02000';
13323    declare exit handler for terminated set @var2 = 1;
13324END//
13325delimiter ;//
13326
13327DROP PROCEDURE IF EXISTS sp1;
13328
13329delimiter //;
13330--error ER_PARSE_ERROR
13331CREATE PROCEDURE sp1( )
13332BEGIN
13333    declare then condition for sqlstate '02000';
13334    declare exit handler for then set @var2 = 1;
13335END//
13336delimiter ;//
13337
13338DROP PROCEDURE IF EXISTS sp1;
13339
13340delimiter //;
13341--error ER_PARSE_ERROR
13342CREATE PROCEDURE sp1( )
13343BEGIN
13344    declare tinyblob condition for sqlstate '02000';
13345    declare exit handler for tinyblob set @var2 = 1;
13346END//
13347delimiter ;//
13348
13349DROP PROCEDURE IF EXISTS sp1;
13350
13351delimiter //;
13352--error ER_PARSE_ERROR
13353CREATE PROCEDURE sp1( )
13354BEGIN
13355    declare tinyint condition for sqlstate '02000';
13356    declare exit handler for tinyint set @var2 = 1;
13357END//
13358delimiter ;//
13359
13360DROP PROCEDURE IF EXISTS sp1;
13361
13362delimiter //;
13363--error ER_PARSE_ERROR
13364CREATE PROCEDURE sp1( )
13365BEGIN
13366    declare tinytext condition for sqlstate '02000';
13367    declare exit handler for tinytext set @var2 = 1;
13368END//
13369delimiter ;//
13370
13371DROP PROCEDURE IF EXISTS sp1;
13372
13373delimiter //;
13374--error ER_PARSE_ERROR
13375CREATE PROCEDURE sp1( )
13376BEGIN
13377    declare to condition for sqlstate '02000';
13378    declare exit handler for to set @var2 = 1;
13379END//
13380delimiter ;//
13381
13382DROP PROCEDURE IF EXISTS sp1;
13383
13384delimiter //;
13385--error ER_PARSE_ERROR
13386CREATE PROCEDURE sp1( )
13387BEGIN
13388    declare trailing condition for sqlstate '02000';
13389    declare exit handler for trailing set @var2 = 1;
13390END//
13391delimiter ;//
13392
13393DROP PROCEDURE IF EXISTS sp1;
13394
13395delimiter //;
13396--error ER_PARSE_ERROR
13397CREATE PROCEDURE sp1( )
13398BEGIN
13399    declare trigger condition for sqlstate '02000';
13400    declare exit handler for trigger set @var2 = 1;
13401END//
13402delimiter ;//
13403
13404DROP PROCEDURE IF EXISTS sp1;
13405
13406delimiter //;
13407--error ER_PARSE_ERROR
13408CREATE PROCEDURE sp1( )
13409BEGIN
13410    declare true condition for sqlstate '02000';
13411    declare exit handler for true set @var2 = 1;
13412END//
13413delimiter ;//
13414
13415DROP PROCEDURE IF EXISTS sp1;
13416
13417delimiter //;
13418--error ER_PARSE_ERROR
13419CREATE PROCEDURE sp1( )
13420BEGIN
13421    declare undo condition for sqlstate '02000';
13422    declare exit handler for undo set @var2 = 1;
13423END//
13424delimiter ;//
13425
13426DROP PROCEDURE IF EXISTS sp1;
13427
13428delimiter //;
13429--error ER_PARSE_ERROR
13430CREATE PROCEDURE sp1( )
13431BEGIN
13432    declare union condition for sqlstate '02000';
13433    declare exit handler for union set @var2 = 1;
13434END//
13435delimiter ;//
13436
13437DROP PROCEDURE IF EXISTS sp1;
13438
13439delimiter //;
13440--error ER_PARSE_ERROR
13441CREATE PROCEDURE sp1( )
13442BEGIN
13443    declare unique condition for sqlstate '02000';
13444    declare exit handler for unique set @var2 = 1;
13445END//
13446delimiter ;//
13447
13448DROP PROCEDURE IF EXISTS sp1;
13449
13450delimiter //;
13451--error ER_PARSE_ERROR
13452CREATE PROCEDURE sp1( )
13453BEGIN
13454    declare unlock condition for sqlstate '02000';
13455    declare exit handler for unlock set @var2 = 1;
13456END//
13457delimiter ;//
13458
13459DROP PROCEDURE IF EXISTS sp1;
13460
13461delimiter //;
13462--error ER_PARSE_ERROR
13463CREATE PROCEDURE sp1( )
13464BEGIN
13465    declare unsigned condition for sqlstate '02000';
13466    declare exit handler for unsigned set @var2 = 1;
13467END//
13468delimiter ;//
13469
13470DROP PROCEDURE IF EXISTS sp1;
13471
13472delimiter //;
13473--error ER_PARSE_ERROR
13474CREATE PROCEDURE sp1( )
13475BEGIN
13476    declare update condition for sqlstate '02000';
13477    declare exit handler for update set @var2 = 1;
13478END//
13479delimiter ;//
13480
13481DROP PROCEDURE IF EXISTS sp1;
13482
13483delimiter //;
13484--error ER_PARSE_ERROR
13485CREATE PROCEDURE sp1( )
13486BEGIN
13487    declare usage condition for sqlstate '02000';
13488    declare exit handler for usage set @var2 = 1;
13489END//
13490delimiter ;//
13491
13492DROP PROCEDURE IF EXISTS sp1;
13493
13494delimiter //;
13495--error ER_PARSE_ERROR
13496CREATE PROCEDURE sp1( )
13497BEGIN
13498    declare use condition for sqlstate '02000';
13499    declare exit handler for USE set @var2 = 1;
13500END//
13501delimiter ;//
13502
13503DROP PROCEDURE IF EXISTS sp1;
13504
13505delimiter //;
13506--error ER_PARSE_ERROR
13507CREATE PROCEDURE sp1( )
13508BEGIN
13509    declare using condition for sqlstate '02000';
13510    declare exit handler for using set @var2 = 1;
13511END//
13512delimiter ;//
13513
13514DROP PROCEDURE IF EXISTS sp1;
13515
13516delimiter //;
13517--error ER_PARSE_ERROR
13518CREATE PROCEDURE sp1( )
13519BEGIN
13520    declare utc_date condition for sqlstate '02000';
13521    declare exit handler for utc_date set @var2 = 1;
13522END//
13523delimiter ;//
13524
13525DROP PROCEDURE IF EXISTS sp1;
13526
13527delimiter //;
13528--error ER_PARSE_ERROR
13529CREATE PROCEDURE sp1( )
13530BEGIN
13531    declare utc_time condition for sqlstate '02000';
13532    declare exit handler for utc_time set @var2 = 1;
13533END//
13534delimiter ;//
13535
13536DROP PROCEDURE IF EXISTS sp1;
13537
13538delimiter //;
13539--error ER_PARSE_ERROR
13540CREATE PROCEDURE sp1( )
13541BEGIN
13542    declare utc_timestamp condition for sqlstate '02000';
13543    declare exit handler for utc_timestamp set @var2 = 1;
13544END//
13545delimiter ;//
13546
13547DROP PROCEDURE IF EXISTS sp1;
13548
13549delimiter //;
13550--error ER_PARSE_ERROR
13551CREATE PROCEDURE sp1( )
13552BEGIN
13553    declare values condition for sqlstate '02000';
13554    declare exit handler for values set @var2 = 1;
13555END//
13556delimiter ;//
13557
13558DROP PROCEDURE IF EXISTS sp1;
13559
13560delimiter //;
13561--error ER_PARSE_ERROR
13562CREATE PROCEDURE sp1( )
13563BEGIN
13564    declare varbinary condition for sqlstate '02000';
13565    declare exit handler for varbinary set @var2 = 1;
13566END//
13567delimiter ;//
13568
13569DROP PROCEDURE IF EXISTS sp1;
13570
13571delimiter //;
13572--error ER_PARSE_ERROR
13573CREATE PROCEDURE sp1( )
13574BEGIN
13575    declare varchar condition for sqlstate '02000';
13576    declare exit handler for varchar set @var2 = 1;
13577END//
13578delimiter ;//
13579
13580DROP PROCEDURE IF EXISTS sp1;
13581
13582delimiter //;
13583--error ER_PARSE_ERROR
13584CREATE PROCEDURE sp1( )
13585BEGIN
13586    declare varcharacter condition for sqlstate '02000';
13587    declare exit handler for varcharacter set @var2 = 1;
13588END//
13589delimiter ;//
13590
13591DROP PROCEDURE IF EXISTS sp1;
13592
13593delimiter //;
13594--error ER_PARSE_ERROR
13595CREATE PROCEDURE sp1( )
13596BEGIN
13597    declare varying condition for sqlstate '02000';
13598    declare exit handler for varying set @var2 = 1;
13599END//
13600delimiter ;//
13601
13602DROP PROCEDURE IF EXISTS sp1;
13603
13604delimiter //;
13605--error ER_PARSE_ERROR
13606CREATE PROCEDURE sp1( )
13607BEGIN
13608    declare when condition for sqlstate '02000';
13609    declare exit handler for when set @var2 = 1;
13610END//
13611delimiter ;//
13612
13613DROP PROCEDURE IF EXISTS sp1;
13614
13615delimiter //;
13616--error ER_PARSE_ERROR
13617CREATE PROCEDURE sp1( )
13618BEGIN
13619    declare where condition for sqlstate '02000';
13620    declare exit handler for where set @var2 = 1;
13621END//
13622delimiter ;//
13623
13624DROP PROCEDURE IF EXISTS sp1;
13625
13626delimiter //;
13627--error ER_PARSE_ERROR
13628CREATE PROCEDURE sp1( )
13629BEGIN
13630    declare while condition for sqlstate '02000';
13631    declare exit handler for while set @var2 = 1;
13632END//
13633delimiter ;//
13634
13635DROP PROCEDURE IF EXISTS sp1;
13636
13637delimiter //;
13638--error ER_PARSE_ERROR
13639CREATE PROCEDURE sp1( )
13640BEGIN
13641    declare with condition for sqlstate '02000';
13642    declare exit handler for with set @var2 = 1;
13643END//
13644delimiter ;//
13645
13646DROP PROCEDURE IF EXISTS sp1;
13647
13648delimiter //;
13649--error ER_PARSE_ERROR
13650CREATE PROCEDURE sp1( )
13651BEGIN
13652    declare write condition for sqlstate '02000';
13653    declare exit handler for write set @var2 = 1;
13654END//
13655delimiter ;//
13656
13657DROP PROCEDURE IF EXISTS sp1;
13658
13659delimiter //;
13660--error ER_PARSE_ERROR
13661CREATE PROCEDURE sp1( )
13662BEGIN
13663    declare xor condition for sqlstate '02000';
13664    declare exit handler for xor set @var2 = 1;
13665END//
13666delimiter ;//
13667
13668DROP PROCEDURE IF EXISTS sp1;
13669
13670delimiter //;
13671--error ER_PARSE_ERROR
13672CREATE PROCEDURE sp1( )
13673BEGIN
13674    declare year_month condition for sqlstate '02000';
13675    declare exit handler for year_month set @var2 = 1;
13676END//
13677delimiter ;//
13678
13679DROP PROCEDURE IF EXISTS sp1;
13680
13681delimiter //;
13682--error ER_PARSE_ERROR
13683CREATE PROCEDURE sp1( )
13684BEGIN
13685    declare zerofill condition for sqlstate '02000';
13686    declare exit handler for zerofill set @var2 = 1;
13687END//
13688delimiter ;//
13689
13690# ------------------------------------------------------------------------------
13691let $message= Testcase :
13692              ----------
13693Ensure that every possible type of handler may be declared for
13694a stored procedure (continue- handler_type ).;
13695--source include/show_msg80.inc
13696
13697DROP PROCEDURE IF EXISTS sp1;
13698
13699delimiter //;
13700CREATE PROCEDURE sp1()
13701BEGIN
13702    declare continue handler for sqlstate '23000' set @x2 = 1;
13703
13704    set @x = 1;
13705
13706    insert into t2(f1) values (1);
13707
13708    set @x = 2;
13709
13710    insert into t2(f1) values (1);
13711
13712    set @x = 3;
13713END//
13714delimiter ;//
13715
13716CALL sp1();
13717
13718# cleanup
13719
13720DROP PROCEDURE sp1;
13721
13722
13723# testcase: ensure that every possible type of handler may be declared
13724#            for a stored procedure (undo - handler_type ).
13725# ?????????? undo handler not supported as of now
13726
13727
13728DROP PROCEDURE IF EXISTS handler1;
13729
13730delimiter //;
13731--error ER_PARSE_ERROR
13732CREATE PROCEDURE handler1()
13733BEGIN
13734    declare undo handler for sqlstate '23000' set @x2 = 1;
13735
13736    set @x = 1;
13737
13738    insert into t values (1);
13739
13740    set @x = 2;
13741
13742    insert into t values (1);
13743
13744    set @x = 3;
13745END//
13746delimiter ;//
13747
13748# testcase: ensure that invalid handler declarations are rejected with an
13749#            appropriate error message. (continue- handler_type).
13750
13751
13752DROP PROCEDURE IF EXISTS handler1;
13753
13754delimiter //;
13755--error ER_PARSE_ERROR
13756CREATE PROCEDURE handler1()
13757BEGIN
13758    declare continueinv handler for sqlstate '2300' set @x2 = 1;
13759
13760    set @x = 1;
13761
13762    insert into t values (1);
13763
13764    set @x = 2;
13765
13766    insert into t values (1);
13767
13768    set @x = 3;
13769END//
13770delimiter ;//
13771
13772# testcase: ensure that invalid handler declarations are rejected with
13773#            an appropriate error message (undo - handler_type ).
13774
13775
13776DROP PROCEDURE IF EXISTS handler1;
13777
13778delimiter //;
13779--error ER_PARSE_ERROR
13780CREATE PROCEDURE handler1()
13781BEGIN
13782    declare undoinv handler for sqlstate '2300' set @x2 = 1;
13783
13784    set @x = 1;
13785
13786    insert into t values (1);
13787
13788    set @x = 2;
13789
13790    insert into t values (1);
13791
13792    set @x = 3;
13793END//
13794delimiter ;//
13795
13796# testcase: ensure that invalid handler declarations are rejected with an
13797#            appropriate error message (exit- handler_type )
13798
13799
13800DROP PROCEDURE IF EXISTS handler1;
13801
13802delimiter //;
13803--error ER_PARSE_ERROR
13804CREATE PROCEDURE handler1 ()
13805BEGIN
13806    declare exitinv handler for sqlstate '2300' set @x2 = 1;
13807
13808    set @x = 1;
13809
13810    insert into t values (1);
13811
13812    set @x = 2;
13813
13814    insert into t values (1);
13815
13816    set @x = 3;
13817END//
13818delimiter ;//
13819
13820DROP PROCEDURE IF EXISTS sp1;
13821
13822delimiter //;
13823--error ER_PARSE_ERROR
13824CREATE PROCEDURE sp1( )
13825BEGIN
13826    declare accessible handler for sqlstate '02000' set @var2 = 1;
13827END//
13828delimiter ;//
13829
13830DROP PROCEDURE IF EXISTS sp1;
13831
13832delimiter //;
13833--error ER_PARSE_ERROR
13834CREATE PROCEDURE sp1( )
13835BEGIN
13836    declare add handler for sqlstate '02000' set @var2 = 1;
13837END//
13838delimiter ;//
13839
13840DROP PROCEDURE IF EXISTS sp1;
13841
13842delimiter //;
13843--error ER_PARSE_ERROR
13844CREATE PROCEDURE sp1( )
13845BEGIN
13846    declare all handler for sqlstate '02000' set @var2 = 1;
13847END//
13848delimiter ;//
13849
13850DROP PROCEDURE IF EXISTS sp1;
13851
13852delimiter //;
13853--error ER_PARSE_ERROR
13854CREATE PROCEDURE sp1( )
13855BEGIN
13856    declare alter handler for sqlstate '02000' set @var2 = 1;
13857END//
13858delimiter ;//
13859
13860DROP PROCEDURE IF EXISTS sp1;
13861
13862delimiter //;
13863--error ER_PARSE_ERROR
13864CREATE PROCEDURE sp1( )
13865BEGIN
13866    declare analyze handler for sqlstate '02000' set @var2 = 1;
13867END//
13868delimiter ;//
13869
13870DROP PROCEDURE IF EXISTS sp1;
13871
13872delimiter //;
13873--error ER_PARSE_ERROR
13874CREATE PROCEDURE sp1( )
13875BEGIN
13876    declare and handler for sqlstate '02000' set @var2 = 1;
13877END//
13878delimiter ;//
13879
13880DROP PROCEDURE IF EXISTS sp1;
13881
13882delimiter //;
13883--error ER_PARSE_ERROR
13884CREATE PROCEDURE sp1( )
13885BEGIN
13886    declare as handler for sqlstate '02000' set @var2 = 1;
13887END//
13888delimiter ;//
13889
13890DROP PROCEDURE IF EXISTS sp1;
13891
13892delimiter //;
13893--error ER_PARSE_ERROR
13894CREATE PROCEDURE sp1( )
13895BEGIN
13896    declare asc handler for sqlstate '02000' set @var2 = 1;
13897END//
13898delimiter ;//
13899
13900DROP PROCEDURE IF EXISTS sp1;
13901
13902delimiter //;
13903--error ER_PARSE_ERROR
13904CREATE PROCEDURE sp1( )
13905BEGIN
13906    declare asensitive handler for sqlstate '02000' set @var2 = 1;
13907END//
13908delimiter ;//
13909
13910DROP PROCEDURE IF EXISTS sp1;
13911
13912delimiter //;
13913--error ER_PARSE_ERROR
13914CREATE PROCEDURE sp1( )
13915BEGIN
13916    declare before handler for sqlstate '02000' set @var2 = 1;
13917END//
13918delimiter ;//
13919
13920DROP PROCEDURE IF EXISTS sp1;
13921
13922delimiter //;
13923--error ER_PARSE_ERROR
13924CREATE PROCEDURE sp1( )
13925BEGIN
13926    declare between handler for sqlstate '02000' set @var2 = 1;
13927END//
13928delimiter ;//
13929
13930DROP PROCEDURE IF EXISTS sp1;
13931
13932delimiter //;
13933--error ER_PARSE_ERROR
13934CREATE PROCEDURE sp1( )
13935BEGIN
13936    declare bigint handler for sqlstate '02000' set @var2 = 1;
13937END//
13938delimiter ;//
13939
13940DROP PROCEDURE IF EXISTS sp1;
13941
13942delimiter //;
13943--error ER_PARSE_ERROR
13944CREATE PROCEDURE sp1( )
13945BEGIN
13946    declare binary handler for sqlstate '02000' set @var2 = 1;
13947END//
13948delimiter ;//
13949
13950DROP PROCEDURE IF EXISTS sp1;
13951
13952delimiter //;
13953--error ER_PARSE_ERROR
13954CREATE PROCEDURE sp1( )
13955BEGIN
13956    declare blob handler for sqlstate '02000' set @var2 = 1;
13957END//
13958delimiter ;//
13959
13960DROP PROCEDURE IF EXISTS sp1;
13961
13962delimiter //;
13963--error ER_PARSE_ERROR
13964CREATE PROCEDURE sp1( )
13965BEGIN
13966    declare both handler for sqlstate '02000' set @var2 = 1;
13967END//
13968delimiter ;//
13969
13970DROP PROCEDURE IF EXISTS sp1;
13971
13972delimiter //;
13973--error ER_PARSE_ERROR
13974CREATE PROCEDURE sp1( )
13975BEGIN
13976    declare by handler for sqlstate '02000' set @var2 = 1;
13977END//
13978delimiter ;//
13979
13980DROP PROCEDURE IF EXISTS sp1;
13981
13982delimiter //;
13983--error ER_PARSE_ERROR
13984CREATE PROCEDURE sp1( )
13985BEGIN
13986    declare call handler for sqlstate '02000' set @var2 = 1;
13987END//
13988delimiter ;//
13989
13990DROP PROCEDURE IF EXISTS sp1;
13991
13992delimiter //;
13993--error ER_PARSE_ERROR
13994CREATE PROCEDURE sp1( )
13995BEGIN
13996    declare cascade handler for sqlstate '02000' set @var2 = 1;
13997END//
13998delimiter ;//
13999
14000DROP PROCEDURE IF EXISTS sp1;
14001
14002delimiter //;
14003--error ER_PARSE_ERROR
14004CREATE PROCEDURE sp1( )
14005BEGIN
14006    declare case handler for sqlstate '02000' set @var2 = 1;
14007END//
14008delimiter ;//
14009
14010DROP PROCEDURE IF EXISTS sp1;
14011
14012delimiter //;
14013--error ER_PARSE_ERROR
14014CREATE PROCEDURE sp1( )
14015BEGIN
14016    declare change handler for sqlstate '02000' set @var2 = 1;
14017END//
14018delimiter ;//
14019
14020DROP PROCEDURE IF EXISTS sp1;
14021
14022delimiter //;
14023--error ER_PARSE_ERROR
14024CREATE PROCEDURE sp1( )
14025BEGIN
14026    declare char handler for sqlstate '02000' set @var2 = 1;
14027END//
14028delimiter ;//
14029
14030DROP PROCEDURE IF EXISTS sp1;
14031
14032delimiter //;
14033--error ER_PARSE_ERROR
14034CREATE PROCEDURE sp1( )
14035BEGIN
14036    declare character handler for sqlstate '02000' set @var2 = 1;
14037END//
14038delimiter ;//
14039
14040DROP PROCEDURE IF EXISTS sp1;
14041
14042delimiter //;
14043--error ER_PARSE_ERROR
14044CREATE PROCEDURE sp1( )
14045BEGIN
14046    declare check handler for sqlstate '02000' set @var2 = 1;
14047END//
14048delimiter ;//
14049
14050DROP PROCEDURE IF EXISTS sp1;
14051
14052delimiter //;
14053--error ER_PARSE_ERROR
14054CREATE PROCEDURE sp1( )
14055BEGIN
14056    declare collate handler for sqlstate '02000' set @var2 = 1;
14057END//
14058delimiter ;//
14059
14060DROP PROCEDURE IF EXISTS sp1;
14061
14062delimiter //;
14063--error ER_PARSE_ERROR
14064CREATE PROCEDURE sp1( )
14065BEGIN
14066    declare column handler for sqlstate '02000' set @var2 = 1;
14067END//
14068delimiter ;//
14069
14070DROP PROCEDURE IF EXISTS sp1;
14071
14072delimiter //;
14073--error ER_PARSE_ERROR
14074CREATE PROCEDURE sp1( )
14075BEGIN
14076    declare condition handler for sqlstate '02000' set @var2 = 1;
14077END//
14078delimiter ;//
14079
14080DROP PROCEDURE IF EXISTS sp1;
14081
14082delimiter //;
14083--error ER_PARSE_ERROR
14084CREATE PROCEDURE sp1( )
14085BEGIN
14086    declare constraint handler for sqlstate '02000' set @var2 = 1;
14087END//
14088delimiter ;//
14089
14090DROP PROCEDURE IF EXISTS sp1;
14091
14092--error ER_PARSE_ERROR
14093delimiter //;
14094CREATE PROCEDURE sp1( )
14095 BEGIN
14096   declare continue handler for sqlstate '02000' set @var2 = 1;
14097END//
14098delimiter ;//
14099
14100DROP PROCEDURE IF EXISTS sp1;
14101
14102delimiter //;
14103--error ER_PARSE_ERROR
14104CREATE PROCEDURE sp1( )
14105BEGIN
14106    declare convert handler for sqlstate '02000' set @var2 = 1;
14107END//
14108delimiter ;//
14109
14110DROP PROCEDURE IF EXISTS sp1;
14111
14112delimiter //;
14113--error ER_PARSE_ERROR
14114CREATE PROCEDURE sp1( )
14115BEGIN
14116    declare create handler for sqlstate '02000' set @var2 = 1;
14117END//
14118delimiter ;//
14119
14120DROP PROCEDURE IF EXISTS sp1;
14121
14122delimiter //;
14123--error ER_PARSE_ERROR
14124CREATE PROCEDURE sp1( )
14125BEGIN
14126    declare cross handler for sqlstate '02000' set @var2 = 1;
14127END//
14128delimiter ;//
14129
14130DROP PROCEDURE IF EXISTS sp1;
14131
14132delimiter //;
14133--error ER_PARSE_ERROR
14134CREATE PROCEDURE sp1( )
14135BEGIN
14136    declare current_date handler for sqlstate '02000' set @var2 = 1;
14137END//
14138delimiter ;//
14139
14140DROP PROCEDURE IF EXISTS sp1;
14141
14142delimiter //;
14143--error ER_PARSE_ERROR
14144CREATE PROCEDURE sp1( )
14145BEGIN
14146    declare current_time handler for sqlstate '02000' set @var2 = 1;
14147END//
14148delimiter ;//
14149
14150DROP PROCEDURE IF EXISTS sp1;
14151
14152delimiter //;
14153--error ER_PARSE_ERROR
14154CREATE PROCEDURE sp1( )
14155BEGIN
14156    declare current_timestamp handler for sqlstate '02000' set @var2 = 1;
14157END//
14158delimiter ;//
14159
14160DROP PROCEDURE IF EXISTS sp1;
14161
14162delimiter //;
14163--error ER_PARSE_ERROR
14164CREATE PROCEDURE sp1( )
14165BEGIN
14166    declare current_user handler for sqlstate '02000' set @var2 = 1;
14167END//
14168delimiter ;//
14169
14170DROP PROCEDURE IF EXISTS sp1;
14171
14172delimiter //;
14173--error ER_PARSE_ERROR
14174CREATE PROCEDURE sp1( )
14175BEGIN
14176    declare cursor handler for sqlstate '02000' set @var2 = 1;
14177END//
14178delimiter ;//
14179
14180DROP PROCEDURE IF EXISTS sp1;
14181
14182delimiter //;
14183--error ER_PARSE_ERROR
14184CREATE PROCEDURE sp1( )
14185BEGIN
14186    declare database handler for sqlstate '02000' set @var2 = 1;
14187END//
14188delimiter ;//
14189
14190DROP PROCEDURE IF EXISTS sp1;
14191
14192delimiter //;
14193--error ER_PARSE_ERROR
14194CREATE PROCEDURE sp1( )
14195BEGIN
14196    declare databases handler for sqlstate '02000' set @var2 = 1;
14197END//
14198delimiter ;//
14199
14200DROP PROCEDURE IF EXISTS sp1;
14201
14202delimiter //;
14203--error ER_PARSE_ERROR
14204CREATE PROCEDURE sp1( )
14205BEGIN
14206    declare day_hour handler for sqlstate '02000' set @var2 = 1;
14207END//
14208delimiter ;//
14209
14210DROP PROCEDURE IF EXISTS sp1;
14211
14212delimiter //;
14213--error ER_PARSE_ERROR
14214CREATE PROCEDURE sp1( )
14215BEGIN
14216    declare day_microsecond handler for sqlstate '02000' set @var2 = 1;
14217END//
14218delimiter ;//
14219
14220DROP PROCEDURE IF EXISTS sp1;
14221
14222delimiter //;
14223--error ER_PARSE_ERROR
14224CREATE PROCEDURE sp1( )
14225BEGIN
14226    declare day_minute handler for sqlstate '02000' set @var2 = 1;
14227END//
14228delimiter ;//
14229
14230DROP PROCEDURE IF EXISTS sp1;
14231
14232delimiter //;
14233--error ER_PARSE_ERROR
14234CREATE PROCEDURE sp1( )
14235BEGIN
14236    declare day_second handler for sqlstate '02000' set @var2 = 1;
14237END//
14238delimiter ;//
14239
14240DROP PROCEDURE IF EXISTS sp1;
14241
14242delimiter //;
14243--error ER_PARSE_ERROR
14244CREATE PROCEDURE sp1( )
14245BEGIN
14246    declare dec handler for sqlstate '02000' set @var2 = 1;
14247END//
14248delimiter ;//
14249
14250DROP PROCEDURE IF EXISTS sp1;
14251
14252delimiter //;
14253--error ER_PARSE_ERROR
14254CREATE PROCEDURE sp1( )
14255BEGIN
14256    declare decimal handler for sqlstate '02000' set @var2 = 1;
14257END//
14258delimiter ;//
14259
14260DROP PROCEDURE IF EXISTS sp1;
14261
14262delimiter //;
14263--error ER_PARSE_ERROR
14264CREATE PROCEDURE sp1( )
14265BEGIN
14266    declare declare handler for sqlstate '02000' set @var2 = 1;
14267END//
14268delimiter ;//
14269
14270DROP PROCEDURE IF EXISTS sp1;
14271
14272delimiter //;
14273--error ER_PARSE_ERROR
14274CREATE PROCEDURE sp1( )
14275BEGIN
14276    declare default handler for sqlstate '02000' set @var2 = 1;
14277END//
14278delimiter ;//
14279
14280DROP PROCEDURE IF EXISTS sp1;
14281
14282delimiter //;
14283--error ER_PARSE_ERROR
14284CREATE PROCEDURE sp1( )
14285BEGIN
14286    declare delayed handler for sqlstate '02000' set @var2 = 1;
14287END//
14288delimiter ;//
14289
14290DROP PROCEDURE IF EXISTS sp1;
14291
14292delimiter //;
14293--error ER_PARSE_ERROR
14294CREATE PROCEDURE sp1( )
14295BEGIN
14296    declare delete handler for sqlstate '02000' set @var2 = 1;
14297END//
14298delimiter ;//
14299
14300DROP PROCEDURE IF EXISTS sp1;
14301
14302delimiter //;
14303--error ER_PARSE_ERROR
14304CREATE PROCEDURE sp1( )
14305BEGIN
14306    declare desc handler for sqlstate '02000' set @var2 = 1;
14307END//
14308delimiter ;//
14309
14310DROP PROCEDURE IF EXISTS sp1;
14311
14312delimiter //;
14313--error ER_PARSE_ERROR
14314CREATE PROCEDURE sp1( )
14315BEGIN
14316    declare describe handler for sqlstate '02000' set @var2 = 1;
14317END//
14318delimiter ;//
14319
14320DROP PROCEDURE IF EXISTS sp1;
14321
14322delimiter //;
14323--error ER_PARSE_ERROR
14324CREATE PROCEDURE sp1( )
14325BEGIN
14326    declare deterministic handler for sqlstate '02000' set @var2 = 1;
14327END//
14328delimiter ;//
14329
14330DROP PROCEDURE IF EXISTS sp1;
14331
14332delimiter //;
14333--error ER_PARSE_ERROR
14334CREATE PROCEDURE sp1( )
14335BEGIN
14336    declare distinct handler for sqlstate '02000' set @var2 = 1;
14337END//
14338delimiter ;//
14339
14340DROP PROCEDURE IF EXISTS sp1;
14341
14342delimiter //;
14343--error ER_PARSE_ERROR
14344CREATE PROCEDURE sp1( )
14345BEGIN
14346    declare distinctrow handler for sqlstate '02000' set @var2 = 1;
14347END//
14348delimiter ;//
14349
14350DROP PROCEDURE IF EXISTS sp1;
14351
14352delimiter //;
14353--error ER_PARSE_ERROR
14354CREATE PROCEDURE sp1( )
14355BEGIN
14356    declare div handler for sqlstate '02000' set @var2 = 1;
14357END//
14358delimiter ;//
14359
14360DROP PROCEDURE IF EXISTS sp1;
14361
14362delimiter //;
14363--error ER_PARSE_ERROR
14364CREATE PROCEDURE sp1( )
14365BEGIN
14366    declare double handler for sqlstate '02000' set @var2 = 1;
14367END//
14368delimiter ;//
14369
14370DROP PROCEDURE IF EXISTS sp1;
14371
14372delimiter //;
14373--error ER_PARSE_ERROR
14374CREATE PROCEDURE sp1( )
14375BEGIN
14376    declare drop handler for sqlstate '02000' set @var2 = 1;
14377END//
14378delimiter ;//
14379
14380DROP PROCEDURE IF EXISTS sp1;
14381
14382delimiter //;
14383--error ER_PARSE_ERROR
14384CREATE PROCEDURE sp1( )
14385BEGIN
14386    declare dual handler for sqlstate '02000' set @var2 = 1;
14387END//
14388delimiter ;//
14389
14390DROP PROCEDURE IF EXISTS sp1;
14391
14392delimiter //;
14393--error ER_PARSE_ERROR
14394CREATE PROCEDURE sp1( )
14395BEGIN
14396    declare each handler for sqlstate '02000' set @var2 = 1;
14397END//
14398delimiter ;//
14399
14400DROP PROCEDURE IF EXISTS sp1;
14401
14402delimiter //;
14403--error ER_PARSE_ERROR
14404CREATE PROCEDURE sp1( )
14405BEGIN
14406    declare else handler for sqlstate '02000' set @var2 = 1;
14407END//
14408delimiter ;//
14409
14410DROP PROCEDURE IF EXISTS sp1;
14411
14412delimiter //;
14413--error ER_PARSE_ERROR
14414CREATE PROCEDURE sp1( )
14415BEGIN
14416    declare elseif handler for sqlstate '02000' set @var2 = 1;
14417END//
14418delimiter ;//
14419
14420DROP PROCEDURE IF EXISTS sp1;
14421
14422delimiter //;
14423--error ER_PARSE_ERROR
14424CREATE PROCEDURE sp1( )
14425BEGIN
14426    declare enclosed handler for sqlstate '02000' set @var2 = 1;
14427END//
14428delimiter ;//
14429
14430DROP PROCEDURE IF EXISTS sp1;
14431
14432delimiter //;
14433--error ER_PARSE_ERROR
14434CREATE PROCEDURE sp1( )
14435BEGIN
14436    declare escaped handler for sqlstate '02000' set @var2 = 1;
14437END//
14438delimiter ;//
14439
14440DROP PROCEDURE IF EXISTS sp1;
14441
14442delimiter //;
14443--error ER_PARSE_ERROR
14444CREATE PROCEDURE sp1( )
14445BEGIN
14446    declare exists handler for sqlstate '02000' set @var2 = 1;
14447END//
14448delimiter ;//
14449
14450DROP PROCEDURE IF EXISTS sp1;
14451
14452--error ER_PARSE_ERROR
14453delimiter //;
14454CREATE PROCEDURE sp1( )
14455 BEGIN
14456   declare exit handler for sqlstate '02000' set @var2 = 1;
14457END//
14458delimiter ;//
14459
14460DROP PROCEDURE IF EXISTS sp1;
14461
14462delimiter //;
14463--error ER_PARSE_ERROR
14464CREATE PROCEDURE sp1( )
14465BEGIN
14466    declare explain handler for sqlstate '02000' set @var2 = 1;
14467END//
14468delimiter ;//
14469
14470DROP PROCEDURE IF EXISTS sp1;
14471
14472delimiter //;
14473--error ER_PARSE_ERROR
14474CREATE PROCEDURE sp1( )
14475BEGIN
14476    declare false handler for sqlstate '02000' set @var2 = 1;
14477END//
14478delimiter ;//
14479
14480DROP PROCEDURE IF EXISTS sp1;
14481
14482delimiter //;
14483--error ER_PARSE_ERROR
14484CREATE PROCEDURE sp1( )
14485BEGIN
14486    declare fetch handler for sqlstate '02000' set @var2 = 1;
14487END//
14488delimiter ;//
14489
14490DROP PROCEDURE IF EXISTS sp1;
14491
14492delimiter //;
14493--error ER_PARSE_ERROR
14494CREATE PROCEDURE sp1( )
14495BEGIN
14496    declare float handler for sqlstate '02000' set @var2 = 1;
14497END//
14498delimiter ;//
14499
14500DROP PROCEDURE IF EXISTS sp1;
14501
14502delimiter //;
14503--error ER_PARSE_ERROR
14504CREATE PROCEDURE sp1( )
14505BEGIN
14506    declare float4 handler for sqlstate '02000' set @var2 = 1;
14507END//
14508delimiter ;//
14509
14510DROP PROCEDURE IF EXISTS sp1;
14511
14512delimiter //;
14513--error ER_PARSE_ERROR
14514CREATE PROCEDURE sp1( )
14515BEGIN
14516    declare float8 handler for sqlstate '02000' set @var2 = 1;
14517END//
14518delimiter ;//
14519
14520DROP PROCEDURE IF EXISTS sp1;
14521
14522delimiter //;
14523--error ER_PARSE_ERROR
14524CREATE PROCEDURE sp1( )
14525BEGIN
14526    declare for handler for sqlstate '02000' set @var2 = 1;
14527END//
14528delimiter ;//
14529
14530DROP PROCEDURE IF EXISTS sp1;
14531
14532delimiter //;
14533--error ER_PARSE_ERROR
14534CREATE PROCEDURE sp1( )
14535BEGIN
14536    declare force handler for sqlstate '02000' set @var2 = 1;
14537END//
14538delimiter ;//
14539
14540DROP PROCEDURE IF EXISTS sp1;
14541
14542delimiter //;
14543--error ER_PARSE_ERROR
14544CREATE PROCEDURE sp1( )
14545BEGIN
14546    declare foreign handler for sqlstate '02000' set @var2 = 1;
14547END//
14548delimiter ;//
14549
14550DROP PROCEDURE IF EXISTS sp1;
14551
14552delimiter //;
14553--error ER_PARSE_ERROR
14554CREATE PROCEDURE sp1( )
14555BEGIN
14556    declare from handler for sqlstate '02000' set @var2 = 1;
14557END//
14558delimiter ;//
14559
14560DROP PROCEDURE IF EXISTS sp1;
14561
14562delimiter //;
14563--error ER_PARSE_ERROR
14564CREATE PROCEDURE sp1( )
14565BEGIN
14566    declare fulltext handler for sqlstate '02000' set @var2 = 1;
14567END//
14568delimiter ;//
14569
14570DROP PROCEDURE IF EXISTS sp1;
14571
14572delimiter //;
14573--error ER_PARSE_ERROR
14574CREATE PROCEDURE sp1( )
14575BEGIN
14576    declare grant handler for sqlstate '02000' set @var2 = 1;
14577END//
14578delimiter ;//
14579
14580DROP PROCEDURE IF EXISTS sp1;
14581
14582delimiter //;
14583--error ER_PARSE_ERROR
14584CREATE PROCEDURE sp1( )
14585BEGIN
14586    declare group handler for sqlstate '02000' set @var2 = 1;
14587END//
14588delimiter ;//
14589
14590DROP PROCEDURE IF EXISTS sp1;
14591
14592delimiter //;
14593--error ER_PARSE_ERROR
14594CREATE PROCEDURE sp1( )
14595BEGIN
14596    declare having handler for sqlstate '02000' set @var2 = 1;
14597END//
14598delimiter ;//
14599
14600DROP PROCEDURE IF EXISTS sp1;
14601
14602delimiter //;
14603--error ER_PARSE_ERROR
14604CREATE PROCEDURE sp1( )
14605BEGIN
14606    declare high_priority handler for sqlstate '02000' set @var2 = 1;
14607END//
14608delimiter ;//
14609
14610DROP PROCEDURE IF EXISTS sp1;
14611
14612delimiter //;
14613--error ER_PARSE_ERROR
14614CREATE PROCEDURE sp1( )
14615BEGIN
14616    declare hour_microsecond handler for sqlstate '02000' set @var2 = 1;
14617END//
14618delimiter ;//
14619
14620DROP PROCEDURE IF EXISTS sp1;
14621
14622delimiter //;
14623--error ER_PARSE_ERROR
14624CREATE PROCEDURE sp1( )
14625BEGIN
14626    declare hour_minute handler for sqlstate '02000' set @var2 = 1;
14627END//
14628delimiter ;//
14629
14630DROP PROCEDURE IF EXISTS sp1;
14631
14632delimiter //;
14633--error ER_PARSE_ERROR
14634CREATE PROCEDURE sp1( )
14635BEGIN
14636    declare hour_second handler for sqlstate '02000' set @var2 = 1;
14637END//
14638delimiter ;//
14639
14640DROP PROCEDURE IF EXISTS sp1;
14641
14642delimiter //;
14643--error ER_PARSE_ERROR
14644CREATE PROCEDURE sp1( )
14645BEGIN
14646    declare if handler for sqlstate '02000' set @var2 = 1;
14647END//
14648delimiter ;//
14649
14650DROP PROCEDURE IF EXISTS sp1;
14651
14652delimiter //;
14653--error ER_PARSE_ERROR
14654CREATE PROCEDURE sp1( )
14655BEGIN
14656    declare ignore handler for sqlstate '02000' set @var2 = 1;
14657END//
14658delimiter ;//
14659
14660DROP PROCEDURE IF EXISTS sp1;
14661
14662delimiter //;
14663--error ER_PARSE_ERROR
14664CREATE PROCEDURE sp1( )
14665BEGIN
14666    declare in handler for sqlstate '02000' set @var2 = 1;
14667END//
14668delimiter ;//
14669
14670DROP PROCEDURE IF EXISTS sp1;
14671
14672delimiter //;
14673--error ER_PARSE_ERROR
14674CREATE PROCEDURE sp1( )
14675BEGIN
14676    declare index handler for sqlstate '02000' set @var2 = 1;
14677END//
14678delimiter ;//
14679
14680DROP PROCEDURE IF EXISTS sp1;
14681
14682delimiter //;
14683--error ER_PARSE_ERROR
14684CREATE PROCEDURE sp1( )
14685BEGIN
14686    declare infile handler for sqlstate '02000' set @var2 = 1;
14687END//
14688delimiter ;//
14689
14690DROP PROCEDURE IF EXISTS sp1;
14691
14692delimiter //;
14693--error ER_PARSE_ERROR
14694CREATE PROCEDURE sp1( )
14695BEGIN
14696    declare inner handler for sqlstate '02000' set @var2 = 1;
14697END//
14698delimiter ;//
14699
14700DROP PROCEDURE IF EXISTS sp1;
14701
14702delimiter //;
14703--error ER_PARSE_ERROR
14704CREATE PROCEDURE sp1( )
14705BEGIN
14706    declare inout handler for sqlstate '02000' set @var2 = 1;
14707END//
14708delimiter ;//
14709
14710DROP PROCEDURE IF EXISTS sp1;
14711
14712delimiter //;
14713--error ER_PARSE_ERROR
14714CREATE PROCEDURE sp1( )
14715BEGIN
14716    declare insensitive handler for sqlstate '02000' set @var2 = 1;
14717END//
14718delimiter ;//
14719
14720DROP PROCEDURE IF EXISTS sp1;
14721
14722delimiter //;
14723--error ER_PARSE_ERROR
14724CREATE PROCEDURE sp1( )
14725BEGIN
14726    declare insert handler for sqlstate '02000' set @var2 = 1;
14727END//
14728delimiter ;//
14729
14730DROP PROCEDURE IF EXISTS sp1;
14731
14732delimiter //;
14733--error ER_PARSE_ERROR
14734CREATE PROCEDURE sp1( )
14735BEGIN
14736    declare int handler for sqlstate '02000' set @var2 = 1;
14737END//
14738delimiter ;//
14739
14740DROP PROCEDURE IF EXISTS sp1;
14741
14742delimiter //;
14743--error ER_PARSE_ERROR
14744CREATE PROCEDURE sp1( )
14745BEGIN
14746    declare int1 handler for sqlstate '02000' set @var2 = 1;
14747END//
14748delimiter ;//
14749
14750DROP PROCEDURE IF EXISTS sp1;
14751
14752delimiter //;
14753--error ER_PARSE_ERROR
14754CREATE PROCEDURE sp1( )
14755BEGIN
14756    declare int2 handler for sqlstate '02000' set @var2 = 1;
14757END//
14758delimiter ;//
14759
14760DROP PROCEDURE IF EXISTS sp1;
14761
14762delimiter //;
14763--error ER_PARSE_ERROR
14764CREATE PROCEDURE sp1( )
14765BEGIN
14766    declare int3 handler for sqlstate '02000' set @var2 = 1;
14767END//
14768delimiter ;//
14769
14770DROP PROCEDURE IF EXISTS sp1;
14771
14772delimiter //;
14773--error ER_PARSE_ERROR
14774CREATE PROCEDURE sp1( )
14775BEGIN
14776    declare int4 handler for sqlstate '02000' set @var2 = 1;
14777END//
14778delimiter ;//
14779
14780DROP PROCEDURE IF EXISTS sp1;
14781
14782delimiter //;
14783--error ER_PARSE_ERROR
14784CREATE PROCEDURE sp1( )
14785BEGIN
14786    declare int8 handler for sqlstate '02000' set @var2 = 1;
14787END//
14788delimiter ;//
14789
14790DROP PROCEDURE IF EXISTS sp1;
14791
14792delimiter //;
14793--error ER_PARSE_ERROR
14794CREATE PROCEDURE sp1( )
14795BEGIN
14796    declare integer handler for sqlstate '02000' set @var2 = 1;
14797END//
14798delimiter ;//
14799
14800DROP PROCEDURE IF EXISTS sp1;
14801
14802delimiter //;
14803--error ER_PARSE_ERROR
14804CREATE PROCEDURE sp1( )
14805BEGIN
14806    declare interval handler for sqlstate '02000' set @var2 = 1;
14807END//
14808delimiter ;//
14809
14810DROP PROCEDURE IF EXISTS sp1;
14811
14812delimiter //;
14813--error ER_PARSE_ERROR
14814CREATE PROCEDURE sp1( )
14815BEGIN
14816    declare into handler for sqlstate '02000' set @var2 = 1;
14817END//
14818delimiter ;//
14819
14820DROP PROCEDURE IF EXISTS sp1;
14821
14822delimiter //;
14823--error ER_PARSE_ERROR
14824CREATE PROCEDURE sp1( )
14825BEGIN
14826    declare is handler for sqlstate '02000' set @var2 = 1;
14827END//
14828delimiter ;//
14829
14830DROP PROCEDURE IF EXISTS sp1;
14831
14832delimiter //;
14833--error ER_PARSE_ERROR
14834CREATE PROCEDURE sp1( )
14835BEGIN
14836    declare iterate handler for sqlstate '02000' set @var2 = 1;
14837END//
14838delimiter ;//
14839
14840DROP PROCEDURE IF EXISTS sp1;
14841
14842delimiter //;
14843--error ER_PARSE_ERROR
14844CREATE PROCEDURE sp1( )
14845BEGIN
14846    declare join handler for sqlstate '02000' set @var2 = 1;
14847END//
14848delimiter ;//
14849
14850DROP PROCEDURE IF EXISTS sp1;
14851
14852delimiter //;
14853--error ER_PARSE_ERROR
14854CREATE PROCEDURE sp1( )
14855BEGIN
14856    declare key handler for sqlstate '02000' set @var2 = 1;
14857END//
14858delimiter ;//
14859
14860DROP PROCEDURE IF EXISTS sp1;
14861
14862delimiter //;
14863--error ER_PARSE_ERROR
14864CREATE PROCEDURE sp1( )
14865BEGIN
14866    declare keys handler for sqlstate '02000' set @var2 = 1;
14867END//
14868delimiter ;//
14869
14870DROP PROCEDURE IF EXISTS sp1;
14871
14872delimiter //;
14873--error ER_PARSE_ERROR
14874CREATE PROCEDURE sp1( )
14875BEGIN
14876    declare kill handler for sqlstate '02000' set @var2 = 1;
14877END//
14878delimiter ;//
14879
14880DROP PROCEDURE IF EXISTS sp1;
14881
14882delimiter //;
14883--error ER_PARSE_ERROR
14884CREATE PROCEDURE sp1( )
14885BEGIN
14886    declare leading handler for sqlstate '02000' set @var2 = 1;
14887END//
14888delimiter ;//
14889
14890DROP PROCEDURE IF EXISTS sp1;
14891
14892delimiter //;
14893--error ER_PARSE_ERROR
14894CREATE PROCEDURE sp1( )
14895BEGIN
14896    declare leave handler for sqlstate '02000' set @var2 = 1;
14897END//
14898delimiter ;//
14899
14900DROP PROCEDURE IF EXISTS sp1;
14901
14902delimiter //;
14903--error ER_PARSE_ERROR
14904CREATE PROCEDURE sp1( )
14905BEGIN
14906    declare left handler for sqlstate '02000' set @var2 = 1;
14907END//
14908delimiter ;//
14909
14910DROP PROCEDURE IF EXISTS sp1;
14911
14912delimiter //;
14913--error ER_PARSE_ERROR
14914CREATE PROCEDURE sp1( )
14915BEGIN
14916    declare like handler for sqlstate '02000' set @var2 = 1;
14917END//
14918delimiter ;//
14919
14920DROP PROCEDURE IF EXISTS sp1;
14921
14922delimiter //;
14923--error ER_PARSE_ERROR
14924CREATE PROCEDURE sp1( )
14925BEGIN
14926    declare limit handler for sqlstate '02000' set @var2 = 1;
14927END//
14928delimiter ;//
14929
14930DROP PROCEDURE IF EXISTS sp1;
14931
14932delimiter //;
14933--error ER_PARSE_ERROR
14934CREATE PROCEDURE sp1( )
14935BEGIN
14936    declare linear handler for sqlstate '02000' set @var2 = 1;
14937END//
14938delimiter ;//
14939
14940DROP PROCEDURE IF EXISTS sp1;
14941
14942delimiter //;
14943--error ER_PARSE_ERROR
14944CREATE PROCEDURE sp1( )
14945BEGIN
14946    declare lines handler for sqlstate '02000' set @var2 = 1;
14947END//
14948delimiter ;//
14949
14950DROP PROCEDURE IF EXISTS sp1;
14951
14952delimiter //;
14953--error ER_PARSE_ERROR
14954CREATE PROCEDURE sp1( )
14955BEGIN
14956    declare load handler for sqlstate '02000' set @var2 = 1;
14957END//
14958delimiter ;//
14959
14960DROP PROCEDURE IF EXISTS sp1;
14961
14962delimiter //;
14963--error ER_PARSE_ERROR
14964CREATE PROCEDURE sp1( )
14965BEGIN
14966    declare localtime handler for sqlstate '02000' set @var2 = 1;
14967END//
14968delimiter ;//
14969
14970DROP PROCEDURE IF EXISTS sp1;
14971
14972delimiter //;
14973--error ER_PARSE_ERROR
14974CREATE PROCEDURE sp1( )
14975BEGIN
14976    declare localtimestamp handler for sqlstate '02000' set @var2 = 1;
14977END//
14978delimiter ;//
14979
14980DROP PROCEDURE IF EXISTS sp1;
14981
14982delimiter //;
14983--error ER_PARSE_ERROR
14984CREATE PROCEDURE sp1( )
14985BEGIN
14986    declare lock handler for sqlstate '02000' set @var2 = 1;
14987END//
14988delimiter ;//
14989
14990DROP PROCEDURE IF EXISTS sp1;
14991
14992delimiter //;
14993--error ER_PARSE_ERROR
14994CREATE PROCEDURE sp1( )
14995BEGIN
14996    declare long handler for sqlstate '02000' set @var2 = 1;
14997END//
14998delimiter ;//
14999
15000DROP PROCEDURE IF EXISTS sp1;
15001
15002delimiter //;
15003--error ER_PARSE_ERROR
15004CREATE PROCEDURE sp1( )
15005BEGIN
15006    declare longblob handler for sqlstate '02000' set @var2 = 1;
15007END//
15008delimiter ;//
15009
15010DROP PROCEDURE IF EXISTS sp1;
15011
15012delimiter //;
15013--error ER_PARSE_ERROR
15014CREATE PROCEDURE sp1( )
15015BEGIN
15016    declare longtext handler for sqlstate '02000' set @var2 = 1;
15017END//
15018delimiter ;//
15019
15020DROP PROCEDURE IF EXISTS sp1;
15021
15022delimiter //;
15023--error ER_PARSE_ERROR
15024CREATE PROCEDURE sp1( )
15025BEGIN
15026    declare loop handler for sqlstate '02000' set @var2 = 1;
15027END//
15028delimiter ;//
15029
15030DROP PROCEDURE IF EXISTS sp1;
15031
15032delimiter //;
15033--error ER_PARSE_ERROR
15034CREATE PROCEDURE sp1( )
15035BEGIN
15036    declare low_priority handler for sqlstate '02000' set @var2 = 1;
15037END//
15038delimiter ;//
15039
15040DROP PROCEDURE IF EXISTS sp1;
15041
15042delimiter //;
15043--error ER_PARSE_ERROR
15044CREATE PROCEDURE sp1( )
15045BEGIN
15046    declare master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 1;
15047END//
15048delimiter ;//
15049
15050DROP PROCEDURE IF EXISTS sp1;
15051
15052delimiter //;
15053--error ER_PARSE_ERROR
15054CREATE PROCEDURE sp1( )
15055BEGIN
15056    declare match handler for sqlstate '02000' set @var2 = 1;
15057END//
15058delimiter ;//
15059
15060DROP PROCEDURE IF EXISTS sp1;
15061
15062delimiter //;
15063--error ER_PARSE_ERROR
15064CREATE PROCEDURE sp1( )
15065BEGIN
15066    declare mediumblob handler for sqlstate '02000' set @var2 = 1;
15067END//
15068delimiter ;//
15069
15070DROP PROCEDURE IF EXISTS sp1;
15071
15072delimiter //;
15073--error ER_PARSE_ERROR
15074CREATE PROCEDURE sp1( )
15075BEGIN
15076    declare mediumint handler for sqlstate '02000' set @var2 = 1;
15077END//
15078delimiter ;//
15079
15080DROP PROCEDURE IF EXISTS sp1;
15081
15082delimiter //;
15083--error ER_PARSE_ERROR
15084CREATE PROCEDURE sp1( )
15085BEGIN
15086    declare mediumtext handler for sqlstate '02000' set @var2 = 1;
15087END//
15088delimiter ;//
15089
15090DROP PROCEDURE IF EXISTS sp1;
15091
15092delimiter //;
15093--error ER_PARSE_ERROR
15094CREATE PROCEDURE sp1( )
15095BEGIN
15096    declare middleint handler for sqlstate '02000' set @var2 = 1;
15097END//
15098delimiter ;//
15099
15100DROP PROCEDURE IF EXISTS sp1;
15101
15102delimiter //;
15103--error ER_PARSE_ERROR
15104CREATE PROCEDURE sp1( )
15105BEGIN
15106    declare minute_microsecond handler for sqlstate '02000' set @var2 = 1;
15107END//
15108delimiter ;//
15109
15110DROP PROCEDURE IF EXISTS sp1;
15111
15112delimiter //;
15113--error ER_PARSE_ERROR
15114CREATE PROCEDURE sp1( )
15115BEGIN
15116    declare minute_second handler for sqlstate '02000' set @var2 = 1;
15117END//
15118delimiter ;//
15119
15120DROP PROCEDURE IF EXISTS sp1;
15121
15122delimiter //;
15123--error ER_PARSE_ERROR
15124CREATE PROCEDURE sp1( )
15125BEGIN
15126    declare mod handler for sqlstate '02000' set @var2 = 1;
15127END//
15128delimiter ;//
15129
15130DROP PROCEDURE IF EXISTS sp1;
15131
15132delimiter //;
15133--error ER_PARSE_ERROR
15134CREATE PROCEDURE sp1( )
15135BEGIN
15136    declare modifies handler for sqlstate '02000' set @var2 = 1;
15137END//
15138delimiter ;//
15139
15140DROP PROCEDURE IF EXISTS sp1;
15141
15142delimiter //;
15143--error ER_PARSE_ERROR
15144CREATE PROCEDURE sp1( )
15145BEGIN
15146    declare natural handler for sqlstate '02000' set @var2 = 1;
15147END//
15148delimiter ;//
15149
15150DROP PROCEDURE IF EXISTS sp1;
15151
15152delimiter //;
15153--error ER_PARSE_ERROR
15154CREATE PROCEDURE sp1( )
15155BEGIN
15156    declare not handler for sqlstate '02000' set @var2 = 1;
15157END//
15158delimiter ;//
15159
15160DROP PROCEDURE IF EXISTS sp1;
15161
15162delimiter //;
15163--error ER_PARSE_ERROR
15164CREATE PROCEDURE sp1( )
15165BEGIN
15166    declare no_write_to_binlog handler for sqlstate '02000' set @var2 = 1;
15167END//
15168delimiter ;//
15169
15170DROP PROCEDURE IF EXISTS sp1;
15171
15172delimiter //;
15173--error ER_PARSE_ERROR
15174CREATE PROCEDURE sp1( )
15175BEGIN
15176    declare null handler for sqlstate '02000' set @var2 = 1;
15177END//
15178delimiter ;//
15179
15180DROP PROCEDURE IF EXISTS sp1;
15181
15182delimiter //;
15183--error ER_PARSE_ERROR
15184CREATE PROCEDURE sp1( )
15185BEGIN
15186    declare numeric handler for sqlstate '02000' set @var2 = 1;
15187END//
15188delimiter ;//
15189
15190DROP PROCEDURE IF EXISTS sp1;
15191
15192delimiter //;
15193--error ER_PARSE_ERROR
15194CREATE PROCEDURE sp1( )
15195BEGIN
15196    declare on handler for sqlstate '02000' set @var2 = 1;
15197END//
15198delimiter ;//
15199
15200DROP PROCEDURE IF EXISTS sp1;
15201
15202delimiter //;
15203--error ER_PARSE_ERROR
15204CREATE PROCEDURE sp1( )
15205BEGIN
15206    declare optimize handler for sqlstate '02000' set @var2 = 1;
15207END//
15208delimiter ;//
15209
15210DROP PROCEDURE IF EXISTS sp1;
15211
15212delimiter //;
15213--error ER_PARSE_ERROR
15214CREATE PROCEDURE sp1( )
15215BEGIN
15216    declare option handler for sqlstate '02000' set @var2 = 1;
15217END//
15218delimiter ;//
15219
15220DROP PROCEDURE IF EXISTS sp1;
15221
15222delimiter //;
15223--error ER_PARSE_ERROR
15224CREATE PROCEDURE sp1( )
15225BEGIN
15226    declare optionally handler for sqlstate '02000' set @var2 = 1;
15227END//
15228delimiter ;//
15229
15230DROP PROCEDURE IF EXISTS sp1;
15231
15232delimiter //;
15233--error ER_PARSE_ERROR
15234CREATE PROCEDURE sp1( )
15235BEGIN
15236    declare or handler for sqlstate '02000' set @var2 = 1;
15237END//
15238delimiter ;//
15239
15240DROP PROCEDURE IF EXISTS sp1;
15241
15242delimiter //;
15243--error ER_PARSE_ERROR
15244CREATE PROCEDURE sp1( )
15245BEGIN
15246    declare order handler for sqlstate '02000' set @var2 = 1;
15247END//
15248delimiter ;//
15249
15250DROP PROCEDURE IF EXISTS sp1;
15251
15252delimiter //;
15253--error ER_PARSE_ERROR
15254CREATE PROCEDURE sp1( )
15255BEGIN
15256    declare out handler for sqlstate '02000' set @var2 = 1;
15257END//
15258delimiter ;//
15259
15260DROP PROCEDURE IF EXISTS sp1;
15261
15262delimiter //;
15263--error ER_PARSE_ERROR
15264CREATE PROCEDURE sp1( )
15265BEGIN
15266    declare outer handler for sqlstate '02000' set @var2 = 1;
15267END//
15268delimiter ;//
15269
15270DROP PROCEDURE IF EXISTS sp1;
15271
15272delimiter //;
15273--error ER_PARSE_ERROR
15274CREATE PROCEDURE sp1( )
15275BEGIN
15276    declare outfile handler for sqlstate '02000' set @var2 = 1;
15277END//
15278delimiter ;//
15279
15280DROP PROCEDURE IF EXISTS sp1;
15281
15282delimiter //;
15283--error ER_PARSE_ERROR
15284CREATE PROCEDURE sp1( )
15285BEGIN
15286    declare precision handler for sqlstate '02000' set @var2 = 1;
15287END//
15288delimiter ;//
15289
15290DROP PROCEDURE IF EXISTS sp1;
15291
15292delimiter //;
15293--error ER_PARSE_ERROR
15294CREATE PROCEDURE sp1( )
15295BEGIN
15296    declare primary handler for sqlstate '02000' set @var2 = 1;
15297END//
15298delimiter ;//
15299
15300DROP PROCEDURE IF EXISTS sp1;
15301
15302delimiter //;
15303--error ER_PARSE_ERROR
15304CREATE PROCEDURE sp1( )
15305BEGIN
15306    declare privileges handler for sqlstate '02000' set @var2 = 1;
15307END//
15308delimiter ;//
15309
15310DROP PROCEDURE IF EXISTS sp1;
15311
15312delimiter //;
15313--error ER_PARSE_ERROR
15314CREATE PROCEDURE sp1( )
15315BEGIN
15316    declare procedure handler for sqlstate '02000' set @var2 = 1;
15317END//
15318delimiter ;//
15319
15320DROP PROCEDURE IF EXISTS sp1;
15321
15322delimiter //;
15323--error ER_PARSE_ERROR
15324CREATE PROCEDURE sp1( )
15325BEGIN
15326    declare purge handler for sqlstate '02000' set @var2 = 1;
15327END//
15328delimiter ;//
15329
15330DROP PROCEDURE IF EXISTS sp1;
15331
15332delimiter //;
15333--error ER_PARSE_ERROR
15334CREATE PROCEDURE sp1( )
15335BEGIN
15336    declare range handler for sqlstate '02000' set @var2 = 1;
15337END//
15338delimiter ;//
15339
15340DROP PROCEDURE IF EXISTS sp1;
15341
15342delimiter //;
15343--error ER_PARSE_ERROR
15344CREATE PROCEDURE sp1( )
15345BEGIN
15346    declare read handler for sqlstate '02000' set @var2 = 1;
15347END//
15348delimiter ;//
15349
15350DROP PROCEDURE IF EXISTS sp1;
15351
15352delimiter //;
15353--error ER_PARSE_ERROR
15354CREATE PROCEDURE sp1( )
15355BEGIN
15356    declare reads handler for sqlstate '02000' set @var2 = 1;
15357END//
15358delimiter ;//
15359
15360DROP PROCEDURE IF EXISTS sp1;
15361
15362delimiter //;
15363--error ER_PARSE_ERROR
15364CREATE PROCEDURE sp1( )
15365BEGIN
15366    declare read_only handler for sqlstate '02000' set @var2 = 1;
15367END//
15368delimiter ;//
15369
15370DROP PROCEDURE IF EXISTS sp1;
15371
15372delimiter //;
15373--error ER_PARSE_ERROR
15374CREATE PROCEDURE sp1( )
15375BEGIN
15376    declare read_write handler for sqlstate '02000' set @var2 = 1;
15377END//
15378delimiter ;//
15379
15380DROP PROCEDURE IF EXISTS sp1;
15381
15382delimiter //;
15383--error ER_PARSE_ERROR
15384CREATE PROCEDURE sp1( )
15385BEGIN
15386    declare real handler for sqlstate '02000' set @var2 = 1;
15387END//
15388delimiter ;//
15389
15390DROP PROCEDURE IF EXISTS sp1;
15391
15392delimiter //;
15393--error ER_PARSE_ERROR
15394CREATE PROCEDURE sp1( )
15395BEGIN
15396    declare references handler for sqlstate '02000' set @var2 = 1;
15397END//
15398delimiter ;//
15399
15400DROP PROCEDURE IF EXISTS sp1;
15401
15402delimiter //;
15403--error ER_PARSE_ERROR
15404CREATE PROCEDURE sp1( )
15405BEGIN
15406    declare regexp handler for sqlstate '02000' set @var2 = 1;
15407END//
15408delimiter ;//
15409
15410DROP PROCEDURE IF EXISTS sp1;
15411
15412delimiter //;
15413--error ER_PARSE_ERROR
15414CREATE PROCEDURE sp1( )
15415BEGIN
15416    declare release handler for sqlstate '02000' set @var2 = 1;
15417END//
15418delimiter ;//
15419
15420DROP PROCEDURE IF EXISTS sp1;
15421
15422delimiter //;
15423--error ER_PARSE_ERROR
15424CREATE PROCEDURE sp1( )
15425BEGIN
15426    declare rename handler for sqlstate '02000' set @var2 = 1;
15427END//
15428delimiter ;//
15429
15430DROP PROCEDURE IF EXISTS sp1;
15431
15432delimiter //;
15433--error ER_PARSE_ERROR
15434CREATE PROCEDURE sp1( )
15435BEGIN
15436    declare repeat handler for sqlstate '02000' set @var2 = 1;
15437END//
15438delimiter ;//
15439
15440DROP PROCEDURE IF EXISTS sp1;
15441
15442delimiter //;
15443--error ER_PARSE_ERROR
15444CREATE PROCEDURE sp1( )
15445BEGIN
15446    declare replace handler for sqlstate '02000' set @var2 = 1;
15447END//
15448delimiter ;//
15449
15450DROP PROCEDURE IF EXISTS sp1;
15451
15452delimiter //;
15453--error ER_PARSE_ERROR
15454CREATE PROCEDURE sp1( )
15455BEGIN
15456    declare require handler for sqlstate '02000' set @var2 = 1;
15457END//
15458delimiter ;//
15459
15460DROP PROCEDURE IF EXISTS sp1;
15461
15462delimiter //;
15463--error ER_PARSE_ERROR
15464CREATE PROCEDURE sp1( )
15465BEGIN
15466    declare restrict handler for sqlstate '02000' set @var2 = 1;
15467END//
15468delimiter ;//
15469
15470DROP PROCEDURE IF EXISTS sp1;
15471
15472delimiter //;
15473--error ER_PARSE_ERROR
15474CREATE PROCEDURE sp1( )
15475BEGIN
15476    declare return handler for sqlstate '02000' set @var2 = 1;
15477END//
15478delimiter ;//
15479
15480DROP PROCEDURE IF EXISTS sp1;
15481
15482delimiter //;
15483--error ER_PARSE_ERROR
15484CREATE PROCEDURE sp1( )
15485BEGIN
15486    declare revoke handler for sqlstate '02000' set @var2 = 1;
15487END//
15488delimiter ;//
15489
15490DROP PROCEDURE IF EXISTS sp1;
15491
15492delimiter //;
15493--error ER_PARSE_ERROR
15494CREATE PROCEDURE sp1( )
15495BEGIN
15496    declare right handler for sqlstate '02000' set @var2 = 1;
15497END//
15498delimiter ;//
15499
15500DROP PROCEDURE IF EXISTS sp1;
15501
15502delimiter //;
15503--error ER_PARSE_ERROR
15504CREATE PROCEDURE sp1( )
15505BEGIN
15506    declare rlike handler for sqlstate '02000' set @var2 = 1;
15507END//
15508delimiter ;//
15509
15510DROP PROCEDURE IF EXISTS sp1;
15511
15512delimiter //;
15513--error ER_PARSE_ERROR
15514CREATE PROCEDURE sp1( )
15515BEGIN
15516    declare schema handler for sqlstate '02000' set @var2 = 1;
15517END//
15518delimiter ;//
15519
15520DROP PROCEDURE IF EXISTS sp1;
15521
15522delimiter //;
15523--error ER_PARSE_ERROR
15524CREATE PROCEDURE sp1( )
15525BEGIN
15526    declare schemas handler for sqlstate '02000' set @var2 = 1;
15527END//
15528delimiter ;//
15529
15530DROP PROCEDURE IF EXISTS sp1;
15531
15532delimiter //;
15533--error ER_PARSE_ERROR
15534CREATE PROCEDURE sp1( )
15535BEGIN
15536    declare second_microsecond handler for sqlstate '02000' set @var2 = 1;
15537END//
15538delimiter ;//
15539
15540DROP PROCEDURE IF EXISTS sp1;
15541
15542delimiter //;
15543--error ER_PARSE_ERROR
15544CREATE PROCEDURE sp1( )
15545BEGIN
15546    declare select handler for sqlstate '02000' set @var2 = 1;
15547END//
15548delimiter ;//
15549
15550DROP PROCEDURE IF EXISTS sp1;
15551
15552delimiter //;
15553--error ER_PARSE_ERROR
15554CREATE PROCEDURE sp1( )
15555BEGIN
15556    declare sensitive handler for sqlstate '02000' set @var2 = 1;
15557END//
15558delimiter ;//
15559
15560DROP PROCEDURE IF EXISTS sp1;
15561
15562delimiter //;
15563--error ER_PARSE_ERROR
15564CREATE PROCEDURE sp1( )
15565BEGIN
15566    declare separator handler for sqlstate '02000' set @var2 = 1;
15567END//
15568delimiter ;//
15569
15570DROP PROCEDURE IF EXISTS sp1;
15571
15572delimiter //;
15573--error ER_PARSE_ERROR
15574CREATE PROCEDURE sp1( )
15575BEGIN
15576    declare set handler for sqlstate '02000' set @var2 = 1;
15577END//
15578delimiter ;//
15579
15580DROP PROCEDURE IF EXISTS sp1;
15581
15582delimiter //;
15583--error ER_PARSE_ERROR
15584CREATE PROCEDURE sp1( )
15585BEGIN
15586    declare show handler for sqlstate '02000' set @var2 = 1;
15587END//
15588delimiter ;//
15589
15590DROP PROCEDURE IF EXISTS sp1;
15591
15592delimiter //;
15593--error ER_PARSE_ERROR
15594CREATE PROCEDURE sp1( )
15595BEGIN
15596    declare smallint handler for sqlstate '02000' set @var2 = 1;
15597END//
15598delimiter ;//
15599
15600DROP PROCEDURE IF EXISTS sp1;
15601
15602delimiter //;
15603--error ER_PARSE_ERROR
15604CREATE PROCEDURE sp1( )
15605BEGIN
15606    declare spatial handler for sqlstate '02000' set @var2 = 1;
15607END//
15608delimiter ;//
15609
15610DROP PROCEDURE IF EXISTS sp1;
15611
15612delimiter //;
15613--error ER_PARSE_ERROR
15614CREATE PROCEDURE sp1( )
15615BEGIN
15616    declare specific handler for sqlstate '02000' set @var2 = 1;
15617END//
15618delimiter ;//
15619
15620DROP PROCEDURE IF EXISTS sp1;
15621
15622delimiter //;
15623--error ER_PARSE_ERROR
15624CREATE PROCEDURE sp1( )
15625BEGIN
15626    declare sql handler for sqlstate '02000' set @var2 = 1;
15627END//
15628delimiter ;//
15629
15630DROP PROCEDURE IF EXISTS sp1;
15631
15632delimiter //;
15633--error ER_PARSE_ERROR
15634CREATE PROCEDURE sp1( )
15635BEGIN
15636    declare sqlexception handler for sqlstate '02000' set @var2 = 1;
15637END//
15638delimiter ;//
15639
15640DROP PROCEDURE IF EXISTS sp1;
15641
15642delimiter //;
15643--error ER_PARSE_ERROR
15644CREATE PROCEDURE sp1( )
15645BEGIN
15646    declare sqlstate handler for sqlstate '02000' set @var2 = 1;
15647END//
15648delimiter ;//
15649
15650DROP PROCEDURE IF EXISTS sp1;
15651
15652delimiter //;
15653--error ER_PARSE_ERROR
15654CREATE PROCEDURE sp1( )
15655BEGIN
15656    declare sqlwarning handler for sqlstate '02000' set @var2 = 1;
15657END//
15658delimiter ;//
15659
15660DROP PROCEDURE IF EXISTS sp1;
15661
15662delimiter //;
15663--error ER_PARSE_ERROR
15664CREATE PROCEDURE sp1( )
15665BEGIN
15666    declare sql_big_result handler for sqlstate '02000' set @var2 = 1;
15667END//
15668delimiter ;//
15669
15670DROP PROCEDURE IF EXISTS sp1;
15671
15672delimiter //;
15673--error ER_PARSE_ERROR
15674CREATE PROCEDURE sp1( )
15675BEGIN
15676    declare sql_calc_found_rows handler for sqlstate '02000' set @var2 = 1;
15677END//
15678delimiter ;//
15679
15680DROP PROCEDURE IF EXISTS sp1;
15681
15682delimiter //;
15683--error ER_PARSE_ERROR
15684CREATE PROCEDURE sp1( )
15685BEGIN
15686    declare sql_small_result handler for sqlstate '02000' set @var2 = 1;
15687END//
15688delimiter ;//
15689
15690DROP PROCEDURE IF EXISTS sp1;
15691
15692delimiter //;
15693--error ER_PARSE_ERROR
15694CREATE PROCEDURE sp1( )
15695BEGIN
15696    declare ssl handler for sqlstate '02000' set @var2 = 1;
15697END//
15698delimiter ;//
15699
15700DROP PROCEDURE IF EXISTS sp1;
15701
15702delimiter //;
15703--error ER_PARSE_ERROR
15704CREATE PROCEDURE sp1( )
15705BEGIN
15706    declare starting handler for sqlstate '02000' set @var2 = 1;
15707END//
15708delimiter ;//
15709
15710DROP PROCEDURE IF EXISTS sp1;
15711
15712delimiter //;
15713--error ER_PARSE_ERROR
15714CREATE PROCEDURE sp1( )
15715BEGIN
15716    declare straight_join handler for sqlstate '02000' set @var2 = 1;
15717END//
15718delimiter ;//
15719
15720DROP PROCEDURE IF EXISTS sp1;
15721
15722delimiter //;
15723--error ER_PARSE_ERROR
15724CREATE PROCEDURE sp1( )
15725BEGIN
15726    declare table handler for sqlstate '02000' set @var2 = 1;
15727END//
15728delimiter ;//
15729
15730DROP PROCEDURE IF EXISTS sp1;
15731
15732delimiter //;
15733--error ER_PARSE_ERROR
15734CREATE PROCEDURE sp1( )
15735BEGIN
15736    declare terminated handler for sqlstate '02000' set @var2 = 1;
15737END//
15738delimiter ;//
15739
15740DROP PROCEDURE IF EXISTS sp1;
15741
15742delimiter //;
15743--error ER_PARSE_ERROR
15744CREATE PROCEDURE sp1( )
15745BEGIN
15746    declare then handler for sqlstate '02000' set @var2 = 1;
15747END//
15748delimiter ;//
15749
15750DROP PROCEDURE IF EXISTS sp1;
15751
15752delimiter //;
15753--error ER_PARSE_ERROR
15754CREATE PROCEDURE sp1( )
15755BEGIN
15756    declare tinyblob handler for sqlstate '02000' set @var2 = 1;
15757END//
15758delimiter ;//
15759
15760DROP PROCEDURE IF EXISTS sp1;
15761
15762delimiter //;
15763--error ER_PARSE_ERROR
15764CREATE PROCEDURE sp1( )
15765BEGIN
15766    declare tinyint handler for sqlstate '02000' set @var2 = 1;
15767END//
15768delimiter ;//
15769
15770DROP PROCEDURE IF EXISTS sp1;
15771
15772delimiter //;
15773--error ER_PARSE_ERROR
15774CREATE PROCEDURE sp1( )
15775BEGIN
15776    declare tinytext handler for sqlstate '02000' set @var2 = 1;
15777END//
15778delimiter ;//
15779
15780DROP PROCEDURE IF EXISTS sp1;
15781
15782delimiter //;
15783--error ER_PARSE_ERROR
15784CREATE PROCEDURE sp1( )
15785BEGIN
15786    declare to handler for sqlstate '02000' set @var2 = 1;
15787END//
15788delimiter ;//
15789
15790DROP PROCEDURE IF EXISTS sp1;
15791
15792delimiter //;
15793--error ER_PARSE_ERROR
15794CREATE PROCEDURE sp1( )
15795BEGIN
15796    declare trailing handler for sqlstate '02000' set @var2 = 1;
15797END//
15798delimiter ;//
15799
15800DROP PROCEDURE IF EXISTS sp1;
15801
15802delimiter //;
15803--error ER_PARSE_ERROR
15804CREATE PROCEDURE sp1( )
15805BEGIN
15806    declare trigger handler for sqlstate '02000' set @var2 = 1;
15807END//
15808delimiter ;//
15809
15810DROP PROCEDURE IF EXISTS sp1;
15811
15812delimiter //;
15813--error ER_PARSE_ERROR
15814CREATE PROCEDURE sp1( )
15815BEGIN
15816    declare true handler for sqlstate '02000' set @var2 = 1;
15817END//
15818delimiter ;//
15819
15820DROP PROCEDURE IF EXISTS sp1;
15821
15822delimiter //;
15823--error ER_PARSE_ERROR
15824CREATE PROCEDURE sp1( )
15825BEGIN
15826    declare undo handler for sqlstate '02000' set @var2 = 1;
15827END//
15828delimiter ;//
15829
15830DROP PROCEDURE IF EXISTS sp1;
15831
15832delimiter //;
15833--error ER_PARSE_ERROR
15834CREATE PROCEDURE sp1( )
15835BEGIN
15836    declare union handler for sqlstate '02000' set @var2 = 1;
15837END//
15838delimiter ;//
15839
15840DROP PROCEDURE IF EXISTS sp1;
15841
15842delimiter //;
15843--error ER_PARSE_ERROR
15844CREATE PROCEDURE sp1( )
15845BEGIN
15846    declare unique handler for sqlstate '02000' set @var2 = 1;
15847END//
15848delimiter ;//
15849
15850DROP PROCEDURE IF EXISTS sp1;
15851
15852delimiter //;
15853--error ER_PARSE_ERROR
15854CREATE PROCEDURE sp1( )
15855BEGIN
15856    declare unlock handler for sqlstate '02000' set @var2 = 1;
15857END//
15858delimiter ;//
15859
15860DROP PROCEDURE IF EXISTS sp1;
15861
15862delimiter //;
15863--error ER_PARSE_ERROR
15864CREATE PROCEDURE sp1( )
15865BEGIN
15866    declare unsigned handler for sqlstate '02000' set @var2 = 1;
15867END//
15868delimiter ;//
15869
15870DROP PROCEDURE IF EXISTS sp1;
15871
15872delimiter //;
15873--error ER_PARSE_ERROR
15874CREATE PROCEDURE sp1( )
15875BEGIN
15876    declare update handler for sqlstate '02000' set @var2 = 1;
15877END//
15878delimiter ;//
15879
15880DROP PROCEDURE IF EXISTS sp1;
15881
15882delimiter //;
15883--error ER_PARSE_ERROR
15884CREATE PROCEDURE sp1( )
15885BEGIN
15886    declare usage handler for sqlstate '02000' set @var2 = 1;
15887END//
15888delimiter ;//
15889
15890DROP PROCEDURE IF EXISTS sp1;
15891
15892delimiter //;
15893--error ER_PARSE_ERROR
15894CREATE PROCEDURE sp1( )
15895BEGIN
15896    declare use handler for sqlstate '02000' set @var2 = 1;
15897END//
15898delimiter ;//
15899
15900DROP PROCEDURE IF EXISTS sp1;
15901
15902delimiter //;
15903--error ER_PARSE_ERROR
15904CREATE PROCEDURE sp1( )
15905BEGIN
15906    declare using handler for sqlstate '02000' set @var2 = 1;
15907END//
15908delimiter ;//
15909
15910DROP PROCEDURE IF EXISTS sp1;
15911
15912delimiter //;
15913--error ER_PARSE_ERROR
15914CREATE PROCEDURE sp1( )
15915BEGIN
15916    declare utc_date handler for sqlstate '02000' set @var2 = 1;
15917END//
15918delimiter ;//
15919
15920DROP PROCEDURE IF EXISTS sp1;
15921
15922delimiter //;
15923--error ER_PARSE_ERROR
15924CREATE PROCEDURE sp1( )
15925BEGIN
15926    declare utc_time handler for sqlstate '02000' set @var2 = 1;
15927END//
15928delimiter ;//
15929
15930DROP PROCEDURE IF EXISTS sp1;
15931
15932delimiter //;
15933--error ER_PARSE_ERROR
15934CREATE PROCEDURE sp1( )
15935BEGIN
15936    declare utc_timestamp handler for sqlstate '02000' set @var2 = 1;
15937END//
15938delimiter ;//
15939
15940DROP PROCEDURE IF EXISTS sp1;
15941
15942delimiter //;
15943--error ER_PARSE_ERROR
15944CREATE PROCEDURE sp1( )
15945BEGIN
15946    declare values handler for sqlstate '02000' set @var2 = 1;
15947END//
15948delimiter ;//
15949
15950DROP PROCEDURE IF EXISTS sp1;
15951
15952delimiter //;
15953--error ER_PARSE_ERROR
15954CREATE PROCEDURE sp1( )
15955BEGIN
15956    declare varbinary handler for sqlstate '02000' set @var2 = 1;
15957END//
15958delimiter ;//
15959
15960DROP PROCEDURE IF EXISTS sp1;
15961
15962delimiter //;
15963--error ER_PARSE_ERROR
15964CREATE PROCEDURE sp1( )
15965BEGIN
15966    declare varchar handler for sqlstate '02000' set @var2 = 1;
15967END//
15968delimiter ;//
15969
15970DROP PROCEDURE IF EXISTS sp1;
15971
15972delimiter //;
15973--error ER_PARSE_ERROR
15974CREATE PROCEDURE sp1( )
15975BEGIN
15976    declare varcharacter handler for sqlstate '02000' set @var2 = 1;
15977END//
15978delimiter ;//
15979
15980DROP PROCEDURE IF EXISTS sp1;
15981
15982delimiter //;
15983--error ER_PARSE_ERROR
15984CREATE PROCEDURE sp1( )
15985BEGIN
15986    declare varying handler for sqlstate '02000' set @var2 = 1;
15987END//
15988delimiter ;//
15989
15990DROP PROCEDURE IF EXISTS sp1;
15991
15992delimiter //;
15993--error ER_PARSE_ERROR
15994CREATE PROCEDURE sp1( )
15995BEGIN
15996    declare when handler for sqlstate '02000' set @var2 = 1;
15997END//
15998delimiter ;//
15999
16000DROP PROCEDURE IF EXISTS sp1;
16001
16002delimiter //;
16003--error ER_PARSE_ERROR
16004CREATE PROCEDURE sp1( )
16005BEGIN
16006    declare where handler for sqlstate '02000' set @var2 = 1;
16007END//
16008delimiter ;//
16009
16010DROP PROCEDURE IF EXISTS sp1;
16011
16012delimiter //;
16013--error ER_PARSE_ERROR
16014CREATE PROCEDURE sp1( )
16015BEGIN
16016    declare while handler for sqlstate '02000' set @var2 = 1;
16017END//
16018delimiter ;//
16019
16020DROP PROCEDURE IF EXISTS sp1;
16021
16022delimiter //;
16023--error ER_PARSE_ERROR
16024CREATE PROCEDURE sp1( )
16025BEGIN
16026    declare with handler for sqlstate '02000' set @var2 = 1;
16027END//
16028delimiter ;//
16029
16030DROP PROCEDURE IF EXISTS sp1;
16031
16032delimiter //;
16033--error ER_PARSE_ERROR
16034CREATE PROCEDURE sp1( )
16035BEGIN
16036    declare write handler for sqlstate '02000' set @var2 = 1;
16037END//
16038delimiter ;//
16039
16040DROP PROCEDURE IF EXISTS sp1;
16041
16042delimiter //;
16043--error ER_PARSE_ERROR
16044CREATE PROCEDURE sp1( )
16045BEGIN
16046    declare xor handler for sqlstate '02000' set @var2 = 1;
16047END//
16048delimiter ;//
16049
16050DROP PROCEDURE IF EXISTS sp1;
16051
16052delimiter //;
16053--error ER_PARSE_ERROR
16054CREATE PROCEDURE sp1( )
16055BEGIN
16056    declare year_month handler for sqlstate '02000' set @var2 = 1;
16057END//
16058delimiter ;//
16059
16060DROP PROCEDURE IF EXISTS sp1;
16061
16062delimiter //;
16063--error ER_PARSE_ERROR
16064CREATE PROCEDURE sp1( )
16065BEGIN
16066    declare zerofill handler for sqlstate '02000' set @var2 = 1;
16067END//
16068delimiter ;//
16069
16070
16071# ==============================================================================
16072#
16073# test plan section: 4.2 - syntax checks for programming statements - 2
16074#
16075# ==============================================================================
16076
16077
16078USE db_storedproc;
16079
16080
16081# ------------------------------------------------------------------------------
16082let $message= Testcase 4.2.26:;
16083--source include/show_msg80.inc
16084
16085# testcase: ensure that the scope of every variable, cursor, condition and handler
16086#            declared for a stored procedure (with the declare statement) is properly applied.
16087
16088
16089set @v1='0';
16090set @v2='0';
16091--disable_warnings
16092DROP PROCEDURE IF EXISTS sp1;
16093--enable_warnings
16094
16095delimiter //;
16096CREATE PROCEDURE sp1()
16097BEGIN
16098    declare x char;
16099    declare y char;
16100    declare cond1 condition for sqlstate '42000';
16101    declare cur1 cursor for SELECT f1 from t2 limit 1;
16102    declare continue handler for cond1 set @x = 4;
16103    set @x = '1';
16104    set @y = '2';
16105    BEGIN
16106      declare x char;
16107      declare y char;
16108      declare cur1 cursor for SELECT f1 from t2 limit 2, 1;
16109      declare continue handler for sqlstate '42000' set @x = 3;
16110      open cur1;
16111      fetch cur1 into y;
16112      close cur1;
16113    CALL nonsexist();
16114      SELECT x, y, @x;
16115    END;
16116    open cur1;
16117    fetch cur1 into y;
16118    close cur1;
16119  CALL nonsexist();
16120    set @v1 = @x;
16121    set @v2 = y;
16122END//
16123delimiter ;//
16124
16125CALL sp1();
16126  SELECT @v1, @v2;
16127
16128# cleanup
16129DROP PROCEDURE sp1;
16130
16131
16132# ------------------------------------------------------------------------------
16133let $message= Testcase 4.2.28:;
16134--source include/show_msg80.inc
16135
16136# testcase: ensure that the set statement can assign a value to every local variable
16137#            declared within a stored procedures definition, as well as to every
16138#            appropriate global server variable.
16139
16140SET @x = 0;
16141SET @y = 0;
16142DROP PROCEDURE IF EXISTS sp1;
16143
16144SET @start_global_value = @@GLOBAL.sort_buffer_size;
16145delimiter //;
16146CREATE PROCEDURE sp1()
16147BEGIN
16148   DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' SET @x2 = 1;
16149   SET SESSION SORT_BUFFER_SIZE = 10 * 1024 * 1024;
16150   SELECT @@sort_buffer_size;
16151   SET @x = 4;
16152   SET @y = 3;
16153   SET GLOBAL SORT_BUFFER_SIZE = 2 * 1024 * 1024;
16154   SELECT @@sort_buffer_size;
16155   SET @@sort_buffer_size = 10 * 1024 * 1024;
16156   SELECT @@sort_buffer_size;
16157END//
16158delimiter ;//
16159CALL sp1();
16160SELECT @x, @y;
16161SET @@GLOBAL.sort_buffer_size = @start_global_value;
16162
16163
16164# ------------------------------------------------------------------------------
16165let $message= Testcase 4.2.29:;
16166--source include/show_msg80.inc
16167
16168# testcase: ensure that the set statement can assign values to variables either
16169#            separately or multiple variables in a list.
16170
16171
16172DROP PROCEDURE IF EXISTS sp1;
16173
16174delimiter //;
16175CREATE PROCEDURE sp1()
16176BEGIN
16177    declare xx char default 'x';
16178    declare xy char default 'y';
16179    declare xz char default 'z';
16180    set @xx = xx, @xy = xy;
16181    set @xz = xz;
16182    SELECT @xx, @xy, @xz;
16183END//
16184delimiter ;//
16185
16186CALL sp1();
16187
16188# cleanup
16189DROP PROCEDURE sp1;
16190
16191
16192
16193# ------------------------------------------------------------------------------
16194let $message= Testcase 4.2.30:;
16195--source include/show_msg80.inc
16196
16197# testcase: ensure that the set statement may assign only those values to a variable
16198#            that are appropriate for that variables data type definition
16199
16200# integer data_type.
16201
16202  set @xx=0;
16203
16204DROP PROCEDURE IF EXISTS sp1;
16205
16206delimiter //;
16207CREATE PROCEDURE sp1()
16208BEGIN
16209    declare xx int;
16210    set xx = 'asd';
16211    set @xx = xx;
16212    SELECT @xx;
16213END//
16214delimiter ;//
16215
16216CALL sp1();
16217
16218DROP PROCEDURE IF EXISTS sp1;
16219
16220delimiter //;
16221CREATE PROCEDURE sp1()
16222BEGIN
16223    declare xx int;
16224    set xx = 5;
16225    set @xx = xx;
16226    SELECT @xx;
16227END//
16228delimiter ;//
16229
16230CALL sp1();
16231
16232# cleanup
16233DROP PROCEDURE sp1;
16234
16235
16236# ------------------------------------------------------------------------------
16237let $message= Testcase 4.2.31 - a:;
16238--source include/show_msg80.inc
16239
16240# character data_type
16241
16242  set @xx=0;
16243
16244DROP PROCEDURE IF EXISTS sp1;
16245
16246delimiter //;
16247CREATE PROCEDURE sp1()
16248BEGIN
16249    declare xx char;
16250    set xx = 'temp';
16251    set @xx = xx;
16252END//
16253delimiter ;//
16254
16255CALL sp1();
16256
16257  SELECT @xx;
16258
16259# cleanup
16260DROP PROCEDURE sp1;
16261
16262
16263# ------------------------------------------------------------------------------
16264let $message= Testcase 4.2.31 - b:;
16265--source include/show_msg80.inc
16266
16267# float data_type
16268
16269DROP PROCEDURE IF EXISTS sp1;
16270
16271delimiter //;
16272CREATE PROCEDURE sp1()
16273BEGIN
16274    declare xx float;
16275    set xx = 'asd';
16276    SELECT xx;
16277END//
16278delimiter ;//
16279
16280CALL sp1();
16281
16282DROP PROCEDURE IF EXISTS sp1;
16283
16284delimiter //;
16285CREATE PROCEDURE sp1()
16286BEGIN
16287    declare xx float;
16288    set xx = 1.6;
16289    SELECT xx;
16290END//
16291delimiter ;//
16292
16293CALL sp1();
16294
16295# cleanup
16296DROP PROCEDURE sp1;
16297
16298
16299
16300# ------------------------------------------------------------------------------
16301let $message= Testcase 4.2.31 - c:;
16302--source include/show_msg80.inc
16303
16304# datetime data_type
16305
16306DROP PROCEDURE IF EXISTS sp1;
16307
16308delimiter //;
16309CREATE PROCEDURE sp1()
16310BEGIN
16311    declare xx datetime;
16312    set xx = 'asd';
16313    SELECT xx;
16314END//
16315delimiter ;//
16316
16317CALL sp1();
16318
16319DROP PROCEDURE IF EXISTS sp1;
16320
16321delimiter //;
16322CREATE PROCEDURE sp1()
16323BEGIN
16324    declare xx datetime;
16325    set xx = '2006-06-06 01:01:01';
16326    SELECT xx;
16327END//
16328delimiter ;//
16329
16330CALL sp1();
16331
16332# cleanup
16333DROP PROCEDURE sp1;
16334
16335
16336# ------------------------------------------------------------------------------
16337let $message= Testcase 4.2.31 - d:;
16338--source include/show_msg80.inc
16339
16340# varchar data_type
16341
16342DROP PROCEDURE IF EXISTS sp1;
16343
16344delimiter //;
16345CREATE PROCEDURE sp1()
16346BEGIN
16347    declare xx varchar(20);
16348    set xx = "abcdefghijk";
16349    SELECT xx;
16350END//
16351delimiter ;//
16352
16353CALL sp1();
16354
16355# cleanup
16356DROP PROCEDURE sp1;
16357
16358
16359# ------------------------------------------------------------------------------
16360let $message= Testcase 4.2.31 - e:;
16361--source include/show_msg80.inc
16362
16363# tinyint
16364
16365DROP PROCEDURE IF EXISTS sp1;
16366
16367delimiter //;
16368CREATE PROCEDURE sp1()
16369BEGIN
16370    declare xx tinyint;
16371    set xx = 'asd';
16372    SELECT xx;
16373END//
16374delimiter ;//
16375
16376CALL sp1();
16377
16378DROP PROCEDURE IF EXISTS sp1;
16379
16380delimiter //;
16381CREATE PROCEDURE sp1()
16382BEGIN
16383    declare xx tinyint;
16384    set xx = -125;
16385    SELECT xx;
16386END//
16387delimiter ;//
16388
16389CALL sp1();
16390
16391# cleanup
16392DROP PROCEDURE sp1;
16393
16394
16395
16396# ------------------------------------------------------------------------------
16397let $message= Testcase 4.2.37:;
16398--source include/show_msg80.inc
16399
16400# testcase: ensure that the SELECT  into statement that retrieves column values
16401#            with inappropriate data types for the matching variables in its variable
16402#            list is rejected, with an appropriate error message.
16403
16404DROP PROCEDURE IF EXISTS sp1;
16405
16406delimiter //;
16407CREATE PROCEDURE sp1( )
16408BEGIN
16409    declare x integer; declare y integer;
16410    SELECT sal, f2 into x, y from t2 limit 1;
16411    set @x=x; set @y=y;
16412END//
16413delimiter ;//
16414
16415DROP PROCEDURE IF EXISTS sp1;
16416
16417delimiter //;
16418CREATE PROCEDURE sp1()
16419BEGIN
16420    declare x char ascii;
16421    SELECT f1 into x from t2 limit 1;
16422END//
16423delimiter ;//
16424
16425CALL sp1();
16426
16427DROP PROCEDURE IF EXISTS sp1;
16428
16429delimiter //;
16430CREATE PROCEDURE sp1()
16431BEGIN
16432    declare x tinytext;
16433    SELECT f1 into x from t2 limit 1;
16434END//
16435delimiter ;//
16436
16437CALL sp1();
16438
16439
16440DROP PROCEDURE IF EXISTS sp1;
16441
16442delimiter //;
16443CREATE PROCEDURE sp1()
16444BEGIN
16445    declare x text;
16446    SELECT f1 into x from t2 limit 1;
16447END//
16448delimiter ;//
16449
16450CALL sp1();
16451
16452DROP PROCEDURE IF EXISTS sp1;
16453
16454delimiter //;
16455CREATE PROCEDURE sp1()
16456BEGIN
16457    declare x mediumtext;
16458    SELECT f1 into x from t2 limit 1;
16459END//
16460delimiter ;//
16461
16462CALL sp1();
16463
16464DROP PROCEDURE IF EXISTS sp1;
16465
16466delimiter //;
16467CREATE PROCEDURE sp1()
16468BEGIN
16469    declare x longtext;
16470    SELECT f1 into x from t2 limit 1;
16471END//
16472delimiter ;//
16473
16474CALL sp1();
16475
16476DROP PROCEDURE IF EXISTS sp1;
16477
16478delimiter //;
16479CREATE PROCEDURE sp1()
16480BEGIN
16481    declare x tinyblob;
16482    SELECT f1 into x from t2 limit 1;
16483END//
16484delimiter ;//
16485
16486CALL sp1();
16487
16488DROP PROCEDURE IF EXISTS sp1;
16489
16490delimiter //;
16491CREATE PROCEDURE sp1()
16492BEGIN
16493    declare x blob;
16494    SELECT f1 into x from t2 limit 1;
16495END//
16496delimiter ;//
16497
16498CALL sp1();
16499
16500DROP PROCEDURE IF EXISTS sp1;
16501
16502delimiter //;
16503CREATE PROCEDURE sp1()
16504BEGIN
16505    declare x mediumblob;
16506    SELECT f1 into x from t2 limit 1;
16507END//
16508delimiter ;//
16509
16510CALL sp1();
16511
16512DROP PROCEDURE IF EXISTS sp1;
16513
16514delimiter //;
16515CREATE PROCEDURE sp1()
16516BEGIN
16517    declare x longblob;
16518    SELECT f1 into x from t2 limit 1;
16519END//
16520delimiter ;//
16521
16522CALL sp1();
16523
16524DROP PROCEDURE IF EXISTS sp1;
16525
16526delimiter //;
16527CREATE PROCEDURE sp1()
16528BEGIN
16529    declare x binary;
16530    SELECT f1 into x from t2 limit 1;
16531END//
16532delimiter ;//
16533
16534CALL sp1();
16535
16536--disable_warnings
16537
16538DROP PROCEDURE IF EXISTS sp1;
16539
16540delimiter //;
16541CREATE PROCEDURE sp1()
16542BEGIN
16543    declare x tinyint;
16544    SELECT f1 into x from t2 limit 1;
16545END//
16546delimiter ;//
16547
16548CALL sp1();
16549
16550DROP PROCEDURE IF EXISTS sp1;
16551
16552delimiter //;
16553CREATE PROCEDURE sp1()
16554BEGIN
16555    declare x tinyint unsigned;
16556    SELECT f1 into x from t2 limit 1;
16557END//
16558delimiter ;//
16559
16560CALL sp1();
16561
16562DROP PROCEDURE IF EXISTS sp1;
16563
16564delimiter //;
16565CREATE PROCEDURE sp1()
16566BEGIN
16567    declare x tinyint zerofill;
16568    SELECT f1 into x from t2 limit 1;
16569END//
16570delimiter ;//
16571
16572CALL sp1();
16573
16574DROP PROCEDURE IF EXISTS sp1;
16575
16576delimiter //;
16577CREATE PROCEDURE sp1()
16578BEGIN
16579    declare x tinyint unsigned zerofill;
16580    SELECT f1 into x from t2 limit 1;
16581END//
16582delimiter ;//
16583
16584CALL sp1();
16585
16586DROP PROCEDURE IF EXISTS sp1;
16587
16588delimiter //;
16589CREATE PROCEDURE sp1()
16590BEGIN
16591    declare x smallint;
16592    SELECT f1 into x from t2 limit 1;
16593END//
16594delimiter ;//
16595
16596CALL sp1();
16597
16598DROP PROCEDURE IF EXISTS sp1;
16599
16600delimiter //;
16601CREATE PROCEDURE sp1()
16602BEGIN
16603    declare x smallint unsigned;
16604    SELECT f1 into x from t2 limit 1;
16605END//
16606delimiter ;//
16607
16608CALL sp1();
16609
16610DROP PROCEDURE IF EXISTS sp1;
16611
16612delimiter //;
16613CREATE PROCEDURE sp1()
16614BEGIN
16615    declare x smallint zerofill;
16616    SELECT f1 into x from t2 limit 1;
16617END//
16618delimiter ;//
16619
16620CALL sp1();
16621
16622DROP PROCEDURE IF EXISTS sp1;
16623
16624delimiter //;
16625CREATE PROCEDURE sp1()
16626BEGIN
16627    declare x smallint unsigned zerofill;
16628    SELECT f1 into x from t2 limit 1;
16629END//
16630delimiter ;//
16631
16632CALL sp1();
16633
16634DROP PROCEDURE IF EXISTS sp1;
16635
16636delimiter //;
16637CREATE PROCEDURE sp1()
16638BEGIN
16639    declare x mediumint;
16640    SELECT f1 into x from t2 limit 1;
16641END//
16642delimiter ;//
16643
16644CALL sp1();
16645
16646DROP PROCEDURE IF EXISTS sp1;
16647
16648delimiter //;
16649CREATE PROCEDURE sp1()
16650BEGIN
16651    declare x mediumint unsigned;
16652    SELECT f1 into x from t2 limit 1;
16653END//
16654delimiter ;//
16655
16656CALL sp1();
16657
16658DROP PROCEDURE IF EXISTS sp1;
16659delimiter //;
16660CREATE PROCEDURE sp1()
16661BEGIN
16662    declare x mediumint zerofill;
16663    SELECT f1 into x from t2 limit 1;
16664END//
16665delimiter ;//
16666
16667CALL sp1();
16668
16669DROP PROCEDURE IF EXISTS sp1;
16670
16671delimiter //;
16672CREATE PROCEDURE sp1()
16673BEGIN
16674    declare x mediumint unsigned zerofill;
16675    SELECT f1 into x from t2 limit 1;
16676END//
16677delimiter ;//
16678
16679CALL sp1();
16680
16681DROP PROCEDURE IF EXISTS sp1;
16682
16683delimiter //;
16684CREATE PROCEDURE sp1()
16685BEGIN
16686    declare x int;
16687    SELECT f1 into x from t2 limit 1;
16688END//
16689delimiter ;//
16690
16691CALL sp1();
16692
16693DROP PROCEDURE IF EXISTS sp1;
16694
16695delimiter //;
16696CREATE PROCEDURE sp1()
16697BEGIN
16698    declare x int unsigned;
16699    SELECT f1 into x from t2 limit 1;
16700END//
16701delimiter ;//
16702
16703CALL sp1();
16704
16705DROP PROCEDURE IF EXISTS sp1;
16706
16707delimiter //;
16708CREATE PROCEDURE sp1()
16709BEGIN
16710    declare x int zerofill;
16711    SELECT f1 into x from t2 limit 1;
16712END//
16713delimiter ;//
16714
16715CALL sp1();
16716
16717DROP PROCEDURE IF EXISTS sp1;
16718
16719delimiter //;
16720CREATE PROCEDURE sp1()
16721BEGIN
16722    declare x int unsigned zerofill;
16723    SELECT f1 into x from t2 limit 1;
16724END//
16725delimiter ;//
16726
16727CALL sp1();
16728
16729DROP PROCEDURE IF EXISTS sp1;
16730
16731delimiter //;
16732CREATE PROCEDURE sp1()
16733BEGIN
16734    declare x bigint;
16735    SELECT f1 into x from t2 limit 1;
16736END//
16737delimiter ;//
16738
16739CALL sp1();
16740
16741DROP PROCEDURE IF EXISTS sp1;
16742
16743delimiter //;
16744CREATE PROCEDURE sp1()
16745BEGIN
16746    declare x bigint unsigned;
16747    SELECT f1 into x from t2 limit 1;
16748END//
16749delimiter ;//
16750
16751CALL sp1();
16752
16753DROP PROCEDURE IF EXISTS sp1;
16754
16755delimiter //;
16756CREATE PROCEDURE sp1()
16757BEGIN
16758    declare x bigint zerofill;
16759    SELECT f1 into x from t2 limit 1;
16760END//
16761delimiter ;//
16762
16763CALL sp1();
16764
16765DROP PROCEDURE IF EXISTS sp1;
16766
16767delimiter //;
16768CREATE PROCEDURE sp1()
16769BEGIN
16770    declare x bigint unsigned zerofill;
16771    SELECT f1 into x from t2 limit 1;
16772END//
16773delimiter ;//
16774
16775CALL sp1();
16776
16777DROP PROCEDURE IF EXISTS sp1;
16778
16779delimiter //;
16780CREATE PROCEDURE sp1()
16781BEGIN
16782    declare x decimal;
16783    SELECT f1 into x from t2 limit 1;
16784END//
16785delimiter ;//
16786
16787CALL sp1();
16788
16789DROP PROCEDURE IF EXISTS sp1;
16790
16791delimiter //;
16792CREATE PROCEDURE sp1()
16793BEGIN
16794    declare x decimal unsigned;
16795    SELECT f1 into x from t2 limit 1;
16796END//
16797delimiter ;//
16798
16799CALL sp1();
16800
16801DROP PROCEDURE IF EXISTS sp1;
16802
16803delimiter //;
16804CREATE PROCEDURE sp1()
16805BEGIN
16806    declare x decimal zerofill;
16807    SELECT f1 into x from t2 limit 1;
16808END//
16809delimiter ;//
16810
16811CALL sp1();
16812
16813DROP PROCEDURE IF EXISTS sp1;
16814
16815delimiter //;
16816CREATE PROCEDURE sp1()
16817BEGIN
16818    declare x decimal unsigned zerofill;
16819    SELECT f1 into x from t2 limit 1;
16820END//
16821delimiter ;//
16822
16823CALL sp1();
16824
16825DROP PROCEDURE IF EXISTS sp1;
16826
16827delimiter //;
16828CREATE PROCEDURE sp1()
16829BEGIN
16830    declare x numeric;
16831    SELECT f1 into x from t2 limit 1;
16832END//
16833delimiter ;//
16834
16835CALL sp1();
16836
16837DROP PROCEDURE IF EXISTS sp1;
16838
16839delimiter //;
16840CREATE PROCEDURE sp1()
16841BEGIN
16842    declare x numeric unsigned;
16843    SELECT f1 into x from t2 limit 1;
16844END//
16845delimiter ;//
16846
16847CALL sp1();
16848
16849DROP PROCEDURE IF EXISTS sp1;
16850
16851delimiter //;
16852CREATE PROCEDURE sp1()
16853BEGIN
16854    declare x numeric zerofill;
16855    SELECT f1 into x from t2 limit 1;
16856END//
16857delimiter ;//
16858
16859CALL sp1();
16860
16861DROP PROCEDURE IF EXISTS sp1;
16862
16863delimiter //;
16864CREATE PROCEDURE sp1()
16865BEGIN
16866    declare x numeric unsigned zerofill;
16867    SELECT f1 into x from t2 limit 1;
16868END//
16869delimiter ;//
16870
16871CALL sp1();
16872
16873DROP PROCEDURE IF EXISTS sp1;
16874
16875delimiter //;
16876CREATE PROCEDURE sp1()
16877BEGIN
16878    declare x real;
16879    SELECT f1 into x from t2 limit 1;
16880END//
16881delimiter ;//
16882
16883CALL sp1();
16884
16885DROP PROCEDURE IF EXISTS sp1;
16886
16887delimiter //;
16888CREATE PROCEDURE sp1()
16889BEGIN
16890    declare x real unsigned;
16891    SELECT f1 into x from t2 limit 1;
16892END//
16893delimiter ;//
16894
16895CALL sp1();
16896
16897DROP PROCEDURE IF EXISTS sp1;
16898
16899delimiter //;
16900CREATE PROCEDURE sp1()
16901BEGIN
16902    declare x real zerofill;
16903    SELECT f1 into x from t2 limit 1;
16904END//
16905delimiter ;//
16906
16907CALL sp1();
16908
16909DROP PROCEDURE IF EXISTS sp1;
16910
16911delimiter //;
16912CREATE PROCEDURE sp1()
16913BEGIN
16914    declare x real unsigned zerofill;
16915    SELECT f1 into x from t2 limit 1;
16916END//
16917delimiter ;//
16918
16919CALL sp1();
16920
16921DROP PROCEDURE IF EXISTS sp1;
16922
16923delimiter //;
16924CREATE PROCEDURE sp1()
16925BEGIN
16926    declare x float;
16927    SELECT f1 into x from t2 limit 1;
16928END//
16929delimiter ;//
16930
16931CALL sp1();
16932
16933DROP PROCEDURE IF EXISTS sp1;
16934
16935delimiter //;
16936CREATE PROCEDURE sp1()
16937BEGIN
16938    declare x float unsigned;
16939    SELECT f1 into x from t2 limit 1;
16940END//
16941delimiter ;//
16942
16943CALL sp1();
16944
16945DROP PROCEDURE IF EXISTS sp1;
16946
16947delimiter //;
16948CREATE PROCEDURE sp1()
16949BEGIN
16950    declare x float zerofill;
16951    SELECT f1 into x from t2 limit 1;
16952END//
16953delimiter ;//
16954
16955CALL sp1();
16956
16957DROP PROCEDURE IF EXISTS sp1;
16958
16959delimiter //;
16960CREATE PROCEDURE sp1()
16961BEGIN
16962    declare x float unsigned zerofill;
16963    SELECT f1 into x from t2 limit 1;
16964END//
16965delimiter ;//
16966
16967CALL sp1();
16968
16969DROP PROCEDURE IF EXISTS sp1;
16970
16971delimiter //;
16972CREATE PROCEDURE sp1()
16973BEGIN
16974    declare x date;
16975    SELECT f1 into x from t2 limit 1;
16976END//
16977delimiter ;//
16978
16979CALL sp1();
16980
16981DROP PROCEDURE IF EXISTS sp1;
16982
16983delimiter //;
16984CREATE PROCEDURE sp1()
16985BEGIN
16986    declare x time;
16987    SELECT f1 into x from t2 limit 1;
16988END//
16989delimiter ;//
16990
16991CALL sp1();
16992
16993DROP PROCEDURE IF EXISTS sp1;
16994
16995delimiter //;
16996CREATE PROCEDURE sp1()
16997BEGIN
16998    declare x datetime;
16999    SELECT f1 into x from t2 limit 1;
17000END//
17001delimiter ;//
17002
17003CALL sp1();
17004
17005DROP PROCEDURE IF EXISTS sp1;
17006
17007delimiter //;
17008CREATE PROCEDURE sp1()
17009BEGIN
17010    declare x timestamp;
17011    SELECT f1 into x from t2 limit 1;
17012END//
17013delimiter ;//
17014
17015CALL sp1();
17016
17017DROP PROCEDURE IF EXISTS sp1;
17018
17019delimiter //;
17020CREATE PROCEDURE sp1()
17021BEGIN
17022    declare x year;
17023    SELECT f1 into x from t2 limit 1;
17024END//
17025delimiter ;//
17026
17027CALL sp1();
17028
17029DROP PROCEDURE IF EXISTS sp1;
17030
17031delimiter //;
17032CREATE PROCEDURE sp1()
17033BEGIN
17034    declare x year(3);
17035    SELECT f1 into x from t2 limit 1;
17036END//
17037delimiter ;//
17038
17039CALL sp1();
17040
17041DROP PROCEDURE IF EXISTS sp1;
17042
17043delimiter //;
17044CREATE PROCEDURE sp1()
17045BEGIN
17046    declare x year(4);
17047    SELECT f1 into x from t2 limit 1;
17048END//
17049delimiter ;//
17050
17051CALL sp1();
17052
17053DROP PROCEDURE IF EXISTS sp1;
17054
17055delimiter //;
17056CREATE PROCEDURE sp1()
17057BEGIN
17058    declare x enum("1enum", "2enum");
17059    SELECT f1 into x from t2 limit 1;
17060END//
17061delimiter ;//
17062
17063CALL sp1();
17064
17065DROP PROCEDURE IF EXISTS sp1;
17066
17067delimiter //;
17068CREATE PROCEDURE sp1()
17069BEGIN
17070    declare x set("1set", "2set");
17071    SELECT f1 into x from t2 limit 1;
17072END//
17073delimiter ;//
17074
17075CALL sp1();
17076
17077# cleanup
17078DROP PROCEDURE sp1;
17079--enable_warnings
17080
17081# ------------------------------------------------------------------------------
17082let $message= Testcase 4.2.38:;
17083--source include/show_msg80.inc
17084
17085# testcase: ensure that the declare condition for statement can declare a properly
17086#            named condition for every possible sqlstate and mysql-specific error code.
17087
17088DROP PROCEDURE IF EXISTS sp1;
17089
17090delimiter //;
17091CREATE PROCEDURE sp1()
17092BEGIN
17093    declare notable condition for sqlstate '42S02';
17094    declare continue handler for notable set @x2=1;
17095    set @x = 1;
17096    insert into t2(f1) values (1);
17097    set @x = 2;
17098    insert into t2(f1) values (1);
17099    set @x = 3;
17100END//
17101delimiter ;//
17102
17103CALL sp1();
17104
17105# cleanup
17106DROP PROCEDURE sp1;
17107
17108
17109
17110# ------------------------------------------------------------------------------
17111let $message= Testcase 4.2.39:;
17112--source include/show_msg80.inc
17113
17114# testcase: ensure that no two conditions declared with the same scope may have the
17115#            same condition name (same condition name in same scope)
17116
17117DROP PROCEDURE IF EXISTS sp1;
17118
17119delimiter //;
17120--error ER_SP_DUP_COND
17121CREATE PROCEDURE sp1()
17122BEGIN
17123    declare cond1 condition for sqlstate '42000';
17124    declare cond1 condition for sqlstate '23000';
17125    declare continue handler for cond1 set @var2 = 1;
17126    insert into tnull values(1);
17127END//
17128delimiter ;//
17129
17130
17131# ------------------------------------------------------------------------------
17132let $message= Testcase 4.2.41:;
17133--source include/show_msg80.inc
17134
17135# testcase: ensure that every sqlstate value declared with a declare  condition for
17136#            statement is a character string that is 5 character.
17137
17138DROP PROCEDURE IF EXISTS sp1;
17139
17140delimiter //;
17141--error ER_SP_BAD_SQLSTATE
17142CREATE PROCEDURE sp1()
17143BEGIN
17144    declare cond1 condition for sqlstate '1';
17145    declare continue handler for cond1 set @var2 = 1;
17146    insert into tnull values( 1);
17147END//
17148delimiter ;//
17149
17150--disable_warnings
17151DROP PROCEDURE IF EXISTS sp1;
17152--enable_warnings
17153
17154delimiter //;
17155--error ER_SP_BAD_SQLSTATE
17156CREATE PROCEDURE sp1()
17157BEGIN
17158    declare cond1 condition for sqlstate '12';
17159    declare continue handler for cond1 set @var2 = 1;
17160    insert into tnull values( 1);
17161END//
17162delimiter ;//
17163
17164--disable_warnings
17165DROP PROCEDURE IF EXISTS sp1;
17166--enable_warnings
17167
17168delimiter //;
17169--error ER_SP_BAD_SQLSTATE
17170CREATE PROCEDURE sp1()
17171BEGIN
17172    declare cond1 condition for sqlstate '123';
17173    declare continue handler for cond1 set @var2 = 1;
17174    insert into tnull values( 1);
17175END//
17176delimiter ;//
17177
17178--disable_warnings
17179DROP PROCEDURE IF EXISTS sp1;
17180--enable_warnings
17181
17182delimiter //;
17183--error ER_SP_BAD_SQLSTATE
17184CREATE PROCEDURE sp1()
17185BEGIN
17186    declare cond1 condition for sqlstate '1234';
17187    declare continue handler for cond1 set @var2 = 1;
17188    insert into tnull values( 1);
17189END//
17190delimiter ;//
17191
17192--disable_warnings
17193DROP PROCEDURE IF EXISTS sp1;
17194--enable_warnings
17195
17196delimiter //;
17197--error ER_SP_BAD_SQLSTATE
17198CREATE PROCEDURE sp1()
17199BEGIN
17200    declare cond1 condition for sqlstate '123456';
17201    declare continue handler for cond1 set @var2 = 1;
17202    insert into tnull values( 1);
17203END//
17204delimiter ;//
17205
17206
17207# ------------------------------------------------------------------------------
17208let $message= Testcase 4.2.42:;
17209--source include/show_msg80.inc
17210
17211# testcase: ensure that the declare  condition for statement cannot declare a
17212#            condition for an invalid sqlstate.
17213
17214
17215--disable_warnings
17216DROP PROCEDURE IF EXISTS sp1;
17217--enable_warnings
17218
17219delimiter //;
17220--error ER_SP_BAD_SQLSTATE
17221CREATE PROCEDURE sp1()
17222BEGIN
17223    declare cond1 condition for sqlstate 'abcdefghi';
17224    declare continue handler for cond1 set @var2 = 1;
17225    insert into tnull values( 1);
17226END//
17227delimiter ;//
17228
17229--disable_warnings
17230DROP PROCEDURE IF EXISTS sp1;
17231--enable_warnings
17232
17233delimiter //;
17234--error ER_SP_BAD_SQLSTATE
17235CREATE PROCEDURE sp1()
17236BEGIN
17237    declare cond1 condition for sqlstate '42000test';
17238    declare continue handler for cond1 set @var2 = 1;
17239    insert into tnull values( 1);
17240END//
17241delimiter ;//
17242
17243--disable_warnings
17244DROP PROCEDURE IF EXISTS sp1;
17245--enable_warnings
17246
17247delimiter //;
17248--error ER_SP_BAD_SQLSTATE
17249CREATE PROCEDURE sp1()
17250BEGIN
17251    declare cond1 condition for sqlstate '00000@#$%^&';
17252    declare continue handler for cond1 set @var2 = 1;
17253    insert into tnull values( 1);
17254END//
17255delimiter ;//
17256
17257--disable_warnings
17258DROP PROCEDURE IF EXISTS sp1;
17259--enable_warnings
17260
17261delimiter //;
17262--error ER_SP_BAD_SQLSTATE
17263CREATE PROCEDURE sp1()
17264BEGIN
17265    declare cond1 condition for sqlstate '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890';
17266    declare continue handler for cond1 set @var2 = 1;
17267    insert into tnull values( 1);
17268END//
17269delimiter ;//
17270
17271--disable_warnings
17272DROP PROCEDURE IF EXISTS sp1;
17273--enable_warnings
17274
17275delimiter //;
17276--error ER_SP_BAD_SQLSTATE
17277CREATE PROCEDURE sp1()
17278BEGIN
17279    declare cond1 condition for sqlstate 'null';
17280    declare continue handler for cond1 set @var2 = 1;
17281    insert into tnull values( 1);
17282END//
17283delimiter ;//
17284
17285--disable_warnings
17286DROP PROCEDURE IF EXISTS sp1;
17287--enable_warnings
17288
17289delimiter //;
17290--error ER_SP_BAD_SQLSTATE
17291CREATE PROCEDURE sp1()
17292BEGIN
17293    declare cond1 condition for sqlstate ' ';
17294    declare continue handler for cond1 set @var2 = 1;
17295    insert into tnull values( 1);
17296END//
17297delimiter ;//
17298
17299--disable_warnings
17300DROP PROCEDURE IF EXISTS sp1;
17301--enable_warnings
17302
17303delimiter //;
17304--error ER_PARSE_ERROR
17305CREATE PROCEDURE sp1()
17306BEGIN
17307    declare cond1 condition for sqlstate 1234567890;
17308    declare continue handler for cond1 set @var2 = 1;
17309    insert into tnull values( 1);
17310END//
17311delimiter ;//
17312
17313--disable_warnings
17314DROP PROCEDURE IF EXISTS sp1;
17315--enable_warnings
17316
17317delimiter //;
17318--error ER_SP_BAD_SQLSTATE
17319CREATE PROCEDURE sp1()
17320BEGIN
17321    declare cond1 condition for sqlstate '2005-03-03';
17322    declare continue handler for cond1 set @var2 = 1;
17323    insert into tnull values( 1);
17324END//
17325delimiter ;//
17326
17327
17328# ------------------------------------------------------------------------------
17329let $message= Testcase 4.2.43:;
17330--source include/show_msg80.inc
17331
17332# testcase: ensure that the declare  condition for statement cannot declare a
17333#            condition for the successful completion sqlstate: 00000.
17334
17335--disable_warnings
17336DROP PROCEDURE IF EXISTS sp1;
17337--enable_warnings
17338
17339--echo expect failure, SQLSTATE 00000 is not an acceptable value
17340--echo for an SP's handler
17341delimiter //;
17342--ERROR ER_SP_BAD_SQLSTATE
17343CREATE PROCEDURE sp1()
17344BEGIN
17345    declare cond1 condition for sqlstate '00000';
17346    declare continue handler for cond1 set @var2 = 1;
17347    set @x=1;
17348    SELECT @var2;
17349END//
17350delimiter ;//
17351
17352--echo ensure SP doesn't exist
17353--ERROR ER_SP_DOES_NOT_EXIST
17354CALL sp1();
17355
17356# cleanup
17357--disable_warnings
17358DROP PROCEDURE IF EXISTS sp1;
17359--enable_warnings
17360
17361# ------------------------------------------------------------------------------
17362let $message= Testcase 4.2.45:;
17363--source include/show_msg80.inc
17364
17365# testcase: ensure that within the same scope, no two handlers may be declared for the same condition.
17366
17367
17368--disable_warnings
17369DROP PROCEDURE IF EXISTS sp1;
17370--enable_warnings
17371
17372delimiter //;
17373--error ER_SP_DUP_HANDLER
17374CREATE PROCEDURE handler1 ()
17375BEGIN
17376      declare continue handler for sqlstate '23000' set @varr1 = 5;
17377        declare continue handler for sqlstate '23000' set @varr3 = 7;
17378END//
17379delimiter ;//
17380
17381DROP PROCEDURE IF EXISTS handler1;
17382
17383delimiter //;
17384--error ER_SP_DUP_HANDLER
17385CREATE PROCEDURE handler1 ()
17386BEGIN
17387      declare mycondition condition for sqlstate '23000';
17388    declare continue handler for mycondition set @varr3 = 7;
17389        declare continue handler for sqlstate '23000' set @varr3 = 7;
17390END//
17391delimiter ;//
17392
17393
17394# ------------------------------------------------------------------------------
17395let $message= Testcase 4.2.46:;
17396--source include/show_msg80.inc
17397
17398# testcase: ensure that every sqlstate value declared with a declare  handler for
17399#            statement is a character string that is 5 characters long.
17400
17401--disable_warnings
17402DROP PROCEDURE IF EXISTS sp1;
17403--enable_warnings
17404
17405delimiter //;
17406--error ER_SP_BAD_SQLSTATE
17407CREATE PROCEDURE sp1()
17408BEGIN
17409    declare continue handler for sqlstate '1' set @var2 = 1;
17410END//
17411delimiter ;//
17412
17413--disable_warnings
17414DROP PROCEDURE IF EXISTS sp1;
17415--enable_warnings
17416
17417delimiter //;
17418--error ER_SP_BAD_SQLSTATE
17419CREATE PROCEDURE sp1()
17420BEGIN
17421    declare continue handler for sqlstate '12' set @var2 = 1;
17422END//
17423delimiter ;//
17424
17425--disable_warnings
17426DROP PROCEDURE IF EXISTS sp1;
17427--enable_warnings
17428
17429delimiter //;
17430--error ER_SP_BAD_SQLSTATE
17431CREATE PROCEDURE sp1()
17432BEGIN
17433    declare continue handler for sqlstate '123' set @var2 = 1;
17434END//
17435delimiter ;//
17436
17437--disable_warnings
17438DROP PROCEDURE IF EXISTS sp1;
17439--enable_warnings
17440
17441delimiter //;
17442--error ER_SP_BAD_SQLSTATE
17443CREATE PROCEDURE sp1()
17444BEGIN
17445    declare continue handler for sqlstate '1234' set @var2 = 1;
17446END//
17447delimiter ;//
17448
17449--disable_warnings
17450DROP PROCEDURE IF EXISTS sp1;
17451--enable_warnings
17452
17453delimiter //;
17454--error ER_SP_BAD_SQLSTATE
17455CREATE PROCEDURE sp1()
17456BEGIN
17457    declare continue handler for sqlstate '123456' set @var2 = 1;
17458END//
17459delimiter ;//
17460
17461
17462# ------------------------------------------------------------------------------
17463let $message= Testcase 4.2.47:;
17464--source include/show_msg80.inc
17465
17466# testcase: ensure that the declare  handler for statement cannot declare a condition
17467#            for an invalid sqlstate.
17468
17469--disable_warnings
17470DROP PROCEDURE IF EXISTS sp1;
17471--enable_warnings
17472
17473delimiter //;
17474--error ER_SP_BAD_SQLSTATE
17475CREATE PROCEDURE sp1()
17476BEGIN
17477    declare continue handler for sqlstate '42s0200test'  set @var2 = 1;
17478    insert into tnull values( 1);
17479          SELECT @var2;
17480END//
17481delimiter ;//
17482
17483# cleanup
17484#drop table IF EXISTS tnull;
17485
17486
17487# ------------------------------------------------------------------------------
17488let $message= Testcase 4.2.48:;
17489--source include/show_msg80.inc
17490
17491# testcase: ensure that the declare  handler for statement cannot declare a condition
17492#            for the successful completion sqlstate:  00000.
17493
17494--disable_warnings
17495DROP PROCEDURE IF EXISTS sp1;
17496--enable_warnings
17497
17498--echo This creation should fail, SQLSTATE 00000 is unacceptable
17499--ERROR ER_SP_BAD_SQLSTATE
17500delimiter //;
17501CREATE PROCEDURE sp1()
17502BEGIN
17503    declare continue handler for sqlstate '00000'  set @var2 = 1;
17504    set @x=1;
17505          SELECT @var2;
17506END//
17507delimiter ;//
17508
17509--echo Verify SP wasn't created
17510--ERROR ER_SP_DOES_NOT_EXIST
17511CALL sp1();
17512
17513# cleanup
17514--disable_warnings
17515DROP PROCEDURE IF EXISTSsp1;
17516--enable_warnings
17517
17518
17519# ------------------------------------------------------------------------------
17520let $message= Testcase 4.2.52:;
17521--source include/show_msg80.inc
17522
17523# testcase: ensure that no two cursors in a stored procedure can have the same name.
17524
17525--disable_warnings
17526DROP PROCEDURE IF EXISTS sp1;
17527--enable_warnings
17528
17529delimiter //;
17530--error ER_SP_DUP_CURS
17531CREATE PROCEDURE sp1( )
17532BEGIN
17533    declare done int default 0;
17534    declare count integer default 20;
17535    declare newf1 char(20);
17536    declare newf2 char(20);
17537    declare newf3 char(20);
17538    declare newf4 integer;
17539    declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17540    declare cur1 cursor for SELECT f1, f2 from t2;
17541    declare continue handler for sqlstate '02000' set done = 1;
17542    BEGIN
17543      open cur1;
17544      set count = count - 1;
17545      while count > 0 do
17546        fetch cur1 into newf1, newlf1, newf3, newsal;
17547        set count = count - 1;
17548      END while;
17549      close cur1;
17550    END;
17551END//
17552delimiter ;//
17553
17554
17555# ------------------------------------------------------------------------------
17556let $message= Testcase 4.2.53:;
17557--source include/show_msg80.inc
17558
17559# testcase: ensure that a cursor declaration may not include a SELECT  into statement.
17560
17561--disable_warnings
17562DROP PROCEDURE IF EXISTS sp1;
17563--enable_warnings
17564
17565delimiter //;
17566--error ER_SP_BAD_CURSOR_SELECT
17567CREATE PROCEDURE sp1( )
17568BEGIN
17569    declare done int default 0;
17570    declare count integer default 20;
17571    declare newf1 char(20);
17572    declare newf2 char(20);
17573    declare newf3 char(20);
17574    declare newf4 integer;
17575    declare cur1 cursor for SELECT f1, lf1, f3, f4 into @w, @x, @y, @z from t2;
17576    declare continue handler for sqlstate '02000' set done = 1;
17577    BEGIN
17578      open cur1;
17579      set count = count - 1;
17580      while count > 0 do
17581        fetch cur1 into newf1, newlf1, newf3, newsal;
17582        set count = count - 1;
17583      END while;
17584      close cur1;
17585      END;
17586END//
17587delimiter ;//
17588
17589
17590# ------------------------------------------------------------------------------
17591let $message= Testcase 4.2.54:;
17592--source include/show_msg80.inc
17593
17594# testcase: ensure that a cursor declaration that includes an order by
17595#            claUSE may not be an updateable cursor.
17596
17597#FIXME: testcase empty / missing
17598
17599# ------------------------------------------------------------------------------
17600let $message= Testcase 4.2.55:;
17601--source include/show_msg80.inc
17602
17603# testcase: ensure that open <cursor name> fails unless a cursor with
17604#            the same name has already been declared.
17605
17606--disable_warnings
17607DROP PROCEDURE IF EXISTS sp1;
17608--enable_warnings
17609
17610delimiter //;
17611--error ER_SP_CURSOR_MISMATCH
17612CREATE PROCEDURE sp1( )
17613BEGIN
17614    declare done int default 0;
17615    declare count integer default 20;
17616    declare newf1 char(20);
17617    declare newf2 char(20);
17618    declare newf3 char(20);
17619    declare newf4 integer;
17620    declare continue handler for sqlstate '02000' set done = 1;
17621    BEGIN
17622      open cur1;
17623      set count = count - 1;
17624      while count > 0 do
17625        fetch cur1 into newf1, newf2, newf4, newf3;
17626        set count = count - 1;
17627      END while;
17628      close cur1;
17629    END;
17630END//
17631delimiter ;//
17632
17633--disable_warnings
17634DROP PROCEDURE IF EXISTS sp1;
17635--enable_warnings
17636
17637delimiter //;
17638CREATE PROCEDURE sp1( )
17639BEGIN
17640    declare done int default 0;
17641    declare count integer default 0;
17642    declare newf1 char(20);
17643    declare newf2 char(20);
17644    declare newf3 char(20);
17645    declare newf4 integer;
17646    declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17647    declare continue handler for sqlstate '02000' set done = 1;
17648    BEGIN
17649      open cur1;
17650      BEGIN
17651        open cur1;
17652        set count = count - 1;
17653        while count > 0 do
17654          fetch cur1 into newf1, newf2, newf3, newf4;
17655          set count = count - 1;
17656        END while;
17657      END;
17658      close cur1;
17659    END;
17660END//
17661delimiter ;//
17662
17663--error ER_SP_CURSOR_ALREADY_OPEN
17664CALL sp1();
17665
17666
17667# ------------------------------------------------------------------------------
17668let $message= Testcase 4.2.56:;
17669--source include/show_msg80.inc
17670
17671# testcase: ensure that open <cursor name> fails if the same cursor is currently already open.
17672
17673DROP PROCEDURE IF EXISTS sp1;
17674
17675delimiter //;
17676CREATE PROCEDURE sp1( )
17677BEGIN
17678    declare done int default 0;
17679    declare count integer default 20;
17680    declare newf1 char(20);
17681    declare newf2 char(20);
17682    declare newf3 char(20);
17683    declare newf4 integer;
17684    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2;
17685    declare continue handler for sqlstate '02000' set done = 1;
17686    BEGIN
17687      open cur1;
17688      open cur1;
17689      set count = count - 1;
17690      while count > 0 do
17691        fetch cur1 into newf1, newf2, newf4, newf3;
17692        set count = count - 1;
17693      END while;
17694      close cur1;
17695    END;
17696END//
17697delimiter ;//
17698
17699--error ER_SP_CURSOR_ALREADY_OPEN
17700CALL sp1();
17701
17702# cleanup
17703DROP PROCEDURE sp1;
17704
17705
17706
17707# ------------------------------------------------------------------------------
17708let $message= Testcase 4.2.57:;
17709--source include/show_msg80.inc
17710
17711# testcase: ensure that fetch <cursor name> fails unless a cursor with the same name is already open.
17712
17713DROP PROCEDURE IF EXISTS sp1;
17714
17715delimiter //;
17716CREATE PROCEDURE sp1( )
17717BEGIN
17718    declare done int default 0;
17719    declare count integer default 20;
17720    declare newf1 char(20);
17721    declare newf2 char(20);
17722    declare newf3 char(20);
17723    declare newf4 integer;
17724    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2;
17725    declare cur2 cursor for SELECT f1, f2 from t2;
17726    declare continue handler for sqlstate '02000' set done = 1;
17727    BEGIN
17728      open cur2;
17729      set count = count - 1;
17730      while count > 0 do
17731        fetch cur1 into newf1, newf2, newf4, newf3;
17732        set count = count - 1;
17733      END while;
17734      close cur1;
17735    END;
17736END//
17737delimiter ;//
17738
17739--error ER_SP_CURSOR_NOT_OPEN
17740CALL sp1();
17741
17742# cleanup
17743DROP PROCEDURE sp1;
17744
17745
17746
17747
17748
17749
17750# ------------------------------------------------------------------------------
17751let $message= Testcase 4.2.59:;
17752--source include/show_msg80.inc
17753
17754# testcase: ensure that fetch <cursor name> fails with an appropriate error message
17755#            if it is executed before the cursor has been opened.
17756
17757
17758DROP PROCEDURE IF EXISTS sp1;
17759
17760delimiter //;
17761CREATE PROCEDURE sp1( )
17762BEGIN
17763    declare done int default 0;
17764    declare count integer default 20;
17765    declare newf1 char(20);
17766    declare newf2 char(20);
17767    declare newf3 char(20);
17768    declare newf4 integer;
17769    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
17770    declare continue handler for sqlstate '02000' set done = 1;
17771    BEGIN
17772      set count = count - 1;
17773      while count > 0 do
17774        fetch cur1 into newf1, newf2, newf4, newf3;
17775        set count = count - 1;
17776      END while;
17777      open cur1;
17778      close cur1;
17779    END;
17780END//
17781delimiter ;//
17782
17783--error ER_SP_CURSOR_NOT_OPEN
17784CALL sp1();
17785
17786DROP PROCEDURE IF EXISTS sp1;
17787
17788delimiter //;
17789CREATE PROCEDURE sp1( )
17790BEGIN
17791    declare done int default 0;
17792    declare count integer default 10;
17793    declare newf1 char(20);
17794    declare newf2 char(20);
17795    declare newf3 char(20);
17796    declare newf4 integer;
17797    declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17798    declare continue handler for sqlstate '02000' set done = 1;
17799    open cur1;
17800    BEGIN
17801      declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17802      set count = count - 1;
17803      while count > 0 do
17804        fetch cur1 into newf1, newf2, newf3, newf4;
17805        set count = count - 1;
17806      END while;
17807      open cur1;
17808      close cur1;
17809    END;
17810    close cur1;
17811END//
17812delimiter ;//
17813
17814--error ER_SP_CURSOR_NOT_OPEN
17815CALL sp1();
17816
17817# cleanup
17818DROP PROCEDURE sp1;
17819
17820
17821# ------------------------------------------------------------------------------
17822let $message= Testcase 4.2.60:;
17823--source include/show_msg80.inc
17824
17825# testcase: ensure that fetch <cursor name> fails with an appropriate error message
17826#            if it is executed after the cursor has been closed.
17827
17828DROP PROCEDURE IF EXISTS sp1;
17829
17830delimiter //;
17831CREATE PROCEDURE sp1( )
17832BEGIN
17833    declare done int default 0;
17834    declare count integer default 20;
17835    declare newf1 char(20);
17836    declare newf2 char(20);
17837    declare newf3 char(20);
17838    declare newf4 integer;
17839    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
17840    declare continue handler for sqlstate '02000' set done = 1;
17841    BEGIN
17842      open cur1;
17843      close cur1;
17844      set count = count - 1;
17845      while count > 0 do
17846          fetch cur1 into newf1, newf2, newf4, newf3;
17847          set count = count - 1;
17848      END while;
17849    END;
17850END//
17851delimiter ;//
17852
17853--error ER_SP_CURSOR_NOT_OPEN
17854CALL sp1();
17855
17856DROP PROCEDURE IF EXISTS sp1;
17857
17858delimiter //;
17859CREATE PROCEDURE sp1( )
17860BEGIN
17861    declare done int default 0;
17862    declare count integer default 20;
17863    declare newf1 char(20);
17864    declare newf2 char(20);
17865    declare newf3 char(20);
17866    declare newf4 integer;
17867    declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17868    declare continue handler for sqlstate '02000' set done = 1;
17869    open cur1;
17870    close cur1;
17871    BEGIN
17872      declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17873      open cur1;
17874      END;
17875    fetch cur1 into newf1, newf2, newf3, newf4;
17876END//
17877delimiter ;//
17878
17879--error ER_SP_CURSOR_NOT_OPEN
17880CALL sp1();
17881
17882# cleanup
17883DROP PROCEDURE sp1;
17884
17885
17886
17887
17888# ------------------------------------------------------------------------------
17889let $message= Testcase 4.2.62:;
17890--source include/show_msg80.inc
17891
17892# testcase: ensure that fetch <cursor name> fails with an appropriate error message
17893#            if the data type of the column values being fetched are not appropriate
17894#            for the matching fetch variables to which the data is being assigned.
17895
17896DROP PROCEDURE IF EXISTS sp1;
17897
17898delimiter //;
17899CREATE PROCEDURE sp1( )
17900BEGIN
17901    declare done int default 0;
17902    declare count integer default 20;
17903    declare newf2 char(20);
17904    declare newf1 int1;
17905    declare cur1 cursor for SELECT f1, f3 from t2 limit 20, 10;
17906    declare continue handler for sqlstate '02000' set done = 1;
17907    BEGIN
17908      open cur1;
17909      set count = count - 1;
17910      while count > 0 do
17911        fetch cur1 into newf1, newf2;
17912        set @x = newf1;
17913        set @y = newf2;
17914        SELECT @x, @y;
17915        set count = count - 1;
17916          END while;
17917      close cur1;
17918    END;
17919END//
17920delimiter ;//
17921
17922#This test seems to make no sense, as always NULL may be set.
17923#--error ER_SP_CURSOR_NOT_OPEN
17924CALL sp1();
17925
17926# cleanup
17927DROP PROCEDURE sp1;
17928
17929
17930
17931# ------------------------------------------------------------------------------
17932let $message= Testcase 4.2.63:;
17933--source include/show_msg80.inc
17934
17935# testcase: ensure that close <cursor name> fails unless a cursor with the same name is already open.
17936
17937DROP PROCEDURE IF EXISTS sp1;
17938
17939delimiter //;
17940CREATE PROCEDURE sp1()
17941BEGIN
17942    declare done int default 0;
17943    declare count integer default 20;
17944    declare newf1 char(20);
17945    declare newf2 char(20);
17946    declare newf3 char(20);
17947    declare newf4 integer;
17948    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
17949    declare continue handler for sqlstate '02000' set done = 1;
17950    BEGIN
17951      close cur1;
17952      open cur1;
17953      set count = count - 1;
17954      while count > 0 do
17955        fetch cur1 into newf1, newf2, newf4, newf3;
17956        set count = count - 1;
17957      END while;
17958      close cur1;
17959    END;
17960END//
17961delimiter ;//
17962
17963--error ER_SP_CURSOR_NOT_OPEN
17964CALL sp1();
17965
17966DROP PROCEDURE IF EXISTS sp1;
17967
17968delimiter //;
17969CREATE PROCEDURE sp1( )
17970BEGIN
17971    declare done int default 0;
17972    declare count integer default 0;
17973    declare newf1 char(20);
17974    declare newf2 char(20);
17975    declare newf3 char(20);
17976    declare newf4 integer;
17977    declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17978    declare continue handler for sqlstate '02000' set done = 1;
17979    BEGIN
17980      declare cur1 cursor for SELECT f1, f2, f3, f4 from t2;
17981      open cur1;
17982    END;
17983    close cur1;
17984END//
17985delimiter ;//
17986
17987--error ER_SP_CURSOR_NOT_OPEN
17988CALL sp1();
17989
17990# cleanup
17991DROP PROCEDURE sp1;
17992
17993
17994
17995# ------------------------------------------------------------------------------
17996let $message= Testcase 4.2.64:;
17997--source include/show_msg80.inc
17998
17999# testcase: ensure that all cursors are closed when a transaction terminates with a commit statement.
18000
18001DROP PROCEDURE IF EXISTS sp1;
18002
18003delimiter //;
18004CREATE PROCEDURE sp1( )
18005      BEGIN
18006    declare done int default 0;
18007    declare count integer default 20;
18008    declare newf1 char(20);
18009    declare newf2 char(20);
18010    declare newf3 char(20);
18011    declare newf4 integer;
18012    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
18013    BEGIN
18014      open cur1;
18015      start transaction;
18016      fetch cur1 into newf1, newf2, newf4, newf3;
18017      commit;
18018      fetch cur1 into newf1, newf2, newf4, newf3;
18019    END;
18020END//
18021delimiter ;//
18022
18023--error ER_SP_FETCH_NO_DATA
18024CALL sp1();
18025
18026# cleanup
18027DROP PROCEDURE sp1;
18028
18029
18030
18031# ------------------------------------------------------------------------------
18032let $message= Testcase 4.2.65:;
18033--source include/show_msg80.inc
18034
18035# testcase: ensure that all cursors are closed when a transaction terminates with a rollback statement.
18036
18037
18038DROP PROCEDURE IF EXISTS sp1;
18039
18040delimiter //;
18041CREATE PROCEDURE sp1( )
18042BEGIN
18043    declare done int default 0;
18044    declare count integer default 20;
18045    declare newf1 char(20);
18046    declare newf2 char(20);
18047    declare newf3 char(20);
18048    declare newf4 integer;
18049    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
18050    BEGIN
18051      open cur1;
18052      fetch cur1 into newf1, newf2, newf4, newf3;
18053      rollback;
18054      fetch cur1 into newf1, newf2, newf4, newf3;
18055      commit;
18056    END;
18057END//
18058delimiter ;//
18059
18060--error ER_SP_FETCH_NO_DATA
18061CALL sp1();
18062
18063# cleanup
18064DROP PROCEDURE sp1;
18065
18066
18067# ------------------------------------------------------------------------------
18068let $message= Testcase 4.2.66:;
18069--source include/show_msg80.inc
18070
18071# testcase: ensure that the result set of the cursor that has been closed is not
18072#            longer available to the fetch statement.
18073
18074
18075DROP PROCEDURE IF EXISTS sp1;
18076
18077delimiter //;
18078CREATE PROCEDURE sp1( )
18079BEGIN
18080    declare done int default 0;
18081    declare count integer default 20;
18082    declare newf1 char(20);
18083    declare newf2 char(20);
18084    declare newf3 char(20);
18085    declare newf4 integer;
18086    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
18087    declare continue handler for sqlstate '02000' set done = 1;
18088    BEGIN
18089      open cur1;
18090      set count = count - 1;
18091      while count > 0 do
18092        fetch cur1 into newf1, newf2, newf4, newf3;
18093        set count = count - 1;
18094      END while;
18095      close cur1;
18096      fetch cur1 into newf1, newf2, newf4, newf3;
18097    END;
18098END//
18099delimiter ;//
18100
18101--error ER_SP_CURSOR_NOT_OPEN
18102CALL sp1();
18103
18104# cleanup
18105DROP PROCEDURE sp1;
18106
18107
18108
18109# ------------------------------------------------------------------------------
18110let $message= Testcase 4.2.67:;
18111--source include/show_msg80.inc
18112
18113# testcase: ensure that cursor declared within a compound statement is closed when
18114#            that compound statement ends (without cursor close statement)
18115
18116
18117DROP PROCEDURE IF EXISTS sp1;
18118
18119delimiter //;
18120CREATE PROCEDURE sp1( )
18121BEGIN
18122    declare done int default 0;
18123    declare count integer default 20;
18124    declare newf1 char(20);
18125    declare newf2 char(20);
18126    declare newf3 char(20);
18127    declare newf4 integer;
18128    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 20, 10;
18129    declare continue handler for sqlstate '02000' set done = 1;
18130    BEGIN
18131      open cur1;
18132#      set count = count - 1;
18133#      while count > 0 do
18134        fetch cur1 into newf1, newf2, newf4, newf3;
18135#        set count = count - 1;
18136#      END while;
18137    END;
18138    fetch cur1 into newf1, newf2, newf4, newf3;
18139END//
18140delimiter ;//
18141
18142#--error ER_SP_FETCH_NO_DATA
18143CALL sp1();
18144
18145# cleanup
18146DROP PROCEDURE sp1;
18147
18148
18149
18150
18151
18152
18153# ------------------------------------------------------------------------------
18154let $message= Testcase 4.2.70:;
18155--source include/show_msg80.inc
18156
18157# testcase: ensure that multiple cursors, nested within multiple compound statements
18158#            within a stored procedure always act correctly and return the expected result.
18159
18160  create table temp1( f1 char(20), f2 char(20), f3 int, f4 char(20) );
18161  create table temp2( f1 char(20), f2 char(20), f3 int, f4 char(20) );
18162
18163DROP PROCEDURE IF EXISTS sp1;
18164
18165delimiter //;
18166CREATE PROCEDURE sp1( )
18167BEGIN
18168    declare done int default 0;
18169    declare count integer default 20;
18170    declare newf1 char(20);
18171    declare newf2 char(20);
18172    declare newf3 char(20);
18173    declare newf4 integer;
18174    declare newf21 char(20);
18175    declare newf22 char(20);
18176    declare newf23 char(20);
18177    declare newf24 integer;
18178    declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 limit 7, 1;
18179    declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 limit 15, 1;
18180    declare continue handler for sqlstate '02000' set done = 1;
18181    open cur1;
18182    BEGIN
18183      set count = 10;
18184      BEGIN
18185        open cur2;
18186        while count > 0 do
18187          fetch cur1 into newf1, newf2, newf4, newf3;
18188          set count = count - 1;
18189        END while;
18190      END;
18191      insert into temp1 values(newf1, newf2, newf4, newf3);
18192      close cur1;
18193    END;
18194    BEGIN
18195      set count = 10;
18196      while count > 0 do
18197        fetch cur2 into newf21, newf22, newf24, newf23;
18198        set count = count - 1;
18199      END while;
18200    END;
18201    insert into temp2 values(newf21, newf22, newf24, newf23);
18202    close cur2;
18203END//
18204delimiter ;//
18205
18206CALL sp1();
18207
18208SELECT count(*) from temp1;
18209SELECT * from temp2;
18210
18211# cleanup
18212DROP PROCEDURE sp1;
18213drop table temp1;
18214drop table temp2;
18215
18216
18217# ==============================================================================
18218let $message= Section 3.1.3 - Syntax checks for the stored procedure-specific flow control statements
18219              .               IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE:;
18220--source include/show_msg80.inc
18221
18222USE db_storedproc;
18223
18224# ------------------------------------------------------------------------------
18225let $message= Testcase 4.3.1:;
18226--source include/show_msg80.inc
18227
18228# testcase : ensure that all clauses that should be supported are supported
18229
18230--disable_warnings
18231DROP PROCEDURE IF EXISTS sp1;
18232DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
18233--enable_warnings
18234
18235#FIXME: change back to $engine_type for INNODB and MYISAM, but MEMORY doesn't support this
18236--replace_result $engine_type <engine_to_be_tested>
18237eval
18238CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
18239   middleinitial CHAR, lastname VARCHAR(50),
18240   age_averylongfieldname_averylongname_1234569 INT, COMMENT VARCHAR(100))
18241ENGINE=$engine_type;
18242
18243INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
18244VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
18245
18246delimiter //;
18247CREATE PROCEDURE sp1(a INT)
18248BEGIN
18249   DECLARE itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx CHAR;
18250   DECLARE itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx VARCHAR(100);
18251   DECLARE itisjustamediumsizeintintegervariablename INTEGER;
18252   SET itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx = 'b';
18253   SET itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx
18254      = 'oldmacdonalds)(*&(^^%$&^%$&^%*^)(*^#@$@%';
18255   SET itisjustamediumsizeintintegervariablename = 5;
18256   SET @comment='a';
18257   label1: LOOP
18258      IF a > 100 THEN
18259         SET @comment = 'value of a is greater than 100';
18260      ELSEIF a < 100 THEN
18261         IF a < 50 THEN
18262            SET @comment = 'value of a is less than 50';
18263         ELSEIF a < 25 THEN
18264            SET @comment = 'value of a is less than 25';
18265         ELSE
18266            SET @comment = 'value of a is greater than 50 and less than 100';
18267         END IF;
18268      ELSE
18269         SET @comment = 'value of a is 100';
18270      END IF;
18271
18272      IF itisjustamediumsizeintintegervariablename = 0 THEN LEAVE label1;
18273      END IF;
18274      INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
18275      VALUES(itisjustaverylargevariablename_xxxxxxxxxxxxxxxxxxxxx,
18276             CONCAT(itisjustaverylargevarcharvariablename_xxxxxxxxxxxxxxxxxxxxx,
18277             '  ', a), a, @comment);
18278      SET itisjustamediumsizeintintegervariablename
18279         = itisjustamediumsizeintintegervariablename - 1;
18280      ITERATE label1;
18281   END LOOP label1;
18282END//
18283delimiter ;//
18284
18285CALL sp1(101);
18286
18287CALL sp1(100);
18288
18289CALL sp1(75);
18290
18291CALL sp1(40);
18292
18293CALL sp1(20);
18294
18295CALL sp1(-1);
18296
18297SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742
18298 ORDER BY middleinitial, lastname, age_averylongfieldname_averylongname_1234569;
18299
18300# cleanup
18301drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
18302DROP PROCEDURE sp1;
18303
18304
18305# ------------------------------------------------------------------------------
18306let $message= Testcase 4.3.2:;
18307--source include/show_msg80.inc
18308
18309# testcase: ensure that all clauses that should be supported are supported (case, while, repeat)
18310
18311--disable_warnings
18312DROP PROCEDURE IF EXISTS sp2;
18313--enable_warnings
18314
18315delimiter //;
18316CREATE PROCEDURE sp2( action char(20) )
18317BEGIN
18318   declare v1 char(20);
18319   declare v2 char(20);
18320   declare count integer;
18321   set v1 = 'f1';
18322   set v2 = 'address';
18323   set count = 1;
18324   case when action = 'delete'  then
18325      insert into t3 values(v1, v2, count);
18326      delete from t3 where f1=v1;
18327   when action = 'insert' then
18328      repeat
18329         insert into t3 values(v1, v2, count);
18330         set count = count + 1;
18331      until count > 5
18332      END repeat;
18333      set count = 1;
18334      label1: repeat
18335        insert into t3 values(v1, v2, count);
18336      if count > 5 then leave label1;
18337            END if;
18338              set count = count + 1;
18339      until count > 5
18340      END repeat;
18341                set count = 1;
18342      while count < 5 do
18343        insert into t3 values(v1, v2, count);
18344        set count = count + 1;
18345      END while;
18346      set count = 1;
18347      label1: while count < 5 do
18348        insert into t3 values(v1, v2, count);
18349        if count > 5 then leave label1;
18350                END if;
18351        set count = count + 1;
18352      END while;
18353  else
18354      set @dummystring = 'temp value';
18355  END case;
18356END//
18357delimiter ;//
18358
18359CALL sp2( 'insert' );
18360--sorted_result
18361SELECT * from t3 where f3 <=5 && f3 >= 0;
18362
18363SELECT count(*) from t3;
18364CALL sp2( 'delete' );
18365SELECT count(*) from t3;
18366
18367CALL sp2 ('test');
18368SELECT @dummystring;
18369
18370# cleanup
18371DROP PROCEDURE sp2;
18372
18373
18374# ------------------------------------------------------------------------------
18375let $message= Testcase 4.1.2:
18376              ---------------
18377Ensure that all sub-clauses that should not be supported are disallowed with
18378an appropriate error message. (case);
18379--source include/show_msg80.inc
18380
18381
18382--disable_warnings
18383drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
18384DROP PROCEDURE IF EXISTS sp3;
18385--enable_warnings
18386
18387create table res_t3_itisalongname_1381742_itsaverylongname_1381742 (name char, address varchar(50), age_averylongfieldname_averylongname_1234569 smallint);
18388
18389delimiter //;
18390--error ER_PARSE_ERROR
18391CREATE PROCEDURE sp3( action char(20) )
18392BEGIN
18393label1: case
18394  when action = 'delete'  then
18395  delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18396else
18397      set @dummystring = 'temp value';
18398      iterate label1;
18399END case label1;
18400END//
18401delimiter ;//
18402
18403--disable_warnings
18404DROP PROCEDURE IF EXISTS sp3;
18405--enable_warnings
18406
18407delimiter //;
18408--error ER_PARSE_ERROR
18409CREATE PROCEDURE sp3( action char(20) )
18410BEGIN
18411label1: BEGIN
18412  case
18413  action = 'delete'  then
18414  delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18415  else
18416      set @dummystring = 'temp value';
18417      iterate label1;
18418  END case;
18419  END label1;
18420END//
18421delimiter ;//
18422
18423--disable_warnings
18424DROP PROCEDURE IF EXISTS sp3;
18425--enable_warnings
18426
18427delimiter //;
18428--error ER_PARSE_ERROR
18429CREATE PROCEDURE sp3( action char(20) )
18430BEGIN
18431case
18432  when action = 'delete'  then
18433    delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18434  then action = 'truncate'  when
18435  truncate from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18436  else
18437      set @dummystring = 'temp value';
18438      iterate label1;
18439  END case;
18440END//
18441delimiter ;//
18442
18443--disable_warnings
18444DROP PROCEDURE IF EXISTS sp3;
18445--enable_warnings
18446
18447delimiter //;
18448--error ER_PARSE_ERROR
18449CREATE PROCEDURE sp3( action char(20) )
18450BEGIN
18451declare v1 char(20);
18452declare v2 char(20);
18453declare count integer;
18454set v1 = 'f1';
18455set v2= 'address';
18456set count = 1;
18457case action
18458  when 'delete'  then
18459  when 'delete'  then
18460    delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18461  END case;
18462END//
18463delimiter ;//
18464
18465--disable_warnings
18466DROP PROCEDURE IF EXISTS sp3;
18467--enable_warnings
18468
18469
18470delimiter //;
18471CREATE PROCEDURE sp3( action char(20) )
18472BEGIN
18473   declare count int default 1;
18474   declare done int default 0;
18475   declare continue handler for sqlstate 'HY000' set done=1;
18476   label1: loop
18477      case
18478         when action = 'delete'  then
18479            label3:BEGIN
18480               delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18481            END label3;
18482         when action = 'insert' then
18483            label2: while count < 10 do
18484            BEGIN
18485               insert into res_t3_itisalongname_1381742_itsaverylongname_1381742
18486                  values('xxxxxxxxxxxxxxxxxxx', '1231230981(*&(*&)(*&(', count);
18487               set count = count + 1;
18488               if count= 10 then
18489                  set done=1;
18490               END if;
18491            END;
18492            END while label2;
18493         else
18494            set @dummystring = 'temp value';
18495            iterate label1;
18496      END case;
18497      if done=1 then
18498         leave label1;
18499      END if;
18500   END loop label1;
18501   SELECT count, done;
18502END//
18503delimiter ;//
18504
18505CALL sp3('insert');
18506
18507# cleanup
18508DROP PROCEDURE sp3;
18509drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
18510
18511
18512# ------------------------------------------------------------------------------
18513let $message= Testcase 4.3.4:;
18514--source include/show_msg80.inc
18515
18516# testcase: ensure that all supported sub-clauses are supported only in the correct order (if)
18517
18518--disable_warnings
18519DROP PROCEDURE IF EXISTS sp4;
18520--enable_warnings
18521
18522delimiter //;
18523--error ER_PARSE_ERROR
18524CREATE PROCEDURE sp4()
18525BEGIN
18526declare count int;
18527  set count = 1;
18528  label1: loop
18529    if count > 10 then leave label1;
18530    else
18531      set count = count + 1;
18532    elseif count > 20 then
18533      leave label1;
18534    END if;
18535    iterate label1;
18536  END loop label1;
18537END//
18538delimiter ;//
18539
18540--disable_warnings
18541DROP PROCEDURE IF EXISTS sp4;
18542--enable_warnings
18543
18544delimiter //;
18545--error ER_PARSE_ERROR
18546CREATE PROCEDURE sp4()
18547BEGIN
18548declare count int;
18549  set count = 1;
18550  label1: loop
18551    else
18552      set count = count + 1;
18553    if count > 20 then
18554      leave label1;
18555    END if;
18556    iterate label1;
18557  END loop label1;
18558END//
18559delimiter ;//
18560
18561--disable_warnings
18562DROP PROCEDURE IF EXISTS sp4;
18563--enable_warnings
18564
18565delimiter //;
18566--error ER_PARSE_ERROR
18567CREATE PROCEDURE sp4()
18568BEGIN
18569declare count int;
18570  set count = 1;
18571  label1: loop
18572    elseif count > 20 then
18573      leave label1;
18574    else
18575      set count=count+1;
18576    END if;
18577    iterate label1;
18578  END loop label1;
18579END//
18580delimiter ;//
18581
18582--disable_warnings
18583DROP PROCEDURE IF EXISTS sp4;
18584--enable_warnings
18585
18586delimiter //;
18587--error ER_PARSE_ERROR
18588CREATE PROCEDURE sp4()
18589BEGIN
18590declare count int;
18591  set count = 1;
18592  label1: loop
18593    END if;
18594    if count > 20 then
18595      leave label1;
18596    else
18597      set count=count+1;
18598    iterate label1;
18599  END loop label1;
18600END//
18601delimiter ;//
18602
18603--disable_warnings
18604DROP PROCEDURE IF EXISTS sp4;
18605--enable_warnings
18606
18607delimiter //;
18608--error ER_PARSE_ERROR
18609CREATE PROCEDURE sp4()
18610BEGIN
18611  declare i int default 10;
18612  if i > 20 then
18613    set i=25;
18614  END if
18615  declare count int;
18616  set count = 1;
18617  label1: loop
18618    if count > 20 then
18619      leave label1;
18620    else
18621      set count=count+1;
18622    iterate label1;
18623  END loop label1;
18624END//
18625delimiter ;//
18626
18627--disable_warnings
18628DROP PROCEDURE IF EXISTS sp4;
18629--enable_warnings
18630
18631delimiter //;
18632CREATE PROCEDURE sp4()
18633BEGIN
18634  declare idummy int default 10;
18635  declare count int;
18636  set count = 1;
18637  label1: loop
18638  BEGIN
18639    if count < 20 then
18640      BEGIN
18641        declare idummy2 int default 10;
18642        set count=count+1;
18643      END;
18644    else
18645      BEGIN
18646        SELECT idummy2;
18647        leave label1;
18648      END;
18649    END if;
18650    iterate label1;
18651  END;
18652  END loop label1;
18653END//
18654delimiter ;//
18655
18656--error ER_BAD_FIELD_ERROR
18657CALL sp4();
18658
18659# cleanup
18660DROP PROCEDURE sp4;
18661
18662
18663# ------------------------------------------------------------------------------
18664let $message= Testcase 4.3.5:;
18665--source include/show_msg80.inc
18666
18667#test case: ensure that all supported sub-clauses are supported only in the correct order (case)
18668
18669--disable_warnings
18670DROP PROCEDURE IF EXISTS sp5;
18671--enable_warnings
18672
18673delimiter //;
18674--error ER_PARSE_ERROR
18675CREATE PROCEDURE sp5()
18676BEGIN
18677  declare count integer default 1;
18678  set count = 1;
18679  case
18680  else
18681    set count = 10;
18682  when count  = 1 then
18683    set count =  count + 1;
18684  END case;
18685END//
18686delimiter ;//
18687
18688--disable_warnings
18689DROP PROCEDURE IF EXISTS sp5;
18690--enable_warnings
18691
18692delimiter //;
18693--error ER_PARSE_ERROR
18694CREATE PROCEDURE sp5(count int)
18695BEGIN
18696  when case count = 1 then
18697    set count = 10;
18698  when count  = 2 then
18699    set count =  count + 1;
18700  END case;
18701END//
18702delimiter ;//
18703
18704--disable_warnings
18705DROP PROCEDURE IF EXISTS sp5;
18706--enable_warnings
18707
18708delimiter //;
18709--error ER_PARSE_ERROR
18710CREATE PROCEDURE sp5(count int)
18711BEGIN
18712  END case;
18713  when count = 1 then
18714    set count = 10;
18715  when count  = 2 then
18716    set count =  count + 1;
18717  END case;
18718END//
18719delimiter ;//
18720
18721--disable_warnings
18722DROP PROCEDURE IF EXISTS sp5;
18723--enable_warnings
18724
18725delimiter //;
18726--error ER_PARSE_ERROR
18727CREATE PROCEDURE sp5(count int)
18728BEGIN
18729  when count = 1 then
18730    set count = 10;
18731  case when count  = 2 then
18732    set count =  count + 1;
18733  END case;
18734END//
18735delimiter ;//
18736
18737
18738# ------------------------------------------------------------------------------
18739let $message= Testcase 4.3.6:
18740              ---------------
18741Ensure that all supported sub-clauses are supported only in the correct order (repeat).;
18742--source include/show_msg80.inc
18743
18744--disable_warnings
18745DROP PROCEDURE IF EXISTS sp6;
18746--enable_warnings
18747
18748delimiter //;
18749--error ER_PARSE_ERROR
18750CREATE PROCEDURE sp6()
18751BEGIN
18752  declare count1 integer default 1;
18753  label1: repeat
18754    set count1 = count1 + 1;
18755    if count1 > 5 then leave label1; END if;
18756  END repeat;
18757  until count1 > 5
18758END//
18759delimiter ;//
18760
18761--disable_warnings
18762DROP PROCEDURE IF EXISTS sp6;
18763--enable_warnings
18764
18765delimiter //;
18766--error ER_PARSE_ERROR
18767CREATE PROCEDURE sp6()
18768BEGIN
18769  declare count1 integer default 1;
18770  label1:   until count1 > 5
18771  repeat
18772    set count1 = count1 + 1;
18773    if count1 > 5 then leave label1; END if;
18774  END repeat;
18775END//
18776delimiter ;//
18777
18778--disable_warnings
18779DROP PROCEDURE IF EXISTS sp6;
18780--enable_warnings
18781
18782delimiter //;
18783--error ER_PARSE_ERROR
18784CREATE PROCEDURE sp6()
18785BEGIN
18786  declare count1 integer default 1;
18787  label1: END repeat
18788    set count1 = count1 + 1;
18789    if count1 > 5 then leave label1; END if;
18790  until count1 > 5
18791  repeat;
18792END//
18793delimiter ;//
18794
18795--disable_warnings
18796DROP PROCEDURE IF EXISTS sp6;
18797--enable_warnings
18798
18799delimiter //;
18800--error ER_PARSE_ERROR
18801CREATE PROCEDURE sp6()
18802BEGIN
18803  declare count1 integer default 1;
18804  label1: repeat
18805    set count1 = count1 + 1;
18806    if count1 > 5 then leave label1; END if;
18807  END repeat;
18808END//
18809delimiter ;//
18810
18811--disable_warnings
18812DROP PROCEDURE IF EXISTS sp6;
18813--enable_warnings
18814
18815delimiter //;
18816--error ER_PARSE_ERROR
18817CREATE PROCEDURE sp6()
18818BEGIN
18819  declare count1 integer default 1;
18820  label1: repeat
18821    set count1 = count1 + 1;
18822    if count1 > 5 then leave label1; END if;
18823  until count1 > 10;
18824  SELECT count1;
18825  END repeat;
18826END//
18827delimiter ;//
18828
18829--disable_warnings
18830DROP PROCEDURE IF EXISTS sp6;
18831--enable_warnings
18832
18833delimiter //;
18834CREATE PROCEDURE sp6()
18835BEGIN
18836  declare count1 integer default 1;
18837  label1: repeat
18838    set count1 = count1-1;
18839  until count1 < 0
18840  END repeat label1;
18841  SELECT count1;
18842END//
18843delimiter ;//
18844
18845CALL sp6();
18846
18847# cleanup
18848DROP PROCEDURE sp6;
18849
18850
18851# ------------------------------------------------------------------------------
18852let $message= Testcase 4.3.7:;
18853--source include/show_msg80.inc
18854
18855# testcase: ensure that an appropriate error message is returned if a
18856#        sub claUSE is out-of-order in a stored procedure definition (loop, if, iterate, leave).
18857
18858--disable_warnings
18859DROP PROCEDURE IF EXISTS sp7;
18860--enable_warnings
18861
18862delimiter //;
18863--error ER_PARSE_ERROR
18864CREATE PROCEDURE sp7()
18865BEGIN
18866  label1: loop
18867    set @dummystring = 'temp value';
18868    if count > 10 then leave label1;
18869    END if;
18870    label1 iterate;
18871  END label1 loop;
18872END//
18873delimiter ;//
18874
18875--disable_warnings
18876DROP PROCEDURE IF EXISTS sp7;
18877--enable_warnings
18878
18879delimiter //;
18880--error ER_PARSE_ERROR
18881CREATE PROCEDURE sp7()
18882BEGIN
18883  label1: END loop;
18884    set @dummystring = 'temp value';
18885    if count > 10 then leave label1;
18886    END if;
18887    iterate label1;
18888  loop;
18889END//
18890delimiter ;//
18891
18892--disable_warnings
18893DROP PROCEDURE IF EXISTS sp7;
18894--enable_warnings
18895
18896delimiter //;
18897--error ER_PARSE_ERROR
18898CREATE PROCEDURE sp7()
18899BEGIN
18900  label1: iterate label1;
18901  loop
18902    set @dummystring = 'temp value';
18903    if count > 10 then leave label1;
18904    END if;
18905
18906  END loop label1;
18907END//
18908delimiter ;//
18909
18910
18911# ------------------------------------------------------------------------------
18912let $message= Testcase 4.3.8:;
18913--source include/show_msg80.inc
18914
18915# testcase: ensure that an appropriate error message is returned if a sub claUSE is
18916#        out-of-order in a stored procedure definition. (while)
18917
18918--disable_warnings
18919DROP PROCEDURE IF EXISTS sp8;
18920--enable_warnings
18921
18922delimiter //;
18923--error ER_PARSE_ERROR
18924CREATE PROCEDURE sp8()
18925BEGIN
18926  declare v1 int default 5;
18927  do while v1 > 0
18928    set v1 = v1 - 1;
18929    END while;
18930END//
18931delimiter ;//
18932
18933--disable_warnings
18934DROP PROCEDURE IF EXISTS sp8;
18935--enable_warnings
18936
18937delimiter //;
18938--error ER_PARSE_ERROR
18939CREATE PROCEDURE sp8()
18940BEGIN
18941  declare v1 int default 5;
18942  do v1 > 0 while
18943    set v1 = v1 - 1;
18944  END while;
18945END//
18946delimiter ;//
18947
18948--disable_warnings
18949DROP PROCEDURE IF EXISTS sp8;
18950--enable_warnings
18951
18952delimiter //;
18953--error ER_PARSE_ERROR
18954CREATE PROCEDURE sp8()
18955BEGIN
18956  declare v1 int default 5;
18957  END while;
18958    set v1 = v1 - 1;
18959  while v1 > 0 do;
18960END//
18961delimiter ;//
18962
18963# ------------------------------------------------------------------------------
18964let $message= Testcase 4.3.12:;
18965--source include/show_msg80.inc
18966
18967# testcase : ensure that the labels enclosing each loop statement must match
18968
18969--disable_warnings
18970drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
18971DROP PROCEDURE IF EXISTS sp12;
18972--enable_warnings
18973
18974create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
18975
18976delimiter //;
18977--error ER_SP_LABEL_MISMATCH
18978CREATE PROCEDURE sp12( )
18979BEGIN
18980  declare count1 integer default 1;
18981  declare count2 int;
18982  label1: loop
18983    if count1 > 2 then leave label1;
18984    END if;
18985    insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
18986    label2: loop
18987      if count2 > 2 then leave label2;
18988      END if;
18989      set count2 = count2 + 1;
18990    END loop label1;
18991    set count1 = count1 + 1;
18992    iterate label1;
18993  END loop label2;
18994END//
18995delimiter ;//
18996
18997# cleanup
18998drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
18999
19000
19001
19002# ------------------------------------------------------------------------------
19003let $message= Testcase 4.3.13:;
19004--source include/show_msg80.inc
19005
19006# ensure that it is possible to put a beginning label at the start of a loop statement
19007#         without also requiring an ending label at the END of the same statement
19008
19009--disable_warnings
19010drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
19011DROP PROCEDURE IF EXISTS sp13;
19012--enable_warnings
19013
19014create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
19015
19016delimiter //;
19017CREATE PROCEDURE sp13( )
19018BEGIN
19019  declare count1 integer default 1;
19020  lable1: loop
19021    if count1 > 2 then leave lable1;
19022    END if;
19023    insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19024    set count1 = count1 + 1;
19025    iterate lable1;
19026  END loop;
19027END//
19028delimiter ;//
19029
19030CALL sp13();
19031SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19032
19033# cleanup
19034DROP PROCEDURE sp13;
19035drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
19036
19037
19038# ------------------------------------------------------------------------------
19039let $message= Testcase 4.3.14:;
19040--source include/show_msg80.inc
19041
19042# testcase: ensure that it is not possible to put an ending label at the END of a loop statement
19043#            without also requiring a matching beginning label at the start of the same statement.
19044
19045--disable_warnings
19046drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
19047DROP PROCEDURE IF EXISTS sp14;
19048--enable_warnings
19049
19050create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
19051
19052delimiter //;
19053--error ER_SP_LILABEL_MISMATCH
19054CREATE PROCEDURE sp14( )
19055BEGIN
19056    declare count1 integer default 1;
19057    loop
19058      if count1 > 2 then leave lable1;
19059      END if;
19060      insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19061      set count1 = count1 + 1;
19062      iterate lable1;
19063    END loop label1;
19064END//
19065delimiter ;//
19066
19067# cleanup
19068drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
19069
19070
19071# ------------------------------------------------------------------------------
19072let $message= Testcase 4.3.15:;
19073--source include/show_msg80.inc
19074
19075# ensure that every beginning label must END with a colon (:)
19076
19077--disable_warnings
19078drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
19079DROP PROCEDURE IF EXISTS sp15;
19080--enable_warnings
19081
19082create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
19083
19084delimiter //;
19085--error ER_PARSE_ERROR
19086CREATE PROCEDURE sp15( )
19087BEGIN
19088    declare count1 integer default 1;
19089    label1 loop
19090      if count1 > 2 then leave lable1;
19091      END if;
19092      insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19093      set count1 = count1 + 1;
19094      iterate lable1;
19095    END loop label1;
19096END//
19097delimiter ;//
19098
19099
19100# ------------------------------------------------------------------------------
19101let $message= Testcase 4.3.16:
19102              ----------------
19103Ensure that every beginning label with the same scope must be unique.;
19104--source include/show_msg80.inc
19105
19106--disable_warnings
19107DROP PROCEDURE IF EXISTS sp16;
19108--enable_warnings
19109
19110delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19111
19112delimiter //;
19113--error ER_SP_LABEL_REDEFINE
19114CREATE PROCEDURE sp16( )
19115BEGIN
19116    declare count1 integer default 1;
19117    declare count2 integer default 1;
19118    label1: repeat
19119      set count1 = count1 + 1;
19120      set count2 = 1;
19121      label1: repeat
19122        set count2 = count2 + 1;
19123        insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( xyz , pqr, count1);
19124        until count2 > 3
19125      END repeat label1;
19126      until count1 > 3
19127    END repeat label1;
19128END//
19129delimiter ;//
19130
19131--disable_warnings
19132DROP PROCEDURE IF EXISTS sp16;
19133--enable_warnings
19134
19135delimiter //;
19136--error ER_SP_LABEL_REDEFINE
19137CREATE PROCEDURE sp16( )
19138BEGIN
19139  declare count1 integer default 1;
19140  declare count2 integer default 1;
19141  declare count3 integer default 1;
19142  label1: repeat
19143    set count1 = count1 + 1;
19144    label1: repeat
19145      set count2 = count2 + 1;
19146      SELECT count2;
19147      until count2 > 3
19148    END repeat label1;
19149    SELECT count1;
19150  until count1 > 3
19151  END repeat label1;
19152  label1: repeat
19153    set count3 = count3 + 1;
19154    SELECT count3;
19155  until count3 > 3
19156  END repeat label1;
19157END//
19158delimiter ;//
19159
19160
19161# ------------------------------------------------------------------------------
19162let $message= Testcase 4.3.17:;
19163--source include/show_msg80.inc
19164
19165# testcase: ensure that the repeat statement acts correctly for all variants,
19166#            including cases where statements are nested.
19167
19168
19169
19170# ------------------------------------------------------------------------------
19171let $message= Testcase 4.3.18:;
19172--source include/show_msg80.inc
19173
19174# testcase : ensure that the labels enclosing each repeat statement must match.
19175
19176--disable_warnings
19177DROP PROCEDURE IF EXISTS sp18;
19178--enable_warnings
19179
19180delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19181
19182delimiter //;
19183--error ER_SP_LABEL_MISMATCH
19184CREATE PROCEDURE sp18( )
19185BEGIN
19186    declare count1 integer default 1;
19187    label1: repeat
19188      set count1 = count1 + 1;
19189      insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19190      until count1 < 3
19191    END repeat label2;
19192END//
19193delimiter ;//
19194
19195
19196# ------------------------------------------------------------------------------
19197let $message= Testcase 4.3.19:;
19198--source include/show_msg80.inc
19199
19200# testcase: ensure that it is possible to put a beginning label at the start of
19201#            a repeat statement without also requiring an ending label at the
19202#            END of the same statement.
19203
19204delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19205
19206--disable_warnings
19207DROP PROCEDURE IF EXISTS sp19;
19208--enable_warnings
19209
19210delimiter //;
19211CREATE PROCEDURE sp19( )
19212BEGIN
19213    declare count1 integer default 1;
19214    label1: repeat
19215      set count1 = count1 + 1;
19216      insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19217      until count1 < 3
19218    END repeat;
19219END//
19220delimiter ;//
19221
19222CALL sp19();
19223SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19224
19225# cleanup
19226DROP PROCEDURE sp19;
19227
19228
19229# ------------------------------------------------------------------------------
19230let $message= Testcase 4.3.20:;
19231--source include/show_msg80.inc
19232
19233# testcase: ensure that it is not possible to put an ending label at the END of a
19234#            repeat statement without also requiring a matching beginning label
19235#            at the start of the same statement.
19236
19237delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19238
19239--disable_warnings
19240DROP PROCEDURE IF EXISTS sp20;
19241--enable_warnings
19242
19243delimiter //;
19244--error ER_PARSE_ERROR
19245CREATE PROCEDURE sp20( )
19246BEGIN
19247    declare count1 integer default 1;
19248    repeat
19249      set count1 = count1 + 1;
19250      insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19251      until count1 < 3
19252    END repeat label1;
19253END//
19254delimiter ;//
19255
19256
19257# ------------------------------------------------------------------------------
19258let $message= Testcase 4.3.21:;
19259--source include/show_msg80.inc
19260
19261# ensure that the while statement acts correctly for all variants,
19262#         including cases where statements are nested
19263
19264
19265
19266# ------------------------------------------------------------------------------
19267let $message= Testcase 4.3.22:;
19268--source include/show_msg80.inc
19269
19270# testcase: ensure that the labels enclosing each while statement must match.
19271
19272delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19273
19274--disable_warnings
19275DROP PROCEDURE IF EXISTS sp22;
19276--enable_warnings
19277
19278delimiter //;
19279--error ER_SP_LABEL_MISMATCH
19280CREATE PROCEDURE sp22( )
19281BEGIN
19282    declare count1 integer default 1;
19283    declare count2 integer default 1;
19284    while count1 < 3 do
19285      set count1 = count1 + 1;
19286      set count2 = 1;
19287      label1: while count2 < 3 do
19288        set count2 = count2 + 1;
19289        insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19290      END while label2;
19291    END while;
19292END//
19293delimiter ;//
19294
19295
19296# ------------------------------------------------------------------------------
19297let $message= Testcase 4.3.23:;
19298--source include/show_msg80.inc
19299
19300# testcase: ensure that it is not possible to put an ending label at the END of
19301#            a while statement without also requiring a matching beginning label
19302#            at the start of the same statement.
19303
19304delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19305
19306--disable_warnings
19307DROP PROCEDURE IF EXISTS sp23;
19308--enable_warnings
19309
19310delimiter //;
19311--error ER_PARSE_ERROR
19312CREATE PROCEDURE sp23( )
19313BEGIN
19314    declare count1 integer default 1;
19315    declare count2 integer default 1;
19316    while count1 < 3 do
19317      set count1 = count1 + 1;
19318      set count2 = 1;
19319      while count2 < 3 do
19320        set count2 = count2 + 1;
19321        insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19322      END while label1;
19323    END while;
19324END//
19325delimiter ;//
19326
19327
19328
19329
19330# ------------------------------------------------------------------------------
19331let $message= Testcase 4.3.25:;
19332--source include/show_msg80.inc
19333
19334# testcase: ensure that it is possible to put a beginning label at the start of a
19335#            while statement without also requiring an ending label at the END of the same statement.
19336
19337delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19338--disable_warnings
19339DROP PROCEDURE IF EXISTS sp25;
19340--enable_warnings
19341
19342delimiter //;
19343CREATE PROCEDURE sp25( )
19344BEGIN
19345    declare count1 integer default 1;
19346    declare count2 integer default 1;
19347    while count1 < 3 do
19348      set count1 = count1 + 1;
19349      set count2 = 1;
19350      label1: while count2 < 3 do
19351        set count2 = count2 + 1;
19352        insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
19353      END while;
19354    END while;
19355END//
19356delimiter ;//
19357
19358CALL sp25 ();
19359SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19360
19361# cleanup
19362DROP PROCEDURE sp25;
19363drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
19364
19365
19366# ==============================================================================
19367let $message= Section 3.1.4 - Checks for the global nature of stored procedures:;
19368--source include/show_msg80.inc
19369
19370USE db_storedproc;
19371
19372# ------------------------------------------------------------------------------
19373let $message= Testcase 4.4.1:;
19374--source include/show_msg80.inc
19375
19376# testcase: ensure that, regardless of the database in which it was created,
19377#            a stored procedure can be called (for a procedure) from any #database
19378
19379--disable_warnings
19380DROP PROCEDURE IF EXISTS sp1;
19381DROP DATABASE IF EXISTS d40401;
19382--enable_warnings
19383
19384delimiter //;
19385CREATE PROCEDURE sp1 ( n char(20) )
19386BEGIN
19387    SELECT n;
19388END//
19389delimiter ;//
19390
19391  CREATE DATABASE d40401;
19392  USE d40401;
19393
19394CALL db_storedproc.sp1('abcd');
19395
19396  USE db_storedproc;
19397
19398# cleanup
19399DROP PROCEDURE sp1;
19400DROP DATABASE d40401;
19401
19402
19403# ------------------------------------------------------------------------------
19404let $message= Testcase 4.4.2:;
19405--source include/show_msg80.inc
19406
19407# testcase: ensure that, regardless of the database in which it was created,
19408#      a stored procedure can be executed (for a function) from any database.
19409
19410--disable_warnings
19411DROP FUNCTION IF EXISTS fn1;
19412DROP FUNCTION IF EXISTS fn11;
19413DROP DATABASE IF EXISTS d40402;
19414--enable_warnings
19415
19416delimiter //;
19417CREATE FUNCTION fn1(n int) returns int
19418  BEGIN
19419  declare a int;
19420  set a = 9 * n;
19421  return a;
19422END//
19423delimiter ;//
19424
19425  CREATE DATABASE d40402;
19426  USE d40402;
19427
19428
19429    SELECT db_storedproc.fn1(100);
19430
19431    SELECT db_storedproc.fn1(1000);
19432
19433delimiter //;
19434CREATE FUNCTION db_storedproc.fn11(n int) returns int
19435BEGIN
19436    declare a int;
19437    set a = 9 * n;
19438    return a;
19439END//
19440delimiter ;//
19441
19442  SELECT db_storedproc.fn11(100);
19443
19444  SELECT db_storedproc.fn11(1000);
19445
19446  USE db_storedproc;
19447
19448# cleanup
19449DROP FUNCTION fn1;
19450DROP FUNCTION fn11;
19451DROP DATABASE d40402;
19452
19453
19454
19455
19456# ------------------------------------------------------------------------------
19457let $message= Testcase 4.4.3:;
19458--source include/show_msg80.inc
19459
19460# testcase: ensure that the USE of a stored procedure from a database other than the database in
19461#      which it was created does not permanently change the database in use.
19462
19463--disable_warnings
19464DROP DATABASE IF EXISTS d1;
19465DROP DATABASE IF EXISTS d2;
19466--enable_warnings
19467
19468  CREATE DATABASE d1;
19469  CREATE DATABASE d2;
19470
19471  USE d1;
19472
19473  create table res_t41(a char(5), b char(10));
19474  insert into res_t41 values('abcde', 'a!@#$%^&*(');
19475
19476  USE d2;
19477
19478  create table res_t42(a char(5), b char(10));
19479
19480  USE d1;
19481
19482delimiter //;
19483CREATE PROCEDURE sp2(n char (20))
19484BEGIN
19485         SELECT res_t41.a, res_t41.b into @a, @b from res_t41 where res_t41.b = n;
19486         insert into d2.res_t42 values (@a, @b);
19487END//
19488delimiter ;//
19489
19490  USE d2;
19491
19492CALL d1.sp2('a!@#$%^&*(');
19493
19494  show warnings;
19495
19496  SELECT * from d1.res_t41;
19497  SELECT * from res_t42;
19498
19499# cleanup
19500  USE db_storedproc;
19501DROP DATABASE d1;
19502DROP DATABASE d2;
19503
19504
19505# ------------------------------------------------------------------------------
19506let $message= Testcase 4.4.4:;
19507--source include/show_msg80.inc
19508
19509# testcase : ensure that the mysql-specific USE <database name> statement is disallowed
19510#       in a stored procedure.
19511
19512--disable_warnings
19513DROP DATABASE IF EXISTS d1;
19514--enable_warnings
19515
19516  CREATE DATABASE d1;
19517
19518  USE d1;
19519
19520delimiter //;
19521--error ER_SP_BADSTATEMENT
19522CREATE PROCEDURE sp3()
19523BEGIN
19524    USE d1;
19525END//
19526delimiter ;//
19527
19528# cleanup
19529  USE db_storedproc;
19530DROP DATABASE d1;
19531
19532
19533
19534# ------------------------------------------------------------------------------
19535let $message= Testcase 4.4.5:;
19536--source include/show_msg80.inc
19537
19538# testcase: ensure that when a database is dropped, all stored procedures #created within
19539#            that database are also cleanly dropped.
19540
19541--disable_warnings
19542DROP DATABASE IF EXISTS d1;
19543--enable_warnings
19544
19545  CREATE DATABASE d1;
19546
19547  USE d1;
19548  create table t43(a char(5), b char(10));
19549  insert into t43 values('abcde', 'a!@#$%^&*(');
19550
19551CREATE PROCEDURE d1.sp4()
19552   SELECT * from d1.t43;
19553
19554--replace_column 13 modified 14 created
19555  SELECT * from mysql.proc where specific_name = 'sp4';
19556
19557  USE db_storedproc;
19558DROP DATABASE d1;
19559  CREATE DATABASE d1;
19560
19561  USE d1;
19562  create table t44(a char(5), b char(10));
19563
19564--replace_column 13 modified 14 created
19565  SELECT * from mysql.proc where specific_name = 'sp4';
19566
19567# cleanup
19568  USE db_storedproc;
19569DROP DATABASE d1;
19570
19571
19572# ------------------------------------------------------------------------------
19573let $message= Testcase 4.4.6:;
19574--source include/show_msg80.inc
19575
19576# testcase: ensure that a stored procedure created without a qualifying #database name belongs
19577#            to the database in USE at creation time.
19578
19579
19580  USE db_storedproc;
19581
19582--disable_warnings
19583DROP PROCEDURE IF EXISTS sp5;
19584--enable_warnings
19585
19586CREATE PROCEDURE sp5()
19587  SELECT * from db_storedproc.t4 limit 0, 10;
19588
19589  SELECT db from mysql.proc where specific_name = 'sp5';
19590
19591# cleanup
19592DROP PROCEDURE sp5;
19593
19594
19595# ------------------------------------------------------------------------------
19596let $message= Testcase 4.4.7:;
19597--source include/show_msg80.inc
19598
19599# testcase: ensure that a stored procedure created with a qualifying database
19600#        name belongs to the database specified.
19601
19602  USE db_storedproc;
19603
19604--disable_warnings
19605drop table IF EXISTS t46;
19606DROP PROCEDURE IF EXISTS sp6;
19607--enable_warnings
19608
19609  create table t46(f1 char(20), f2 char(20));
19610  insert into t46 values ('abcd', 'wxyz');
19611
19612CREATE PROCEDURE db_storedproc.sp6()
19613  SELECT * from db_storedproc.t4 limit 0, 10;
19614
19615  SELECT db from mysql.proc where specific_name = 'sp6';
19616
19617# cleanup
19618drop table t46;
19619DROP PROCEDURE sp6;
19620
19621
19622# ------------------------------------------------------------------------------
19623let $message= Testcase 4.4.8:;
19624--source include/show_msg80.inc
19625
19626# testcase : ensure that, regardless of the database in which it was created,
19627#       a procedure can be altered from any database.
19628
19629--disable_warnings
19630DROP DATABASE IF EXISTS d1;
19631DROP DATABASE IF EXISTS d2;
19632--enable_warnings
19633
19634  CREATE DATABASE d1;
19635  CREATE DATABASE d2;
19636
19637  USE d1;
19638
19639CREATE PROCEDURE sp8 ( n char(20) ) sql security DEFINER comment 'initial'
19640  SELECT * from t1 where t1.f1 = n;
19641
19642  USE d2;
19643  alter procedure d1.sp8 sql security DEFINER comment 'updated';
19644--replace_column 13 modified 14 created
19645  SELECT * from mysql.proc where specific_name='sp8' and db='d1';
19646
19647
19648# ------------------------------------------------------------------------------
19649let $message= Testcase 4.4.9:;
19650--source include/show_msg80.inc
19651
19652# testcase :ensure that, regardless of the database in which it was created,
19653#      a stored procedure can be executed (for a function) from any database.
19654
19655  USE d1;
19656
19657--disable_warnings
19658DROP FUNCTION IF EXISTS fn1;
19659DROP FUNCTION IF EXISTS fn11;
19660--enable_warnings
19661
19662delimiter //;
19663CREATE FUNCTION d1.fn2(n int) returns int sql security invoker comment 'initial'
19664BEGIN
19665    declare a int;
19666    set a = 0.9 * n;
19667    return a;
19668END//
19669delimiter ;//
19670
19671  USE d2;
19672  alter function d1.fn2 sql security DEFINER comment 'updated';
19673--replace_column 13 modified 14 created
19674  SELECT * from mysql.proc where specific_name='fn2' and db='d1';
19675
19676
19677# ------------------------------------------------------------------------------
19678let $message= Testcase 4.4.10:;
19679--source include/show_msg80.inc
19680
19681# testcase: ensure that, regardless of the database in which it was created,
19682#      a procedure can be dropped from any database.
19683
19684
19685  USE d1;
19686
19687CREATE PROCEDURE sp9 ( n char(20) )
19688  SELECT * from t1 where t1.f1 = n;
19689
19690  USE d2;
19691DROP PROCEDURE d1.sp9; --replace_column 13 modified 14 created
19692  SELECT * from mysql.proc where specific_name='sp9' and db='d1';
19693
19694
19695# ------------------------------------------------------------------------------
19696let $message= Testcase 4.4.11:;
19697--source include/show_msg80.inc
19698
19699# testcase: ensure that, regardless of the database in which it was created,
19700#      a function can be dropped from any database.
19701
19702
19703  USE d1;
19704
19705delimiter //;
19706CREATE FUNCTION d1.fn3(n int) returns int
19707BEGIN
19708    declare a int;
19709    set a = 0.9 * n;
19710    return a;
19711END//
19712delimiter ;//
19713
19714  USE d2;
19715DROP FUNCTION d1.fn3;
19716--replace_column 13 modified 14 created
19717  SELECT * from mysql.proc where specific_name='fn3' and db='d1';
19718
19719# cleanup
19720
19721  USE db_storedproc;
19722DROP DATABASE d1;
19723DROP DATABASE d2;
19724
19725
19726# ==============================================================================
19727# test plan section: 4.5 -
19728# ==============================================================================
19729let $message= Section 3.1.5 - Parameter use checks:
19730Functions with all data types;
19731--source include/show_msg80.inc
19732
19733#FIXME hpux11
19734let $plus_20=   1.00e+20;
19735let $plus_24=   1.00e+24;
19736let $plus_30=   1.00e+30;
19737let $plus_36=   1.00e+36;
19738let $plus_40=   1.00e+40;
19739let $minus_30= -1.00e+30;
19740let $minus_36= -1.00e+36;
19741let $minus_40= -1.00e+40;
19742
19743let $callvar01m= -1.00e+20;
19744let $callvar01p=  1.00e+20;
19745let $callvar02=  -9.22e+18;
19746let $callvar03=  -9.22e+18;
19747
19748let $procvar01_m30= -1.00e+30;
19749let $procvar01_m36= -1.00e+36;
19750let $procvar01_m40= -1.00e+40;
19751let $procvar01_20=  1.00e+20;
19752let $procvar01_24=  1.00e+24;
19753let $procvar01_30=  1.00e+30;
19754let $procvar01_36=  1.00e+36;
19755let $procvar01_40=  1.00e+40;
19756
19757#################123456789-123456789-123456789-123456789-
19758let $plus_20=   100000000000000000000;
19759let $plus_24=   1000000000000000000000000;
19760let $plus_30=   1000000000000000000000000000000;
19761let $plus_36=   1000000000000000000000000000000000000;
19762let $plus_40=   10000000000000000000000000000000000000000;
19763let $minus_30= -1000000000000000000000000000000;
19764let $minus_36= -1000000000000000000000000000000000000;
19765let $minus_40= -10000000000000000000000000000000000000000;
19766
19767let $procvar_m00=   -1.00e+22;
19768let $procvar_00=     1.00e+22;
19769let $procvar01_m30= $procvar_m00;
19770let $procvar01_m36= $procvar_m00;
19771let $procvar01_m40= $procvar_m00;
19772let $procvar01_20=  $procvar_00;
19773let $procvar01_24=  $procvar_00;
19774let $procvar01_30=  $procvar_00;
19775let $procvar01_36=  $procvar_00;
19776let $procvar01_40=  $procvar_00;
19777let $procvar03= -9.22e+18;
19778let $procvar05= -9.22e+18;
19779let $procvar07= -9.22e+18;
19780
19781
19782--disable_warnings
19783DROP DATABASE IF EXISTS d1;
19784--enable_warnings
19785
19786CREATE DATABASE d1;
19787USE d1;
19788
19789--disable_warnings
19790DROP FUNCTION IF EXISTS fn1;
19791--enable_warnings
19792
19793delimiter //;
19794CREATE FUNCTION fn1( f1 bigint) returns bigint
19795BEGIN
19796   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19797  return f1;
19798END//
19799delimiter ;//
19800
19801SELECT fn1(-9.22e+18);
19802
19803
19804--disable_warnings
19805DROP FUNCTION IF EXISTS fn2;
19806--enable_warnings
19807
19808delimiter //;
19809CREATE FUNCTION fn2( f1 bigint unsigned) returns bigint unsigned
19810BEGIN
19811   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19812  return f1;
19813END//
19814delimiter ;//
19815
19816SELECT fn2(1.84e+19);
19817
19818
19819--disable_warnings
19820DROP FUNCTION IF EXISTS fn3;
19821--enable_warnings
19822
19823delimiter //;
19824CREATE FUNCTION fn3( f1 bigint unsigned zerofill) returns bigint unsigned zerofill
19825BEGIN
19826   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19827  return f1;
19828END//
19829delimiter ;//
19830
19831--disable_ps_protocol
19832SELECT fn3(1.84e+17);
19833--enable_ps_protocol
19834
19835--disable_warnings
19836DROP FUNCTION IF EXISTS fn4;
19837--enable_warnings
19838
19839delimiter //;
19840CREATE FUNCTION fn4( f1 bigint zerofill) returns bigint zerofill
19841BEGIN
19842   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19843  return f1;
19844END//
19845delimiter ;//
19846
19847--disable_ps_protocol
19848SELECT fn4(-9.22e+15);
19849--enable_ps_protocol
19850
19851--disable_warnings
19852DROP FUNCTION IF EXISTS fn5;
19853--enable_warnings
19854
19855delimiter //;
19856CREATE FUNCTION fn5( f1 decimal) returns decimal
19857BEGIN
19858   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19859  return f1;
19860END//
19861delimiter ;//
19862
19863SELECT fn5(-1.00e+09);
19864
19865
19866--disable_warnings
19867DROP FUNCTION IF EXISTS fn6;
19868--enable_warnings
19869
19870delimiter //;
19871CREATE FUNCTION fn6( f1 decimal (0)) returns decimal (0)
19872BEGIN
19873   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19874  return f1;
19875END//
19876delimiter ;//
19877
19878SELECT fn6(-1.00e+09);
19879
19880
19881--disable_warnings
19882DROP FUNCTION IF EXISTS fn7;
19883--enable_warnings
19884
19885delimiter //;
19886CREATE FUNCTION fn7( f1 decimal (0) unsigned) returns decimal (0) unsigned
19887BEGIN
19888   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19889  return f1;
19890END//
19891delimiter ;//
19892
19893SELECT fn7(99999999999);
19894
19895
19896--disable_warnings
19897DROP FUNCTION IF EXISTS fn8;
19898--enable_warnings
19899
19900delimiter //;
19901CREATE FUNCTION fn8( f1 decimal (0) unsigned zerofill) returns decimal (0) unsigned zerofill
19902BEGIN
19903   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19904  return f1;
19905END//
19906delimiter ;//
19907
19908SELECT fn8(999999999);
19909
19910--disable_warnings
19911DROP FUNCTION IF EXISTS fn9;
19912--enable_warnings
19913
19914delimiter //;
19915CREATE FUNCTION fn9( f1 decimal (0) zerofill) returns decimal (0) zerofill
19916BEGIN
19917   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19918  return f1;
19919END//
19920delimiter ;//
19921
19922SELECT fn9(-1.00e+09);
19923
19924
19925--disable_warnings
19926DROP FUNCTION IF EXISTS fn10;
19927--enable_warnings
19928
19929delimiter //;
19930CREATE FUNCTION fn10( f1 decimal (0, 0)) returns decimal (0, 0)
19931BEGIN
19932   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19933  return f1;
19934END//
19935delimiter ;//
19936
19937SELECT fn10(-1.00e+09);
19938
19939
19940--disable_warnings
19941DROP FUNCTION IF EXISTS fn11;
19942--enable_warnings
19943
19944delimiter //;
19945CREATE FUNCTION fn11( f1 decimal (0, 0) unsigned) returns decimal (0, 0) unsigned
19946BEGIN
19947   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19948  return f1;
19949END//
19950delimiter ;//
19951
19952SELECT fn11(99999999999);
19953
19954
19955--disable_warnings
19956DROP FUNCTION IF EXISTS fn12;
19957--enable_warnings
19958
19959delimiter //;
19960CREATE FUNCTION fn12( f1 decimal (0, 0) unsigned zerofill) returns decimal (0, 0) unsigned zerofill
19961BEGIN
19962   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19963  return f1;
19964END//
19965delimiter ;//
19966
19967SELECT fn12(999999999);
19968
19969--disable_warnings
19970DROP FUNCTION IF EXISTS fn13;
19971--enable_warnings
19972
19973delimiter //;
19974CREATE FUNCTION fn13( f1 decimal (0, 0) zerofill) returns decimal (0, 0) zerofill
19975BEGIN
19976   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19977  return f1;
19978END//
19979delimiter ;//
19980
19981SELECT fn13(-1.00e+09);
19982
19983
19984--disable_warnings
19985DROP FUNCTION IF EXISTS fn14;
19986--enable_warnings
19987
19988delimiter //;
19989CREATE FUNCTION fn14( f1 decimal (63, 30)) returns decimal (63, 30)
19990BEGIN
19991   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19992  return f1;
19993END//
19994delimiter ;//
19995
19996SELECT fn14(-1.00e+21);
19997
19998
19999--disable_warnings
20000DROP FUNCTION IF EXISTS fn15;
20001--enable_warnings
20002
20003delimiter //;
20004CREATE FUNCTION fn15( f1 decimal (63, 30) unsigned) returns decimal (63, 30) unsigned
20005BEGIN
20006   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20007  return f1;
20008END//
20009delimiter ;//
20010
20011SELECT fn15(1.00e+16);
20012
20013
20014--disable_warnings
20015DROP FUNCTION IF EXISTS fn16;
20016--enable_warnings
20017
20018delimiter //;
20019CREATE FUNCTION fn16( f1 decimal (63, 30) unsigned zerofill) returns decimal (63, 30) unsigned zerofill
20020BEGIN
20021   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20022  return f1;
20023END//
20024delimiter ;//
20025
20026SELECT fn16(1.00e+16);
20027
20028
20029--disable_warnings
20030DROP FUNCTION IF EXISTS fn17;
20031--enable_warnings
20032
20033delimiter //;
20034CREATE FUNCTION fn17( f1 decimal (63, 30) zerofill) returns decimal (63, 30) zerofill
20035BEGIN
20036   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20037  return f1;
20038END//
20039delimiter ;//
20040
20041SELECT fn17(-1.00e+21);
20042
20043
20044--disable_warnings
20045DROP FUNCTION IF EXISTS fn18_d;
20046--enable_warnings
20047
20048delimiter //;
20049CREATE FUNCTION fn18_d( f1 decimal (64)) returns decimal (64)
20050BEGIN
20051   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20052  return f1;
20053END//
20054delimiter ;//
20055
20056#FIXME hpux11
20057eval SELECT fn18_d( $minus_30 );
20058
20059
20060--disable_warnings
20061DROP FUNCTION IF EXISTS fn19_du;
20062--enable_warnings
20063
20064delimiter //;
20065CREATE FUNCTION fn19_du( f1 decimal (64) unsigned) returns decimal (64) unsigned
20066BEGIN
20067   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20068  return f1;
20069END//
20070delimiter ;//
20071
20072eval SELECT fn19_du( $plus_20 );
20073
20074--disable_warnings
20075DROP FUNCTION IF EXISTS fn20_duz;
20076--enable_warnings
20077
20078delimiter //;
20079CREATE FUNCTION fn20_duz( f1 decimal (64) unsigned zerofill) returns decimal (64) unsigned zerofill
20080BEGIN
20081   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20082  return f1;
20083END//
20084delimiter ;//
20085
20086eval SELECT fn20_duz( $plus_24 );
20087
20088--disable_warnings
20089DROP FUNCTION IF EXISTS fn21_d_z;
20090--enable_warnings
20091
20092delimiter //;
20093CREATE FUNCTION fn21_d_z( f1 decimal (64) zerofill) returns decimal (64) zerofill
20094BEGIN
20095   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20096  return f1;
20097END//
20098delimiter ;//
20099
20100SELECT fn21_d_z(1.00e+00);
20101
20102--disable_warnings
20103DROP FUNCTION IF EXISTS fn22;
20104--enable_warnings
20105
20106delimiter //;
20107CREATE FUNCTION fn22( f1 decimal unsigned) returns decimal unsigned
20108BEGIN
20109   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20110  return f1;
20111END//
20112delimiter ;//
20113
20114SELECT fn22(1.00e+00);
20115
20116
20117--disable_warnings
20118DROP FUNCTION IF EXISTS fn23;
20119--enable_warnings
20120
20121delimiter //;
20122CREATE FUNCTION fn23( f1 decimal unsigned zerofill) returns decimal unsigned zerofill
20123BEGIN
20124   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20125  return f1;
20126END//
20127delimiter ;//
20128
20129SELECT fn23(1.00e+00);
20130
20131--disable_warnings
20132DROP FUNCTION IF EXISTS fn24;
20133--enable_warnings
20134
20135delimiter //;
20136CREATE FUNCTION fn24( f1 decimal zerofill) returns decimal zerofill
20137BEGIN
20138   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20139  return f1;
20140END//
20141delimiter ;//
20142
20143SELECT fn24(-1.00e+09);
20144
20145
20146--disable_warnings
20147DROP FUNCTION IF EXISTS fn25;
20148--enable_warnings
20149
20150delimiter //;
20151CREATE FUNCTION fn25( f1 double) returns double
20152BEGIN
20153   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20154  return f1;
20155END//
20156delimiter ;//
20157
20158SELECT fn25(1.00e+00);
20159
20160
20161--disable_warnings
20162DROP FUNCTION IF EXISTS fn26;
20163--enable_warnings
20164
20165delimiter //;
20166CREATE FUNCTION fn26( f1 double unsigned) returns double unsigned
20167BEGIN
20168   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20169  return f1;
20170END//
20171delimiter ;//
20172
20173SELECT fn26(1.00e+00);
20174
20175--disable_warnings
20176DROP FUNCTION IF EXISTS fn27;
20177--enable_warnings
20178
20179delimiter //;
20180CREATE FUNCTION fn27( f1 double unsigned zerofill) returns double unsigned zerofill
20181BEGIN
20182   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20183  return f1;
20184END//
20185delimiter ;//
20186
20187--disable_ps_protocol
20188SELECT fn27(1.00e+00);
20189--enable_ps_protocol
20190
20191
20192--disable_warnings
20193DROP FUNCTION IF EXISTS fn28;
20194--enable_warnings
20195
20196delimiter //;
20197CREATE FUNCTION fn28( f1 double zerofill) returns double zerofill
20198BEGIN
20199   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20200  return f1;
20201END//
20202delimiter ;//
20203
20204--disable_ps_protocol
20205SELECT fn28(1.00e+00);
20206--enable_ps_protocol
20207
20208
20209--disable_warnings
20210DROP FUNCTION IF EXISTS fn29;
20211--enable_warnings
20212
20213
20214delimiter //;
20215CREATE FUNCTION fn29( f1 float) returns float
20216BEGIN
20217   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20218  return f1;
20219END//
20220delimiter ;//
20221
20222SELECT fn29(1.00e+00);
20223
20224
20225--disable_warnings
20226DROP FUNCTION IF EXISTS fn30;
20227--enable_warnings
20228
20229delimiter //;
20230CREATE FUNCTION fn30( f1 float unsigned) returns float unsigned
20231BEGIN
20232   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20233  return f1;
20234END//
20235delimiter ;//
20236
20237SELECT fn30(1.00e+00);
20238
20239
20240--disable_warnings
20241DROP FUNCTION IF EXISTS fn31;
20242--enable_warnings
20243
20244delimiter //;
20245CREATE FUNCTION fn31( f1 float unsigned zerofill) returns float unsigned zerofill
20246BEGIN
20247   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20248  return f1;
20249END//
20250delimiter ;//
20251
20252--disable_ps_protocol
20253SELECT fn31(1.00e+00);
20254--enable_ps_protocol
20255
20256
20257--disable_warnings
20258DROP FUNCTION IF EXISTS fn32;
20259--enable_warnings
20260
20261delimiter //;
20262CREATE FUNCTION fn32( f1 float zerofill) returns float zerofill
20263BEGIN
20264   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20265  return f1;
20266END//
20267delimiter ;//
20268
20269--disable_ps_protocol
20270SELECT fn32(1.00e+00);
20271--enable_ps_protocol
20272
20273
20274--disable_warnings
20275DROP FUNCTION IF EXISTS fn33;
20276--enable_warnings
20277
20278delimiter //;
20279CREATE FUNCTION fn33( f1 float(0)) returns float(0)
20280BEGIN
20281   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20282  return f1;
20283END//
20284delimiter ;//
20285
20286SELECT fn33(1.00e+00);
20287
20288
20289--disable_warnings
20290DROP FUNCTION IF EXISTS fn34;
20291--enable_warnings
20292
20293delimiter //;
20294CREATE FUNCTION fn34( f1 float(0) unsigned) returns float(0) unsigned
20295BEGIN
20296   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20297  return f1;
20298END//
20299delimiter ;//
20300
20301SELECT fn34(1.00e+00);
20302
20303
20304--disable_warnings
20305DROP FUNCTION IF EXISTS fn35;
20306--enable_warnings
20307
20308delimiter //;
20309CREATE FUNCTION fn35( f1 float(0) unsigned zerofill) returns float(0) unsigned zerofill
20310BEGIN
20311   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20312  return f1;
20313END//
20314delimiter ;//
20315
20316--disable_ps_protocol
20317SELECT fn35(1.00e+00);
20318--enable_ps_protocol
20319
20320
20321--disable_warnings
20322DROP FUNCTION IF EXISTS fn36;
20323--enable_warnings
20324
20325delimiter //;
20326CREATE FUNCTION fn36( f1 float(0) zerofill) returns float(0) zerofill
20327BEGIN
20328   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20329  return f1;
20330END//
20331delimiter ;//
20332
20333--disable_ps_protocol
20334SELECT fn36(1.00e+00);
20335--enable_ps_protocol
20336
20337
20338--disable_warnings
20339DROP FUNCTION IF EXISTS fn37;
20340--enable_warnings
20341
20342delimiter //;
20343CREATE FUNCTION fn37( f1 float(23)) returns float(23)
20344BEGIN
20345   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20346  return f1;
20347END//
20348delimiter ;//
20349
20350SELECT fn37(1.00e+00);
20351
20352
20353--disable_warnings
20354DROP FUNCTION IF EXISTS fn38;
20355--enable_warnings
20356
20357delimiter //;
20358CREATE FUNCTION fn38( f1 float(23) unsigned) returns float(23) unsigned
20359BEGIN
20360   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20361  return f1;
20362END//
20363delimiter ;//
20364
20365SELECT fn38(1.00e+00);
20366
20367
20368--disable_warnings
20369DROP FUNCTION IF EXISTS fn39;
20370--enable_warnings
20371
20372delimiter //;
20373CREATE FUNCTION fn39( f1 float(23) unsigned zerofill) returns float(23) unsigned zerofill
20374BEGIN
20375   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20376  return f1;
20377END//
20378delimiter ;//
20379
20380--disable_ps_protocol
20381SELECT fn39(1.00e+00);
20382--enable_ps_protocol
20383
20384
20385--disable_warnings
20386DROP FUNCTION IF EXISTS fn40;
20387--enable_warnings
20388
20389delimiter //;
20390CREATE FUNCTION fn40( f1 float(23) zerofill) returns float(23) zerofill
20391BEGIN
20392   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20393  return f1;
20394END//
20395delimiter ;//
20396
20397--disable_ps_protocol
20398SELECT fn40(1.00e+00);
20399--enable_ps_protocol
20400
20401
20402--disable_warnings
20403DROP FUNCTION IF EXISTS fn41;
20404--enable_warnings
20405
20406delimiter //;
20407CREATE FUNCTION fn41( f1 float(24)) returns float(24)
20408BEGIN
20409   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20410  return f1;
20411END//
20412delimiter ;//
20413
20414SELECT fn41(1.00e+00);
20415
20416
20417--disable_warnings
20418DROP FUNCTION IF EXISTS fn42;
20419--enable_warnings
20420
20421delimiter //;
20422CREATE FUNCTION fn42( f1 float(24) unsigned) returns float(24) unsigned
20423BEGIN
20424   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20425  return f1;
20426END//
20427delimiter ;//
20428
20429SELECT fn42(1.00e+00);
20430
20431--disable_warnings
20432DROP FUNCTION IF EXISTS fn43;
20433--enable_warnings
20434
20435delimiter //;
20436CREATE FUNCTION fn43( f1 float(24) unsigned zerofill) returns float(24) unsigned zerofill
20437BEGIN
20438   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20439  return f1;
20440END//
20441delimiter ;//
20442
20443--disable_ps_protocol
20444SELECT fn43(1.00e+00);
20445--enable_ps_protocol
20446
20447
20448--disable_warnings
20449DROP FUNCTION IF EXISTS fn44;
20450--enable_warnings
20451
20452delimiter //;
20453CREATE FUNCTION fn44( f1 float(24) zerofill) returns float(24) zerofill
20454BEGIN
20455   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20456  return f1;
20457END//
20458delimiter ;//
20459
20460--disable_ps_protocol
20461SELECT fn44(1.00e+00);
20462--enable_ps_protocol
20463
20464
20465--disable_warnings
20466DROP FUNCTION IF EXISTS fn45;
20467--enable_warnings
20468
20469delimiter //;
20470CREATE FUNCTION fn45( f1 float(53)) returns float(53)
20471BEGIN
20472   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20473  return f1;
20474END//
20475delimiter ;//
20476
20477SELECT fn45(1.00e+00);
20478
20479
20480--disable_warnings
20481DROP FUNCTION IF EXISTS fn46;
20482--enable_warnings
20483
20484delimiter //;
20485CREATE FUNCTION fn46( f1 float(53) unsigned) returns float(53) unsigned
20486BEGIN
20487   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20488  return f1;
20489END//
20490delimiter ;//
20491
20492SELECT fn46(1.00e+00);
20493
20494--disable_warnings
20495DROP FUNCTION IF EXISTS fn47;
20496--enable_warnings
20497
20498delimiter //;
20499CREATE FUNCTION fn47( f1 float(53) unsigned zerofill) returns float(53) unsigned zerofill
20500BEGIN
20501   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20502  return f1;
20503END//
20504delimiter ;//
20505
20506--disable_ps_protocol
20507SELECT fn47(1.00e+00);
20508--enable_ps_protocol
20509
20510
20511--disable_warnings
20512DROP FUNCTION IF EXISTS fn48;
20513--enable_warnings
20514
20515delimiter //;
20516CREATE FUNCTION fn48( f1 float(53) zerofill) returns float(53) zerofill
20517BEGIN
20518   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20519  return f1;
20520END//
20521delimiter ;//
20522
20523--disable_ps_protocol
20524SELECT fn48(1.00e+00);
20525--enable_ps_protocol
20526
20527
20528--disable_warnings
20529DROP FUNCTION IF EXISTS fn49;
20530--enable_warnings
20531
20532delimiter //;
20533CREATE FUNCTION fn49( f1 int) returns int
20534BEGIN
20535   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20536  return f1;
20537END//
20538delimiter ;//
20539
20540SELECT fn49(-2.15e+09);
20541
20542
20543--disable_warnings
20544DROP FUNCTION IF EXISTS fn50;
20545--enable_warnings
20546
20547delimiter //;
20548CREATE FUNCTION fn50( f1 int unsigned) returns int unsigned
20549BEGIN
20550   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20551  return f1;
20552END//
20553delimiter ;//
20554
20555SELECT fn50(4.29e+09);
20556
20557
20558--disable_warnings
20559DROP FUNCTION IF EXISTS fn51;
20560--enable_warnings
20561
20562delimiter //;
20563CREATE FUNCTION fn51( f1 int unsigned zerofill) returns int unsigned zerofill
20564BEGIN
20565   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20566  return f1;
20567END//
20568delimiter ;//
20569
20570SELECT fn51(4.29e+09);
20571
20572
20573--disable_warnings
20574DROP FUNCTION IF EXISTS fn52;
20575--enable_warnings
20576
20577delimiter //;
20578CREATE FUNCTION fn52( f1 int zerofill) returns int zerofill
20579BEGIN
20580   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20581  return f1;
20582END//
20583delimiter ;//
20584
20585--disable_ps_protocol
20586SELECT fn52(2.15e+08);
20587--enable_ps_protocol
20588
20589--disable_warnings
20590DROP FUNCTION IF EXISTS fn53;
20591--enable_warnings
20592
20593delimiter //;
20594CREATE FUNCTION fn53( f1 mediumint) returns mediumint
20595BEGIN
20596   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20597  return f1;
20598END//
20599delimiter ;//
20600
20601SELECT fn53(-8388600);
20602
20603--disable_warnings
20604DROP FUNCTION IF EXISTS fn54;
20605--enable_warnings
20606
20607delimiter //;
20608CREATE FUNCTION fn54( f1 mediumint unsigned) returns mediumint unsigned
20609BEGIN
20610   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20611  return f1;
20612END//
20613delimiter ;//
20614
20615SELECT fn54(16777201);
20616
20617
20618--disable_warnings
20619DROP FUNCTION IF EXISTS fn55;
20620--enable_warnings
20621
20622delimiter //;
20623CREATE FUNCTION fn55( f1 mediumint unsigned zerofill) returns mediumint unsigned zerofill
20624BEGIN
20625   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20626  return f1;
20627END//
20628delimiter ;//
20629
20630SELECT fn55(16777210);
20631
20632
20633--disable_warnings
20634DROP FUNCTION IF EXISTS fn56;
20635--enable_warnings
20636
20637delimiter //;
20638CREATE FUNCTION fn56( f1 mediumint zerofill) returns mediumint zerofill
20639BEGIN
20640   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20641  return f1;
20642END//
20643delimiter ;//
20644
20645SELECT fn56(-8388601);
20646
20647--disable_warnings
20648DROP FUNCTION IF EXISTS fn57;
20649--enable_warnings
20650
20651delimiter //;
20652CREATE FUNCTION fn57( f1 numeric) returns numeric
20653BEGIN
20654   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20655  return f1;
20656END//
20657delimiter ;//
20658
20659SELECT fn57(-999999999);
20660
20661
20662--disable_warnings
20663DROP FUNCTION IF EXISTS fn58;
20664--enable_warnings
20665
20666delimiter //;
20667CREATE FUNCTION fn58( f1 numeric (0)) returns numeric (0)
20668BEGIN
20669   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20670  return f1;
20671END//
20672delimiter ;//
20673
20674SELECT fn58(-999999999);
20675
20676
20677--disable_warnings
20678DROP FUNCTION IF EXISTS fn59;
20679--enable_warnings
20680
20681delimiter //;
20682CREATE FUNCTION fn59( f1 numeric (0) unsigned) returns numeric (0) unsigned
20683BEGIN
20684   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20685  return f1;
20686END//
20687delimiter ;//
20688
20689SELECT fn59(9999999999);
20690
20691--disable_warnings
20692DROP FUNCTION IF EXISTS fn60;
20693--enable_warnings
20694
20695delimiter //;
20696CREATE FUNCTION fn60( f1 numeric (0) unsigned zerofill) returns numeric (0) unsigned zerofill
20697BEGIN
20698   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20699  return f1;
20700END//
20701delimiter ;//
20702
20703SELECT fn60(99999999);
20704
20705
20706--disable_warnings
20707DROP FUNCTION IF EXISTS fn61;
20708--enable_warnings
20709
20710delimiter //;
20711CREATE FUNCTION fn61( f1 numeric (0) zerofill) returns numeric (0) zerofill
20712BEGIN
20713   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20714  return f1;
20715END//
20716delimiter ;//
20717
20718SELECT fn61(-99999999);
20719
20720
20721--disable_warnings
20722DROP FUNCTION IF EXISTS fn62;
20723--enable_warnings
20724
20725delimiter //;
20726CREATE FUNCTION fn62( f1 numeric (0, 0)) returns numeric (0, 0)
20727BEGIN
20728   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20729  return f1;
20730END//
20731delimiter ;//
20732
20733SELECT fn62(-999999999);
20734
20735
20736--disable_warnings
20737DROP FUNCTION IF EXISTS fn63;
20738--enable_warnings
20739
20740delimiter //;
20741CREATE FUNCTION fn63( f1 numeric (0, 0) unsigned) returns numeric (0, 0) unsigned
20742BEGIN
20743   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20744  return f1;
20745END//
20746delimiter ;//
20747
20748SELECT fn63(9999999999);
20749
20750
20751--disable_warnings
20752DROP FUNCTION IF EXISTS fn64;
20753--enable_warnings
20754
20755delimiter //;
20756CREATE FUNCTION fn64( f1 numeric (0, 0) unsigned zerofill) returns numeric (0, 0) unsigned zerofill
20757BEGIN
20758   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20759  return f1;
20760END//
20761delimiter ;//
20762
20763SELECT fn64(99999999);
20764
20765
20766--disable_warnings
20767DROP FUNCTION IF EXISTS fn65;
20768--enable_warnings
20769
20770delimiter //;
20771CREATE FUNCTION fn65( f1 numeric (0, 0) zerofill) returns numeric (0, 0) zerofill
20772BEGIN
20773   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20774  return f1;
20775END//
20776delimiter ;//
20777
20778SELECT fn65(-99999999);
20779
20780
20781--disable_warnings
20782DROP FUNCTION IF EXISTS fn66;
20783--enable_warnings
20784
20785delimiter //;
20786CREATE FUNCTION fn66( f1 numeric (63, 30)) returns numeric (63, 30)
20787BEGIN
20788   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20789  return f1;
20790END//
20791delimiter ;//
20792
20793SELECT fn66(-1e+36);
20794
20795
20796--disable_warnings
20797DROP FUNCTION IF EXISTS fn67;
20798--enable_warnings
20799
20800delimiter //;
20801CREATE FUNCTION fn67( f1 numeric (63, 30) unsigned) returns numeric (63, 30) unsigned
20802BEGIN
20803   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20804  return f1;
20805END//
20806delimiter ;//
20807
20808SELECT fn67(1e+36);
20809
20810
20811--disable_warnings
20812DROP FUNCTION IF EXISTS fn68;
20813--enable_warnings
20814
20815delimiter //;
20816CREATE FUNCTION fn68( f1 numeric (63, 30) unsigned zerofill) returns numeric (63, 30) unsigned zerofill
20817BEGIN
20818   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20819  return f1;
20820END//
20821delimiter ;//
20822
20823SELECT fn68(1e+36);
20824
20825
20826--disable_warnings
20827DROP FUNCTION IF EXISTS fn69;
20828--enable_warnings
20829
20830delimiter //;
20831CREATE FUNCTION fn69( f1 numeric (63, 30) zerofill) returns numeric (63, 30) zerofill
20832BEGIN
20833   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20834  return f1;
20835END//
20836delimiter ;//
20837
20838SELECT fn69(-1e+36);
20839
20840
20841--disable_warnings
20842DROP FUNCTION IF EXISTS fn70_n;
20843--enable_warnings
20844
20845delimiter //;
20846CREATE FUNCTION fn70_n( f1 numeric (64)) returns numeric (64)
20847BEGIN
20848   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20849  return f1;
20850END//
20851delimiter ;//
20852
20853#FIXME hpux11
20854#SELECT fn70_n(-1e+40);
20855eval SELECT fn70_n( $minus_30 );
20856eval SELECT fn70_n( $minus_40 );
20857
20858
20859--disable_warnings
20860DROP FUNCTION IF EXISTS fn71_nu;
20861--enable_warnings
20862
20863delimiter //;
20864CREATE FUNCTION fn71_nu( f1 numeric (64) unsigned) returns numeric (64) unsigned
20865BEGIN
20866   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20867  return f1;
20868END//
20869delimiter ;//
20870
20871#FIXME hpux11
20872#SELECT fn71_nu(1.00e+40);
20873eval SELECT fn71_nu( $plus_40 );
20874
20875
20876--disable_warnings
20877DROP FUNCTION IF EXISTS fn72_nuz;
20878--enable_warnings
20879
20880delimiter //;
20881CREATE FUNCTION fn72_nuz( f1 numeric (64) unsigned zerofill) returns numeric (64) unsigned zerofill
20882BEGIN
20883   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20884  return f1;
20885END//
20886delimiter ;//
20887
20888#FIXME hpux11
20889#SELECT fn72_nuz(1.00e+40);
20890eval SELECT fn72_nuz( $plus_40 );
20891
20892
20893--disable_warnings
20894DROP FUNCTION IF EXISTS fn73_n_z;
20895--enable_warnings
20896
20897delimiter //;
20898CREATE FUNCTION fn73_n_z( f1 numeric (64) zerofill) returns numeric (64) zerofill
20899BEGIN
20900   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20901  return f1;
20902END//
20903delimiter ;//
20904
20905#FIXME hpux11
20906#SELECT fn73_n_z(1.00e+40);
20907eval SELECT fn73_n_z( $plus_40 );
20908
20909--disable_warnings
20910DROP FUNCTION IF EXISTS fn74;
20911--enable_warnings
20912
20913delimiter //;
20914CREATE FUNCTION fn74( f1 numeric unsigned) returns numeric unsigned
20915BEGIN
20916   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20917  return f1;
20918END//
20919delimiter ;//
20920
20921SELECT fn74(999999999);
20922
20923
20924--disable_warnings
20925DROP FUNCTION IF EXISTS fn75;
20926--enable_warnings
20927
20928delimiter //;
20929CREATE FUNCTION fn75( f1 numeric unsigned zerofill) returns numeric unsigned zerofill
20930BEGIN
20931   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20932  return f1;
20933END//
20934delimiter ;//
20935
20936SELECT fn75(999999999);
20937
20938
20939--disable_warnings
20940DROP FUNCTION IF EXISTS fn76;
20941--enable_warnings
20942
20943delimiter //;
20944CREATE FUNCTION fn76( f1 numeric zerofill) returns numeric zerofill
20945BEGIN
20946   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20947  return f1;
20948END//
20949delimiter ;//
20950
20951SELECT fn76(-999999999);
20952
20953
20954--disable_warnings
20955DROP FUNCTION IF EXISTS fn77;
20956--enable_warnings
20957
20958delimiter //;
20959CREATE FUNCTION fn77( f1 real) returns real
20960BEGIN
20961   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20962  return f1;
20963END//
20964delimiter ;//
20965
20966SELECT fn77(1.1);
20967
20968
20969--disable_warnings
20970DROP FUNCTION IF EXISTS fn78;
20971--enable_warnings
20972
20973delimiter //;
20974CREATE FUNCTION fn78( f1 real unsigned) returns real unsigned
20975BEGIN
20976   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20977  return f1;
20978END//
20979delimiter ;//
20980
20981SELECT fn78(1.1);
20982
20983
20984--disable_warnings
20985DROP FUNCTION IF EXISTS fn79;
20986--enable_warnings
20987
20988delimiter //;
20989CREATE FUNCTION fn79( f1 real unsigned zerofill) returns real unsigned zerofill
20990BEGIN
20991   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20992  return f1;
20993END//
20994delimiter ;//
20995
20996--disable_ps_protocol
20997SELECT fn79(1.1);
20998--enable_ps_protocol
20999
21000
21001--disable_warnings
21002DROP FUNCTION IF EXISTS fn80;
21003--enable_warnings
21004
21005delimiter //;
21006CREATE FUNCTION fn80( f1 real zerofill) returns real zerofill
21007BEGIN
21008   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21009  return f1;
21010END//
21011delimiter ;//
21012
21013--disable_ps_protocol
21014SELECT fn80(1.1);
21015--enable_ps_protocol
21016
21017
21018--disable_warnings
21019DROP FUNCTION IF EXISTS fn81;
21020--enable_warnings
21021
21022delimiter //;
21023CREATE FUNCTION fn81( f1 smallint) returns smallint
21024BEGIN
21025   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21026  return f1;
21027END//
21028delimiter ;//
21029
21030SELECT fn81(-32701);
21031
21032
21033--disable_warnings
21034DROP FUNCTION IF EXISTS fn82;
21035--enable_warnings
21036
21037delimiter //;
21038CREATE FUNCTION fn82( f1 smallint unsigned) returns smallint unsigned
21039BEGIN
21040   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21041  return f1;
21042END//
21043delimiter ;//
21044
21045SELECT fn82(65531);
21046
21047
21048--disable_warnings
21049DROP FUNCTION IF EXISTS fn83;
21050--enable_warnings
21051
21052delimiter //;
21053CREATE FUNCTION fn83( f1 smallint unsigned zerofill) returns smallint unsigned zerofill
21054BEGIN
21055   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21056  return f1;
21057END//
21058delimiter ;//
21059
21060SELECT fn83(65531);
21061
21062
21063--disable_warnings
21064DROP FUNCTION IF EXISTS fn84;
21065--enable_warnings
21066
21067delimiter //;
21068CREATE FUNCTION fn84( f1 smallint zerofill) returns smallint zerofill
21069BEGIN
21070   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21071  return f1;
21072END//
21073delimiter ;//
21074
21075SELECT fn84(-32601);
21076
21077--disable_warnings
21078DROP FUNCTION IF EXISTS fn85;
21079--enable_warnings
21080
21081delimiter //;
21082CREATE FUNCTION fn85( f1 tinyint) returns tinyint
21083BEGIN
21084   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21085  return f1;
21086END//
21087delimiter ;//
21088
21089SELECT fn85(-115);
21090
21091
21092--disable_warnings
21093DROP FUNCTION IF EXISTS fn86;
21094--enable_warnings
21095
21096delimiter //;
21097CREATE FUNCTION fn86( f1 tinyint unsigned) returns tinyint unsigned
21098BEGIN
21099   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21100  return f1;
21101END//
21102delimiter ;//
21103
21104SELECT fn86(251);
21105
21106
21107--disable_warnings
21108DROP FUNCTION IF EXISTS fn87;
21109--enable_warnings
21110
21111delimiter //;
21112CREATE FUNCTION fn87( f1 tinyint unsigned zerofill) returns tinyint unsigned zerofill
21113BEGIN
21114   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21115  return f1;
21116END//
21117delimiter ;//
21118
21119SELECT fn87(201);
21120
21121
21122--disable_warnings
21123DROP FUNCTION IF EXISTS fn88;
21124--enable_warnings
21125
21126delimiter //;
21127CREATE FUNCTION fn88( f1 tinyint zerofill) returns tinyint zerofill
21128BEGIN
21129   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21130  return f1;
21131END//
21132delimiter ;//
21133
21134SELECT fn88(-101);
21135
21136--disable_warnings
21137DROP FUNCTION IF EXISTS fn89;
21138--enable_warnings
21139
21140delimiter //;
21141CREATE FUNCTION fn89( f1 enum('1enum', '2enum')) returns enum('1enum', '2enum')
21142BEGIN
21143 IF f1 = '1enum' THEN
21144   SET f1 = '2enum';
21145  ELSE
21146   SET f1 = '1enum';
21147 END IF;
21148 RETURN f1;
21149END//
21150delimiter ;//
21151
21152SELECT fn89( '1enum');
21153
21154--disable_warnings
21155DROP FUNCTION IF EXISTS fn90;
21156--enable_warnings
21157
21158delimiter //;
21159CREATE FUNCTION fn90( f1 set('1set', '2set')) returns set('1set', '2set')
21160BEGIN
21161   IF f1 = '1set' THEN
21162      SET f1 = '2set';
21163   ELSE
21164      SET f1 = '1set';
21165   END IF;
21166   RETURN f1;
21167END//
21168delimiter ;//
21169
21170SELECT fn90( '1set');
21171
21172--disable_warnings
21173DROP FUNCTION IF EXISTS fn91;
21174--enable_warnings
21175
21176delimiter //;
21177CREATE FUNCTION fn91( f1 date) returns date
21178BEGIN
21179  set f1 = adddate(f1, interval 31 day);
21180  return f1;
21181END//
21182delimiter ;//
21183
21184SELECT fn91('1997-12-31');
21185
21186--disable_warnings
21187DROP FUNCTION IF EXISTS fn92;
21188--enable_warnings
21189
21190
21191delimiter //;
21192CREATE FUNCTION fn92( f1 time) returns time
21193BEGIN
21194  set f1 = addtime(f1, '02:00:00.999998');
21195  return f1;
21196END//
21197delimiter ;//
21198
21199SELECT fn92( '23:59:59.999999');
21200
21201
21202--disable_warnings
21203DROP FUNCTION IF EXISTS fn93;
21204--enable_warnings
21205
21206
21207delimiter //;
21208CREATE FUNCTION fn93( f1 datetime) returns datetime
21209BEGIN
21210  set f1 = addtime(f1, '1 1:1:1.000002');
21211  return f1;
21212END//
21213delimiter ;//
21214
21215SELECT fn93('1997-12-31 23:59:59.999999');
21216
21217--disable_warnings
21218DROP FUNCTION IF EXISTS fn94;
21219--enable_warnings
21220
21221
21222delimiter //;
21223CREATE FUNCTION fn94( f1 char) returns char
21224BEGIN
21225  set f1 = concat('a', f1);
21226  return f1;
21227END//
21228delimiter ;//
21229
21230SELECT fn94( 'h');
21231
21232--disable_warnings
21233DROP FUNCTION IF EXISTS fn95;
21234--enable_warnings
21235
21236
21237delimiter //;
21238CREATE FUNCTION fn95( f1 char ascii) returns char ascii
21239BEGIN
21240  set f1 = concat('a', f1);
21241  return f1;
21242END//
21243delimiter ;//
21244
21245SELECT fn95('h');
21246
21247
21248--disable_warnings
21249DROP FUNCTION IF EXISTS fn96;
21250--enable_warnings
21251
21252delimiter //;
21253CREATE FUNCTION fn96( f1 binary) returns binary(2)
21254BEGIN
21255  set f1 = concat('a', f1);
21256  return f1;
21257END//
21258delimiter ;//
21259
21260SELECT fn96( 'h');
21261
21262
21263--disable_warnings
21264DROP FUNCTION IF EXISTS fn97;
21265--enable_warnings
21266
21267delimiter //;
21268CREATE FUNCTION fn97( f1 longtext) returns longtext
21269BEGIN
21270  set f1 = concat('hello', f1);
21271  return f1;
21272END//
21273delimiter ;//
21274
21275SELECT fn97( 'world');
21276
21277--disable_warnings
21278DROP FUNCTION IF EXISTS fn98;
21279--enable_warnings
21280
21281delimiter //;
21282CREATE FUNCTION fn98( f1 mediumtext) returns mediumtext
21283BEGIN
21284  set f1 = concat('hello', f1);
21285  return f1;
21286END//
21287delimiter ;//
21288
21289SELECT fn98( 'world');
21290
21291--disable_warnings
21292DROP FUNCTION IF EXISTS fn99;
21293--enable_warnings
21294
21295delimiter //;
21296CREATE FUNCTION fn99( f1 text) returns text
21297BEGIN
21298  set f1 = concat('hello', f1);
21299  return f1;
21300END//
21301delimiter ;//
21302
21303SELECT fn99( 'world');
21304
21305--disable_warnings
21306DROP FUNCTION IF EXISTS fn100;
21307--enable_warnings
21308
21309delimiter //;
21310CREATE FUNCTION fn100( f1 tinytext) returns tinytext
21311BEGIN
21312  set f1 = concat('hello', f1);
21313  return f1;
21314END//
21315delimiter ;//
21316
21317SELECT fn100( 'world');
21318
21319--disable_warnings
21320DROP FUNCTION IF EXISTS fn101;
21321--enable_warnings
21322
21323delimiter //;
21324CREATE FUNCTION fn101( f1 year) returns year
21325BEGIN
21326  set f1 = f1 + 10;
21327  return f1;
21328END//
21329delimiter ;//
21330
21331SELECT fn101(51);
21332
21333
21334--disable_warnings
21335DROP FUNCTION IF EXISTS fn102;
21336--enable_warnings
21337
21338delimiter //;
21339CREATE FUNCTION fn102( f1 year(4)) returns year(4)
21340BEGIN
21341  set f1 = f1 + 51;
21342  return f1;
21343END//
21344delimiter ;//
21345
21346SELECT fn102(1982);
21347
21348
21349--disable_warnings
21350DROP FUNCTION IF EXISTS fn103;
21351--enable_warnings
21352
21353delimiter //;
21354CREATE FUNCTION fn103( f1 geometrycollection) returns geometrycollection
21355BEGIN
21356  set f1 = f1;
21357  return f1;
21358END//
21359delimiter ;//
21360
21361SELECT fn103('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@');
21362
21363
21364--disable_warnings
21365DROP FUNCTION IF EXISTS fn104;
21366--enable_warnings
21367
21368delimiter //;
21369CREATE FUNCTION fn104( f1 linestring) returns linestring
21370BEGIN
21371  set f1 = f1;
21372  return f1;
21373END//
21374delimiter ;//
21375
21376SELECT fn104('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@');
21377
21378
21379--disable_warnings
21380DROP FUNCTION IF EXISTS fn105;
21381--enable_warnings
21382
21383delimiter //;
21384CREATE FUNCTION fn105( f1 point) returns point
21385BEGIN
21386  set f1 = f1;
21387  return f1;
21388END//
21389delimiter ;//
21390
21391SELECT fn105('\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@');
21392
21393
21394--disable_warnings
21395DROP FUNCTION IF EXISTS fn106;
21396--enable_warnings
21397
21398delimiter //;
21399CREATE FUNCTION fn106( f1 polygon) returns polygon
21400BEGIN
21401  set f1 = f1;
21402  return f1;
21403END//
21404delimiter ;//
21405
21406SELECT fn106('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@');
21407
21408
21409--disable_warnings
21410DROP FUNCTION IF EXISTS fn107;
21411--enable_warnings
21412
21413delimiter //;
21414CREATE FUNCTION fn107( f1 timestamp) returns timestamp
21415BEGIN
21416  set f1 = now();
21417  return f1;
21418END//
21419delimiter ;//
21420
21421--replace_column 1 returned
21422SELECT fn107(20050510080451);
21423
21424USE db_storedproc;
21425DROP DATABASE d1;
21426
21427
21428# ==============================================================================
21429# test plan section: 4.5 - stored procs with in, out parameters using all datatypes
21430# ==============================================================================
21431
21432--disable_warnings
21433DROP DATABASE IF EXISTS db1;
21434--enable_warnings
21435
21436CREATE DATABASE db1;
21437USE db1;
21438
21439--disable_warnings
21440DROP PROCEDURE IF EXISTS sp1;
21441--enable_warnings
21442
21443delimiter //;
21444CREATE PROCEDURE sp1( f1 bigint)
21445BEGIN
21446   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21447  SELECT f1;
21448END//
21449delimiter ;//
21450
21451CALL sp1(-9.22e+18);
21452
21453
21454--disable_warnings
21455DROP PROCEDURE IF EXISTS sp2;
21456--enable_warnings
21457
21458delimiter //;
21459CREATE PROCEDURE sp2( f1 bigint unsigned)
21460BEGIN
21461   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21462  SELECT f1;
21463END//
21464delimiter ;//
21465
21466CALL sp2(1.84e+19);
21467
21468
21469--disable_warnings
21470DROP PROCEDURE IF EXISTS sp3;
21471--enable_warnings
21472
21473delimiter //;
21474CREATE PROCEDURE sp3( f1 bigint unsigned zerofill)
21475BEGIN
21476   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21477  SELECT f1;
21478END//
21479delimiter ;//
21480
21481CALL sp3(1.84e+17);
21482
21483
21484--disable_warnings
21485DROP PROCEDURE IF EXISTS sp4;
21486--enable_warnings
21487
21488delimiter //;
21489CREATE PROCEDURE sp4( f1 bigint zerofill)
21490BEGIN
21491   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21492  SELECT f1;
21493END//
21494delimiter ;//
21495
21496CALL sp4(-9.22e+15);
21497
21498
21499--disable_warnings
21500DROP PROCEDURE IF EXISTS sp5;
21501--enable_warnings
21502
21503delimiter //;
21504CREATE PROCEDURE sp5( f1 decimal)
21505BEGIN
21506   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21507  SELECT f1;
21508END//
21509delimiter ;//
21510
21511CALL sp5(-1.00e+09);
21512
21513
21514--disable_warnings
21515DROP PROCEDURE IF EXISTS sp6;
21516--enable_warnings
21517
21518delimiter //;
21519CREATE PROCEDURE sp6( f1 decimal (0))
21520BEGIN
21521   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21522  SELECT f1;
21523END//
21524delimiter ;//
21525
21526CALL sp6(-1.00e+09);
21527
21528--disable_warnings
21529DROP PROCEDURE IF EXISTS sp7;
21530--enable_warnings
21531
21532delimiter //;
21533CREATE PROCEDURE sp7( f1 decimal (0) unsigned)
21534BEGIN
21535   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21536  SELECT f1;
21537END//
21538delimiter ;//
21539
21540CALL sp7(99999999999);
21541
21542--disable_warnings
21543DROP PROCEDURE IF EXISTS sp8;
21544--enable_warnings
21545
21546delimiter //;
21547CREATE PROCEDURE sp8( f1 decimal (0) unsigned zerofill)
21548BEGIN
21549   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21550  SELECT f1;
21551END//
21552delimiter ;//
21553
21554CALL sp8(999999999);
21555
21556
21557--disable_warnings
21558DROP PROCEDURE IF EXISTS sp9;
21559--enable_warnings
21560
21561delimiter //;
21562CREATE PROCEDURE sp9( f1 decimal (0) zerofill)
21563BEGIN
21564   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21565  SELECT f1;
21566END//
21567delimiter ;//
21568
21569CALL sp9(-1.00e+09);
21570
21571--disable_warnings
21572DROP PROCEDURE IF EXISTS sp10;
21573--enable_warnings
21574
21575delimiter //;
21576CREATE PROCEDURE sp10( f1 decimal (0, 0))
21577BEGIN
21578   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21579  SELECT f1;
21580END//
21581delimiter ;//
21582
21583CALL sp10(-1.00e+09);
21584
21585--disable_warnings
21586DROP PROCEDURE IF EXISTS sp11;
21587--enable_warnings
21588
21589delimiter //;
21590CREATE PROCEDURE sp11( f1 decimal (0, 0) unsigned)
21591BEGIN
21592   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21593  SELECT f1;
21594END//
21595delimiter ;//
21596
21597CALL sp11(99999999999);
21598
21599--disable_warnings
21600DROP PROCEDURE IF EXISTS sp12;
21601--enable_warnings
21602
21603delimiter //;
21604CREATE PROCEDURE sp12( f1 decimal (0, 0) unsigned zerofill)
21605BEGIN
21606   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21607  SELECT f1;
21608END//
21609delimiter ;//
21610
21611CALL sp12(999999999);
21612
21613--disable_warnings
21614DROP PROCEDURE IF EXISTS sp13;
21615--enable_warnings
21616
21617delimiter //;
21618CREATE PROCEDURE sp13( f1 decimal (0, 0) zerofill)
21619BEGIN
21620   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21621  SELECT f1;
21622END//
21623delimiter ;//
21624
21625CALL sp13(-1.00e+09);
21626
21627--disable_warnings
21628DROP PROCEDURE IF EXISTS sp14;
21629--enable_warnings
21630
21631delimiter //;
21632CREATE PROCEDURE sp14( f1 decimal (63, 30))
21633BEGIN
21634   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21635  SELECT f1;
21636END//
21637delimiter ;//
21638
21639CALL sp14(-1.00e+21);
21640
21641
21642--disable_warnings
21643DROP PROCEDURE IF EXISTS sp15;
21644--enable_warnings
21645
21646delimiter //;
21647CREATE PROCEDURE sp15( f1 decimal (63, 30) unsigned)
21648BEGIN
21649   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21650  SELECT f1;
21651END//
21652delimiter ;//
21653
21654CALL sp15(1.00e+16);
21655
21656
21657--disable_warnings
21658DROP PROCEDURE IF EXISTS sp16;
21659--enable_warnings
21660
21661delimiter //;
21662CREATE PROCEDURE sp16( f1 decimal (63, 30) unsigned zerofill)
21663BEGIN
21664   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21665  SELECT f1;
21666END//
21667delimiter ;//
21668
21669CALL sp16(1.00e+16);
21670
21671
21672--disable_warnings
21673DROP PROCEDURE IF EXISTS sp17;
21674--enable_warnings
21675
21676delimiter //;
21677CREATE PROCEDURE sp17( f1 decimal (63, 30) zerofill)
21678BEGIN
21679   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21680  SELECT f1;
21681END//
21682delimiter ;//
21683
21684CALL sp17(-1.00e+21);
21685
21686--disable_warnings
21687DROP PROCEDURE IF EXISTS sp18_d;
21688--enable_warnings
21689
21690delimiter //;
21691CREATE PROCEDURE sp18_d( f1 decimal (64))
21692BEGIN
21693   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21694  SELECT f1;
21695END//
21696delimiter ;//
21697
21698CALL sp18_d(-1.00e+30);
21699eval CALL sp18_d( $minus_30 );
21700
21701--disable_warnings
21702DROP PROCEDURE IF EXISTS sp19_du;
21703--enable_warnings
21704
21705delimiter //;
21706CREATE PROCEDURE sp19_du( f1 decimal (64) unsigned)
21707BEGIN
21708   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21709  SELECT f1;
21710END//
21711delimiter ;//
21712
21713CALL sp19_du(1.00e+20);
21714eval CALL sp19_du( $plus_20 );
21715CALL sp19_du(1.00e+24);
21716eval CALL sp19_du( $plus_24 );
21717
21718--disable_warnings
21719DROP PROCEDURE IF EXISTS sp20_duz;
21720--enable_warnings
21721
21722delimiter //;
21723CREATE PROCEDURE sp20_duz( f1 decimal (64) unsigned zerofill)
21724BEGIN
21725   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21726  SELECT f1;
21727END//
21728delimiter ;//
21729
21730CALL sp20_duz(1.00e+20);
21731eval CALL sp20_duz( $plus_20 );
21732CALL sp20_duz(1.00e+24);
21733eval CALL sp20_duz( $plus_24 );
21734
21735--disable_warnings
21736DROP PROCEDURE IF EXISTS sp21;
21737--enable_warnings
21738
21739delimiter //;
21740CREATE PROCEDURE sp21( f1 decimal (64) zerofill)
21741BEGIN
21742   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21743  SELECT f1;
21744END//
21745delimiter ;//
21746
21747CALL sp21(1.00e+00);
21748
21749--disable_warnings
21750DROP PROCEDURE IF EXISTS sp22;
21751--enable_warnings
21752
21753delimiter //;
21754CREATE PROCEDURE sp22( f1 decimal unsigned)
21755BEGIN
21756   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21757  SELECT f1;
21758END//
21759delimiter ;//
21760
21761CALL sp22(1.00e+00);
21762
21763--disable_warnings
21764DROP PROCEDURE IF EXISTS sp23;
21765--enable_warnings
21766
21767delimiter //;
21768CREATE PROCEDURE sp23( f1 decimal unsigned zerofill)
21769BEGIN
21770   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21771  SELECT f1;
21772END//
21773delimiter ;//
21774
21775CALL sp23(1.00e+00);
21776
21777--disable_warnings
21778DROP PROCEDURE IF EXISTS sp24;
21779--enable_warnings
21780
21781delimiter //;
21782CREATE PROCEDURE sp24( f1 decimal zerofill)
21783BEGIN
21784   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21785  SELECT f1;
21786END//
21787delimiter ;//
21788
21789CALL sp24(-1.00e+09);
21790
21791--disable_warnings
21792DROP PROCEDURE IF EXISTS sp25;
21793--enable_warnings
21794
21795delimiter //;
21796CREATE PROCEDURE sp25( f1 double)
21797BEGIN
21798   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21799  SELECT f1;
21800END//
21801delimiter ;//
21802
21803CALL sp25(1.00e+00);
21804
21805--disable_warnings
21806DROP PROCEDURE IF EXISTS sp26;
21807--enable_warnings
21808
21809delimiter //;
21810CREATE PROCEDURE sp26( f1 double unsigned)
21811BEGIN
21812   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21813  SELECT f1;
21814END//
21815delimiter ;//
21816
21817CALL sp26(1.00e+00);
21818
21819--disable_warnings
21820DROP PROCEDURE IF EXISTS sp27;
21821--enable_warnings
21822
21823delimiter //;
21824CREATE PROCEDURE sp27( f1 double unsigned zerofill)
21825BEGIN
21826   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21827  SELECT f1;
21828END//
21829delimiter ;//
21830
21831CALL sp27(1.00e+00);
21832
21833--disable_warnings
21834DROP PROCEDURE IF EXISTS sp28;
21835--enable_warnings
21836
21837delimiter //;
21838CREATE PROCEDURE sp28( f1 double zerofill)
21839BEGIN
21840   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21841  SELECT f1;
21842END//
21843delimiter ;//
21844
21845CALL sp28(1.00e+00);
21846
21847--disable_warnings
21848DROP PROCEDURE IF EXISTS sp29;
21849--enable_warnings
21850
21851delimiter //;
21852CREATE PROCEDURE sp29( f1 float)
21853BEGIN
21854   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21855  SELECT f1;
21856END//
21857delimiter ;//
21858
21859CALL sp29(1.00e+00);
21860
21861--disable_warnings
21862DROP PROCEDURE IF EXISTS sp30;
21863--enable_warnings
21864
21865delimiter //;
21866CREATE PROCEDURE sp30( f1 float unsigned)
21867BEGIN
21868   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21869  SELECT f1;
21870END//
21871delimiter ;//
21872
21873CALL sp30(1.00e+00);
21874
21875--disable_warnings
21876DROP PROCEDURE IF EXISTS sp31;
21877--enable_warnings
21878
21879delimiter //;
21880CREATE PROCEDURE sp31( f1 float unsigned zerofill)
21881BEGIN
21882   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21883  SELECT f1;
21884END//
21885delimiter ;//
21886
21887CALL sp31(1.00e+00);
21888
21889--disable_warnings
21890DROP PROCEDURE IF EXISTS sp32;
21891--enable_warnings
21892
21893delimiter //;
21894CREATE PROCEDURE sp32( f1 float zerofill)
21895BEGIN
21896   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21897  SELECT f1;
21898END//
21899delimiter ;//
21900
21901CALL sp32(1.00e+00);
21902
21903--disable_warnings
21904DROP PROCEDURE IF EXISTS sp33;
21905--enable_warnings
21906
21907delimiter //;
21908CREATE PROCEDURE sp33( f1 float(0))
21909BEGIN
21910   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21911  SELECT f1;
21912END//
21913delimiter ;//
21914
21915CALL sp33(1.00e+00);
21916
21917--disable_warnings
21918DROP PROCEDURE IF EXISTS sp34;
21919--enable_warnings
21920
21921delimiter //;
21922CREATE PROCEDURE sp34( f1 float(0) unsigned)
21923BEGIN
21924   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21925  SELECT f1;
21926END//
21927delimiter ;//
21928
21929CALL sp34(1.00e+00);
21930
21931--disable_warnings
21932DROP PROCEDURE IF EXISTS sp35;
21933--enable_warnings
21934
21935delimiter //;
21936CREATE PROCEDURE sp35( f1 float(0) unsigned zerofill)
21937BEGIN
21938   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21939  SELECT f1;
21940END//
21941delimiter ;//
21942
21943CALL sp35(1.00e+00);
21944
21945--disable_warnings
21946DROP PROCEDURE IF EXISTS sp36;
21947--enable_warnings
21948
21949delimiter //;
21950CREATE PROCEDURE sp36( f1 float(0) zerofill)
21951BEGIN
21952   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21953  SELECT f1;
21954END//
21955delimiter ;//
21956
21957CALL sp36(1.00e+00);
21958
21959--disable_warnings
21960DROP PROCEDURE IF EXISTS sp37;
21961--enable_warnings
21962
21963delimiter //;
21964CREATE PROCEDURE sp37( f1 float(23))
21965BEGIN
21966   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21967  SELECT f1;
21968END//
21969delimiter ;//
21970
21971CALL sp37(1.00e+00);
21972
21973--disable_warnings
21974DROP PROCEDURE IF EXISTS sp38;
21975--enable_warnings
21976
21977delimiter //;
21978CREATE PROCEDURE sp38( f1 float(23) unsigned)
21979BEGIN
21980   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21981  SELECT f1;
21982END//
21983delimiter ;//
21984
21985CALL sp38(1.00e+00);
21986
21987--disable_warnings
21988DROP PROCEDURE IF EXISTS sp39;
21989--enable_warnings
21990
21991delimiter //;
21992CREATE PROCEDURE sp39( f1 float(23) unsigned zerofill)
21993BEGIN
21994   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21995  SELECT f1;
21996END//
21997delimiter ;//
21998
21999CALL sp39(1.00e+00);
22000
22001--disable_warnings
22002DROP PROCEDURE IF EXISTS sp40;
22003--enable_warnings
22004
22005delimiter //;
22006CREATE PROCEDURE sp40( f1 float(23) zerofill)
22007BEGIN
22008   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22009  SELECT f1;
22010END//
22011delimiter ;//
22012
22013CALL sp40(1.00e+00);
22014
22015--disable_warnings
22016DROP PROCEDURE IF EXISTS sp41;
22017--enable_warnings
22018
22019delimiter //;
22020CREATE PROCEDURE sp41( f1 float(24))
22021BEGIN
22022   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22023  SELECT f1;
22024END//
22025delimiter ;//
22026
22027CALL sp41(1.00e+00);
22028
22029--disable_warnings
22030DROP PROCEDURE IF EXISTS sp42;
22031--enable_warnings
22032
22033delimiter //;
22034CREATE PROCEDURE sp42( f1 float(24) unsigned)
22035BEGIN
22036   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22037  SELECT f1;
22038END//
22039delimiter ;//
22040
22041CALL sp42(1.00e+00);
22042
22043--disable_warnings
22044DROP PROCEDURE IF EXISTS sp43;
22045--enable_warnings
22046
22047delimiter //;
22048CREATE PROCEDURE sp43( f1 float(24) unsigned zerofill)
22049BEGIN
22050   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22051  SELECT f1;
22052END//
22053delimiter ;//
22054
22055CALL sp43(1.00e+00);
22056
22057--disable_warnings
22058DROP PROCEDURE IF EXISTS sp44;
22059--enable_warnings
22060
22061delimiter //;
22062CREATE PROCEDURE sp44( f1 float(24) zerofill)
22063BEGIN
22064   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22065  SELECT f1;
22066END//
22067delimiter ;//
22068
22069CALL sp44(1.00e+00);
22070
22071--disable_warnings
22072DROP PROCEDURE IF EXISTS sp45;
22073--enable_warnings
22074
22075delimiter //;
22076CREATE PROCEDURE sp45( f1 float(53))
22077BEGIN
22078   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22079  SELECT f1;
22080END//
22081delimiter ;//
22082
22083CALL sp45(1.00e+00);
22084
22085--disable_warnings
22086DROP PROCEDURE IF EXISTS sp46;
22087--enable_warnings
22088
22089delimiter //;
22090CREATE PROCEDURE sp46( f1 float(53) unsigned)
22091BEGIN
22092   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22093  SELECT f1;
22094END//
22095delimiter ;//
22096
22097CALL sp46(1.00e+00);
22098
22099--disable_warnings
22100DROP PROCEDURE IF EXISTS sp47;
22101--enable_warnings
22102
22103delimiter //;
22104CREATE PROCEDURE sp47( f1 float(53) unsigned zerofill)
22105BEGIN
22106   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22107  SELECT f1;
22108END//
22109delimiter ;//
22110
22111CALL sp47(1.00e+00);
22112
22113--disable_warnings
22114DROP PROCEDURE IF EXISTS sp48;
22115--enable_warnings
22116
22117delimiter //;
22118CREATE PROCEDURE sp48( f1 float(53) zerofill)
22119BEGIN
22120   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22121  SELECT f1;
22122END//
22123delimiter ;//
22124
22125CALL sp48(1.00e+00);
22126
22127--disable_warnings
22128DROP PROCEDURE IF EXISTS sp49;
22129--enable_warnings
22130
22131delimiter //;
22132CREATE PROCEDURE sp49( f1 int)
22133BEGIN
22134   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22135  SELECT f1;
22136END//
22137delimiter ;//
22138
22139CALL sp49(-2.15e+09);
22140
22141--disable_warnings
22142DROP PROCEDURE IF EXISTS sp50;
22143--enable_warnings
22144
22145delimiter //;
22146CREATE PROCEDURE sp50( f1 int unsigned)
22147BEGIN
22148   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22149  SELECT f1;
22150END//
22151delimiter ;//
22152
22153CALL sp50(4.29e+09);
22154
22155--disable_warnings
22156DROP PROCEDURE IF EXISTS sp51;
22157--enable_warnings
22158
22159delimiter //;
22160CREATE PROCEDURE sp51( f1 int unsigned zerofill)
22161BEGIN
22162   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22163  SELECT f1;
22164END//
22165delimiter ;//
22166
22167CALL sp51(4.29e+09);
22168
22169--disable_warnings
22170DROP PROCEDURE IF EXISTS sp52;
22171--enable_warnings
22172
22173delimiter //;
22174CREATE PROCEDURE sp52( f1 int zerofill)
22175BEGIN
22176   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22177  SELECT f1;
22178END//
22179delimiter ;//
22180
22181CALL sp52(2.15e+08);
22182
22183--disable_warnings
22184DROP PROCEDURE IF EXISTS sp53;
22185--enable_warnings
22186
22187delimiter //;
22188CREATE PROCEDURE sp53( f1 mediumint)
22189BEGIN
22190   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22191  SELECT f1;
22192END//
22193delimiter ;//
22194
22195CALL sp53(-8388600);
22196
22197--disable_warnings
22198DROP PROCEDURE IF EXISTS sp54;
22199--enable_warnings
22200
22201delimiter //;
22202CREATE PROCEDURE sp54( f1 mediumint unsigned)
22203BEGIN
22204   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22205  SELECT f1;
22206END//
22207delimiter ;//
22208
22209CALL sp54(16777201);
22210
22211--disable_warnings
22212DROP PROCEDURE IF EXISTS sp55;
22213--enable_warnings
22214
22215delimiter //;
22216CREATE PROCEDURE sp55( f1 mediumint unsigned zerofill)
22217BEGIN
22218   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22219  SELECT f1;
22220END//
22221delimiter ;//
22222
22223CALL sp55(16777210);
22224
22225--disable_warnings
22226DROP PROCEDURE IF EXISTS sp56;
22227--enable_warnings
22228
22229delimiter //;
22230CREATE PROCEDURE sp56( f1 mediumint zerofill)
22231BEGIN
22232   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22233  SELECT f1;
22234END//
22235delimiter ;//
22236
22237CALL sp56(-8388601);
22238
22239--disable_warnings
22240DROP PROCEDURE IF EXISTS sp57;
22241--enable_warnings
22242
22243delimiter //;
22244CREATE PROCEDURE sp57( f1 numeric)
22245BEGIN
22246   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22247  SELECT f1;
22248END//
22249delimiter ;//
22250
22251CALL sp57(-999999999);
22252
22253--disable_warnings
22254DROP PROCEDURE IF EXISTS sp58;
22255--enable_warnings
22256
22257delimiter //;
22258CREATE PROCEDURE sp58( f1 numeric (0))
22259BEGIN
22260   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22261  SELECT f1;
22262END//
22263delimiter ;//
22264
22265CALL sp58(-999999999);
22266
22267--disable_warnings
22268DROP PROCEDURE IF EXISTS sp59;
22269--enable_warnings
22270
22271delimiter //;
22272CREATE PROCEDURE sp59( f1 numeric (0) unsigned)
22273BEGIN
22274   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22275  SELECT f1;
22276END//
22277delimiter ;//
22278
22279CALL sp59(9999999999);
22280
22281--disable_warnings
22282DROP PROCEDURE IF EXISTS sp60;
22283--enable_warnings
22284
22285delimiter //;
22286CREATE PROCEDURE sp60( f1 numeric (0) unsigned zerofill)
22287BEGIN
22288   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22289  SELECT f1;
22290END//
22291delimiter ;//
22292
22293CALL sp60(99999999);
22294
22295--disable_warnings
22296DROP PROCEDURE IF EXISTS sp61;
22297--enable_warnings
22298
22299delimiter //;
22300CREATE PROCEDURE sp61( f1 numeric (0) zerofill)
22301BEGIN
22302   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22303  SELECT f1;
22304END//
22305delimiter ;//
22306
22307CALL sp61(-99999999);
22308
22309--disable_warnings
22310DROP PROCEDURE IF EXISTS sp62;
22311--enable_warnings
22312
22313delimiter //;
22314CREATE PROCEDURE sp62( f1 numeric (0, 0))
22315BEGIN
22316   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22317  SELECT f1;
22318END//
22319delimiter ;//
22320
22321CALL sp62(-999999999);
22322
22323--disable_warnings
22324DROP PROCEDURE IF EXISTS sp63;
22325--enable_warnings
22326
22327delimiter //;
22328CREATE PROCEDURE sp63( f1 numeric (0, 0) unsigned)
22329BEGIN
22330   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22331  SELECT f1;
22332END//
22333delimiter ;//
22334
22335CALL sp63(9999999999);
22336
22337
22338--disable_warnings
22339DROP PROCEDURE IF EXISTS sp64;
22340--enable_warnings
22341
22342delimiter //;
22343CREATE PROCEDURE sp64( f1 numeric (0, 0) unsigned zerofill)
22344BEGIN
22345   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22346  SELECT f1;
22347END//
22348delimiter ;//
22349
22350CALL sp64(99999999);
22351
22352
22353--disable_warnings
22354DROP PROCEDURE IF EXISTS sp65;
22355--enable_warnings
22356
22357delimiter //;
22358CREATE PROCEDURE sp65( f1 numeric (0, 0) zerofill)
22359BEGIN
22360   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22361  SELECT f1;
22362END//
22363delimiter ;//
22364
22365CALL sp65(-99999999);
22366
22367
22368--disable_warnings
22369DROP PROCEDURE IF EXISTS sp66_n;
22370--enable_warnings
22371
22372delimiter //;
22373CREATE PROCEDURE sp66_n( f1 numeric (63, 30))
22374BEGIN
22375   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22376  SELECT f1;
22377END//
22378delimiter ;//
22379
22380CALL sp66_n(-1e+36);
22381eval CALL sp66_n( $minus_36 );
22382
22383--disable_warnings
22384DROP PROCEDURE IF EXISTS sp67_nu;
22385--enable_warnings
22386
22387delimiter //;
22388CREATE PROCEDURE sp67_nu( f1 numeric (63, 30) unsigned)
22389BEGIN
22390   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22391  SELECT f1;
22392END//
22393delimiter ;//
22394
22395CALL sp67_nu(1e+36);
22396eval CALL sp67_nu( $plus_36 );
22397
22398
22399--disable_warnings
22400DROP PROCEDURE IF EXISTS sp68_nuz;
22401--enable_warnings
22402
22403delimiter //;
22404CREATE PROCEDURE sp68_nuz( f1 numeric (63, 30) unsigned zerofill)
22405BEGIN
22406   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22407  SELECT f1;
22408END//
22409delimiter ;//
22410
22411CALL sp68_nuz(1e+36);
22412eval CALL sp68_nuz( $plus_36 );
22413
22414
22415--disable_warnings
22416DROP PROCEDURE IF EXISTS sp69_n_z;
22417--enable_warnings
22418
22419delimiter //;
22420CREATE PROCEDURE sp69_n_z( f1 numeric (63, 30) zerofill)
22421BEGIN
22422   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22423  SELECT f1;
22424END//
22425delimiter ;//
22426
22427CALL sp69_n_z(-1e+36);
22428eval CALL sp69_n_z( $minus_36 );
22429
22430
22431--disable_warnings
22432DROP PROCEDURE IF EXISTS sp70_n;
22433--enable_warnings
22434
22435delimiter //;
22436CREATE PROCEDURE sp70_n( f1 numeric (64))
22437BEGIN
22438   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22439  SELECT f1;
22440END//
22441delimiter ;//
22442
22443--disable_warnings
22444CALL sp70_n(-1e+40);
22445--enable_warnings
22446eval CALL sp70_n( $minus_40 );
22447
22448
22449--disable_warnings
22450DROP PROCEDURE IF EXISTS sp71_nu;
22451--enable_warnings
22452
22453delimiter //;
22454CREATE PROCEDURE sp71_nu( f1 numeric (64) unsigned)
22455BEGIN
22456   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22457  SELECT f1;
22458END//
22459delimiter ;//
22460
22461--disable_warnings
22462CALL sp71_nu(1.00e+40);
22463--enable_warnings
22464eval CALL sp71_nu( $plus_40 );
22465
22466
22467--disable_warnings
22468DROP PROCEDURE IF EXISTS sp72_nuz;
22469--enable_warnings
22470
22471delimiter //;
22472CREATE PROCEDURE sp72_nuz( f1 numeric (64) unsigned zerofill)
22473BEGIN
22474   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22475  SELECT f1;
22476END//
22477delimiter ;//
22478
22479--disable_warnings
22480CALL sp72_nuz(1.00e+40);
22481--enable_warnings
22482eval CALL sp72_nuz( $plus_40 );
22483
22484
22485--disable_warnings
22486DROP PROCEDURE IF EXISTS sp73_n_z;
22487--enable_warnings
22488
22489delimiter //;
22490CREATE PROCEDURE sp73_n_z( f1 numeric (64) zerofill)
22491BEGIN
22492   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22493  SELECT f1;
22494END//
22495delimiter ;//
22496
22497--disable_warnings
22498CALL sp73_n_z(1.00e+40);
22499--enable_warnings
22500eval CALL sp73_n_z( $plus_40 );
22501
22502
22503--disable_warnings
22504DROP PROCEDURE IF EXISTS sp74;
22505--enable_warnings
22506
22507delimiter //;
22508CREATE PROCEDURE sp74( f1 numeric unsigned)
22509BEGIN
22510   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22511  SELECT f1;
22512END//
22513delimiter ;//
22514
22515CALL sp74(999999999);
22516
22517--disable_warnings
22518DROP PROCEDURE IF EXISTS sp75;
22519--enable_warnings
22520
22521delimiter //;
22522CREATE PROCEDURE sp75( f1 numeric unsigned zerofill)
22523BEGIN
22524   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22525  SELECT f1;
22526END//
22527delimiter ;//
22528
22529CALL sp75(999999999);
22530
22531--disable_warnings
22532DROP PROCEDURE IF EXISTS sp76;
22533--enable_warnings
22534
22535delimiter //;
22536CREATE PROCEDURE sp76( f1 numeric zerofill)
22537BEGIN
22538   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22539  SELECT f1;
22540END//
22541delimiter ;//
22542
22543CALL sp76(-999999999);
22544
22545--disable_warnings
22546DROP PROCEDURE IF EXISTS sp77;
22547--enable_warnings
22548
22549delimiter //;
22550CREATE PROCEDURE sp77( f1 real)
22551BEGIN
22552   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22553  SELECT f1;
22554END//
22555delimiter ;//
22556
22557CALL sp77(1.1);
22558
22559--disable_warnings
22560DROP PROCEDURE IF EXISTS sp78;
22561--enable_warnings
22562
22563delimiter //;
22564CREATE PROCEDURE sp78( f1 real unsigned)
22565BEGIN
22566   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22567  SELECT f1;
22568END//
22569delimiter ;//
22570
22571CALL sp78(1.1);
22572
22573--disable_warnings
22574DROP PROCEDURE IF EXISTS sp79;
22575--enable_warnings
22576
22577delimiter //;
22578CREATE PROCEDURE sp79( f1 real unsigned zerofill)
22579BEGIN
22580   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22581  SELECT f1;
22582END//
22583delimiter ;//
22584
22585CALL sp79(1.1);
22586
22587--disable_warnings
22588DROP PROCEDURE IF EXISTS sp80;
22589--enable_warnings
22590
22591delimiter //;
22592CREATE PROCEDURE sp80( f1 real zerofill)
22593BEGIN
22594   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22595  SELECT f1;
22596END//
22597delimiter ;//
22598
22599CALL sp80(1.1);
22600
22601--disable_warnings
22602DROP PROCEDURE IF EXISTS sp81;
22603--enable_warnings
22604
22605delimiter //;
22606CREATE PROCEDURE sp81( f1 smallint)
22607BEGIN
22608   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22609  SELECT f1;
22610END//
22611delimiter ;//
22612
22613CALL sp81(-32701);
22614
22615--disable_warnings
22616DROP PROCEDURE IF EXISTS sp82;
22617--enable_warnings
22618
22619delimiter //;
22620CREATE PROCEDURE sp82( f1 smallint unsigned)
22621BEGIN
22622   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22623  SELECT f1;
22624END//
22625delimiter ;//
22626
22627CALL sp82(65531);
22628
22629--disable_warnings
22630DROP PROCEDURE IF EXISTS sp83;
22631--enable_warnings
22632
22633delimiter //;
22634CREATE PROCEDURE sp83( f1 smallint unsigned zerofill)
22635BEGIN
22636   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22637  SELECT f1;
22638END//
22639delimiter ;//
22640
22641CALL sp83(65531);
22642
22643--disable_warnings
22644DROP PROCEDURE IF EXISTS sp84;
22645--enable_warnings
22646
22647delimiter //;
22648CREATE PROCEDURE sp84( f1 smallint zerofill)
22649BEGIN
22650   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22651  SELECT f1;
22652END//
22653delimiter ;//
22654
22655CALL sp84(-32601);
22656
22657--disable_warnings
22658DROP PROCEDURE IF EXISTS sp85;
22659--enable_warnings
22660
22661delimiter //;
22662CREATE PROCEDURE sp85( f1 tinyint)
22663BEGIN
22664   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22665  SELECT f1;
22666END//
22667delimiter ;//
22668
22669CALL sp85(-115);
22670
22671--disable_warnings
22672DROP PROCEDURE IF EXISTS sp86;
22673--enable_warnings
22674
22675delimiter //;
22676CREATE PROCEDURE sp86( f1 tinyint unsigned)
22677BEGIN
22678   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22679  SELECT f1;
22680END//
22681delimiter ;//
22682
22683CALL sp86(251);
22684
22685--disable_warnings
22686DROP PROCEDURE IF EXISTS sp87;
22687--enable_warnings
22688
22689delimiter //;
22690CREATE PROCEDURE sp87( f1 tinyint unsigned zerofill)
22691BEGIN
22692   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22693  SELECT f1;
22694END//
22695delimiter ;//
22696
22697CALL sp87(201);
22698
22699--disable_warnings
22700DROP PROCEDURE IF EXISTS sp88;
22701--enable_warnings
22702
22703delimiter //;
22704CREATE PROCEDURE sp88( f1 tinyint zerofill)
22705BEGIN
22706   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22707  SELECT f1;
22708END//
22709delimiter ;//
22710
22711CALL sp88(-101);
22712
22713--disable_warnings
22714DROP PROCEDURE IF EXISTS sp89;
22715--enable_warnings
22716
22717delimiter //;
22718CREATE PROCEDURE sp89( f1 enum('1enum', '2enum'))
22719BEGIN
22720 IF f1 = '1enum' THEN set f1 = '2enum'; ELSE  set f1 = '1enum'; END IF;
22721END//
22722delimiter ;//
22723
22724CALL sp89( '1enum');
22725
22726--disable_warnings
22727DROP PROCEDURE IF EXISTS sp90;
22728--enable_warnings
22729
22730delimiter //;
22731CREATE PROCEDURE sp90( f1 set('1set', '2set'))
22732BEGIN
22733 IF f1 = '1set' THEN  set f1 = '2set';  ELSE set f1 = '1set'; END IF;
22734END//
22735delimiter ;//
22736
22737CALL sp90( '1set');
22738
22739--disable_warnings
22740DROP PROCEDURE IF EXISTS sp91;
22741--enable_warnings
22742
22743delimiter //;
22744CREATE PROCEDURE sp91( f1 date)
22745BEGIN
22746  set f1 = adddate(f1, interval 31 day);
22747  SELECT f1;
22748END//
22749delimiter ;//
22750
22751CALL sp91( '1997-12-31');
22752
22753--disable_warnings
22754DROP PROCEDURE IF EXISTS sp92;
22755--enable_warnings
22756
22757delimiter //;
22758CREATE PROCEDURE sp92( f1 time)
22759BEGIN
22760  set f1 = addtime(f1, '02:00:00.999998');
22761  SELECT f1;
22762END//
22763delimiter ;//
22764
22765CALL sp92( '23:59:59.999999');
22766
22767--disable_warnings
22768DROP PROCEDURE IF EXISTS sp93;
22769--enable_warnings
22770
22771delimiter //;
22772CREATE PROCEDURE sp93( f1 datetime)
22773BEGIN
22774  set f1 = addtime(f1, '1 1:1:1.000002');
22775  SELECT f1;
22776END//
22777delimiter ;//
22778
22779CALL sp93('1997-12-31 23:59:59.999999');
22780
22781--disable_warnings
22782DROP PROCEDURE IF EXISTS sp94;
22783--enable_warnings
22784
22785delimiter //;
22786CREATE PROCEDURE sp94( f1 char)
22787BEGIN
22788  set f1 = concat('a', f1);
22789  SELECT f1;
22790END//
22791delimiter ;//
22792
22793CALL sp94( 'h');
22794
22795--disable_warnings
22796DROP PROCEDURE IF EXISTS sp95;
22797--enable_warnings
22798
22799delimiter //;
22800CREATE PROCEDURE sp95( f1 char ascii)
22801BEGIN
22802  set f1 = concat('a', f1);
22803  SELECT f1;
22804END//
22805delimiter ;//
22806
22807CALL sp95( 'h');
22808
22809
22810--disable_warnings
22811DROP PROCEDURE IF EXISTS sp96;
22812--enable_warnings
22813
22814delimiter //;
22815CREATE PROCEDURE sp96( f1 char binary)
22816BEGIN
22817  set f1 = concat('a', f1);
22818  SELECT f1;
22819END//
22820delimiter ;//
22821
22822CALL sp96( 'h');
22823
22824
22825--disable_warnings
22826DROP PROCEDURE IF EXISTS sp97;
22827--enable_warnings
22828
22829delimiter //;
22830CREATE PROCEDURE sp97( f1 longtext)
22831BEGIN
22832  set f1 = concat('hello', f1);
22833  SELECT f1;
22834END//
22835delimiter ;//
22836
22837CALL sp97( 'world');
22838
22839--disable_warnings
22840DROP PROCEDURE IF EXISTS sp98;
22841--enable_warnings
22842
22843delimiter //;
22844CREATE PROCEDURE sp98( f1 mediumtext)
22845BEGIN
22846  set f1 = concat('hello', f1);
22847  SELECT f1;
22848END//
22849delimiter ;//
22850
22851CALL sp98( 'world');
22852
22853--disable_warnings
22854DROP PROCEDURE IF EXISTS sp99;
22855--enable_warnings
22856
22857delimiter //;
22858CREATE PROCEDURE sp99( f1 text)
22859BEGIN
22860  set f1 = concat('hello', f1);
22861  SELECT f1;
22862END//
22863delimiter ;//
22864
22865CALL sp99( 'world');
22866
22867--disable_warnings
22868DROP PROCEDURE IF EXISTS sp100;
22869--enable_warnings
22870
22871delimiter //;
22872CREATE PROCEDURE sp100( f1 tinytext)
22873BEGIN
22874  set f1 = concat('hello', f1);
22875  SELECT f1;
22876END//
22877delimiter ;//
22878
22879CALL sp100( 'world');
22880
22881--disable_warnings
22882DROP PROCEDURE IF EXISTS sp101;
22883--enable_warnings
22884
22885delimiter //;
22886CREATE PROCEDURE sp101( f1 year)
22887BEGIN
22888  set f1 = f1 + 10;
22889  SELECT f1;
22890END//
22891delimiter ;//
22892
22893CALL sp101(51);
22894
22895--disable_warnings
22896DROP PROCEDURE IF EXISTS sp102;
22897--enable_warnings
22898
22899delimiter //;
22900CREATE PROCEDURE sp102( f1 year(4))
22901BEGIN
22902  set f1 = f1 + 51;
22903  SELECT f1;
22904END//
22905delimiter ;//
22906
22907CALL sp102(1982);
22908
22909--disable_warnings
22910DROP PROCEDURE IF EXISTS sp103;
22911--enable_warnings
22912
22913delimiter //;
22914CREATE PROCEDURE sp103( f1 geometrycollection)
22915BEGIN
22916  set f1 = f1;
22917  SELECT f1;
22918END//
22919delimiter ;//
22920
22921CALL sp103('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@');
22922
22923--disable_warnings
22924DROP PROCEDURE IF EXISTS sp104;
22925--enable_warnings
22926
22927delimiter //;
22928CREATE PROCEDURE sp104( f1 linestring)
22929BEGIN
22930  set f1 = f1;
22931  SELECT f1;
22932END//
22933delimiter ;//
22934
22935CALL sp104('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@');
22936
22937--disable_warnings
22938DROP PROCEDURE IF EXISTS sp105;
22939--enable_warnings
22940
22941delimiter //;
22942CREATE PROCEDURE sp105( f1 point)
22943BEGIN
22944  set f1 = f1;
22945  SELECT f1;
22946END//
22947delimiter ;//
22948
22949CALL sp105('\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@');
22950
22951--disable_warnings
22952DROP PROCEDURE IF EXISTS sp106;
22953--enable_warnings
22954
22955delimiter //;
22956CREATE PROCEDURE sp106( f1 polygon)
22957BEGIN
22958  set f1 = f1;
22959  SELECT f1;
22960END//
22961delimiter ;//
22962
22963CALL sp106('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\04@\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@');
22964
22965--disable_warnings
22966DROP PROCEDURE IF EXISTS sp107;
22967--enable_warnings
22968
22969delimiter //;
22970CREATE PROCEDURE sp107( f1 timestamp)
22971BEGIN
22972  set f1 = now() + 0 + f1;
22973  SELECT f1;
22974END//
22975delimiter ;//
22976
22977--replace_column 1 returned
22978CALL sp107(2.00e+13);
22979
22980USE db_storedproc;
22981DROP DATABASE db1;
22982
22983
22984# ==============================================================================
22985# test plan section: 4.5 - parameter checks - multiple data types in stored procedure and functions
22986# ==============================================================================
22987
22988--disable_warnings
22989DROP DATABASE IF EXISTS db1;
22990--enable_warnings
22991
22992CREATE DATABASE db1;
22993USE db1;
22994
22995--disable_warnings
22996DROP PROCEDURE IF EXISTS sp1;
22997delimiter //;
22998CREATE PROCEDURE sp1( in f1 year, inout f2 year, out f3 year, in f4 year,
22999                     inout f5 year, out f6 year, in f7 year(4), inout f8 year(4),
23000                     out f9 year(4), in f10 year(4), inout f11 year(4), out f12 year(4))
23001BEGIN
23002  set f1 = f1 + 10; set f2 = f2 + 10; set f3 = f2 + 10;
23003  set f4 = f4 + 10; set f5 = f5 + 10; set f6 = f5 + 10;
23004  set f7 = f7 + 51; set f8 = f8 + 51; set f9 = f8 + 51;
23005  set f10 = f10 + 51; set f11 = f11 + 51; set f12 = f11 + 51;
23006  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23007END//
23008delimiter ;//
23009
23010DROP PROCEDURE IF EXISTS spexecute01;
23011delimiter //;
23012CREATE PROCEDURE spexecute01()
23013BEGIN
23014  declare var1 year;
23015  declare var2 year;
23016  declare var3 year;
23017  declare var4 year;
23018  declare var5 year(4);
23019  declare var6 year(4);
23020  declare var7 year(4);
23021  declare var8 year(4);
23022  set var1 = 51;
23023  set var3 = 51;
23024  set var5 = 1982;
23025  set var7 = 1982;
23026  CALL sp1(51, var1, var2, 51, var3, var4, 1982, var5, var6, 1982, var7, var8);
23027  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23028END//
23029delimiter ;//
23030
23031CALL spexecute01();
23032DROP PROCEDURE spexecute01;
23033DROP PROCEDURE sp1;
23034
23035
23036DROP PROCEDURE IF EXISTS sp2;
23037delimiter //;
23038CREATE PROCEDURE sp2( in f1 text, inout f2 text, out f3 text, in f4 text, inout f5 text,
23039                     out f6 text, in f7 tinytext, inout f8 tinytext, out f9 tinytext,
23040                     in f10 tinytext, inout f11 tinytext, out f12 tinytext)
23041BEGIN
23042  set f1 = concat('hello', f1); set f2 = concat('hello', f2); set f3 = concat('hello', f2);
23043  set f4 = concat('hello', f4); set f5 = concat('hello', f5); set f6 = concat('hello', f5);
23044  set f7 = concat('hello', f7); set f8 = concat('hello', f8); set f9 = concat('hello', f8);
23045  set f10 = concat('hello', f10); set f11 = concat('hello', f11); set f12 = concat('hello', f11);
23046  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23047END//
23048delimiter ;//
23049
23050DROP PROCEDURE IF EXISTS spexecute02;
23051delimiter //;
23052CREATE PROCEDURE spexecute02()
23053BEGIN
23054  declare var1 text;
23055  declare var2 text;
23056  declare var3 text;
23057  declare var4 text;
23058  declare var5 tinytext;
23059  declare var6 tinytext;
23060  declare var7 tinytext;
23061  declare var8 tinytext;
23062  set var1 =  'world';
23063  set var3 =  'world';
23064  set var5 =  'world';
23065  set var7 =  'world';
23066  CALL sp2( 'world', var1, var2, 'world', var3, var4, 'world', var5, var6, 'world', var7, var8);
23067  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23068END//
23069delimiter ;//
23070
23071CALL spexecute02();
23072DROP PROCEDURE spexecute02;
23073DROP PROCEDURE sp2;
23074
23075
23076DROP PROCEDURE IF EXISTS sp3;
23077delimiter //;
23078CREATE PROCEDURE sp3( in f1 char, inout f2 char, out f3 char, in f4 char ascii,
23079                     inout f5 char ascii, out f6 char ascii, in f7 longtext,
23080                     inout f8 longtext, out f9 longtext, in f10 mediumtext,
23081                     inout f11 mediumtext, out f12 mediumtext)
23082BEGIN
23083  set f1 = concat('a', f1); set f2 = concat('a', f2); set f3 = concat('a', f1);
23084  set f4 = concat('a', f4); set f5 = concat('a', f5); set f6 = concat('a', f4);
23085  set f7 = concat('hello', f7); set f8 = concat('hello', f8); set f9 = concat('hello', f9);
23086  set f10 = concat('hello', f10); set f11 = concat('hello', f11); set f12 = concat('hello', f11);
23087  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23088END//
23089delimiter ;//
23090
23091DROP PROCEDURE IF EXISTS spexecute03;
23092delimiter //;
23093CREATE PROCEDURE spexecute03()
23094BEGIN
23095  declare var1 char;
23096  declare var2 char;
23097  declare var3 char ascii;
23098  declare var4 char ascii;
23099  declare var5 longtext;
23100  declare var6 longtext;
23101  declare var7 mediumtext;
23102  declare var8 mediumtext;
23103  set var1 =  'h';
23104  set var3 =  'h';
23105  set var5 =  'world';
23106  set var7 =  'world';
23107  CALL sp3( 'h', var1, var2, 'h', var3, var4, 'world', var5, var6, 'world', var7, var8);
23108  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23109END//
23110delimiter ;//
23111
23112CALL spexecute03();
23113
23114DROP PROCEDURE spexecute03;
23115DROP PROCEDURE sp3;
23116
23117
23118DROP PROCEDURE IF EXISTS sp4;
23119delimiter //;
23120CREATE PROCEDURE sp4( in f1 bigint, inout f2 bigint, out f3 bigint,
23121                     in f4 bigint, inout f5 bigint, out f6 bigint,
23122                     in f7 bigint, inout f8 bigint, out f9 bigint,
23123                     in f10 bigint, inout f11 bigint, out f12 bigint)
23124BEGIN
23125   set f3 = f2;
23126   set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
23127   set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10);
23128   set f6 = f5;
23129   set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10);
23130   set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23131   set f9 = f8;
23132   set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10);
23133   set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23134   set f12 = f11;
23135   set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10);
23136   set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23137  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23138END//
23139delimiter ;//
23140
23141DROP PROCEDURE IF EXISTS spexecute04;
23142delimiter //;
23143CREATE PROCEDURE spexecute04()
23144BEGIN
23145  declare var1 bigint;
23146  declare var2 bigint;
23147  declare var3 bigint;
23148  declare var4 bigint;
23149  declare var5 bigint;
23150  declare var6 bigint;
23151  declare var7 bigint;
23152  declare var8 bigint;
23153  set var1 = -9.22e+18;
23154  set var3 = -9.22e+18;
23155  set var5 = -9.22e+18;
23156  set var7 = -9.22e+18;
23157  CALL sp4(-9.22e+18, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23158  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23159END//
23160delimiter ;//
23161
23162CALL spexecute04();
23163DROP PROCEDURE spexecute04;
23164DROP PROCEDURE sp4;
23165
23166# sp5 removed
23167
23168DROP PROCEDURE IF EXISTS sp6;
23169delimiter //;
23170CREATE PROCEDURE sp6( in f1 timestamp, inout f2 timestamp, out f3 timestamp, in f4 timestamp, inout f5 timestamp, out f6 timestamp, in f7 timestamp, inout f8 timestamp, out f9 timestamp, in f10 timestamp, inout f11 timestamp, out f12 timestamp)
23171BEGIN
23172  set f1 = now() + 0 + f1; set f2 = now() + 0 + f2; set f3 = now() + 0 + f1;
23173  set f4 = now() + 0 + f4; set f5 = now() + 0 + f5; set f6 = now() + 0 + f5;
23174  set f7 = now() + 0 + f7; set f8 = now() + 0 + f8; set f9 = now() + 0 + f8;
23175  set f10 = now() + 0 + f10; set f11 = now() + 0 + f11; set f12 = now() + 0 + f11;
23176  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23177END//
23178delimiter ;//
23179
23180DROP PROCEDURE IF EXISTS spexecute06;
23181delimiter //;
23182CREATE PROCEDURE spexecute06()
23183BEGIN
23184  declare var1 timestamp;
23185  declare var2 timestamp;
23186  declare var3 timestamp;
23187  declare var4 timestamp;
23188  declare var5 timestamp;
23189  declare var6 timestamp;
23190  declare var7 timestamp;
23191  declare var8 timestamp;
23192  set var1 = 2.00e+13;
23193  set var3 = 2.00e+13;
23194  set var5 = 2.00e+13;
23195  set var7 = 2.00e+13;
23196  CALL sp6(2.00e+13, var1, var2, 2.00e+13, var3, var4, 2.00e+13, var5, var6, 2.00e+13, var7, var8);
23197END//
23198delimiter ;//
23199
23200--replace_column 1 returned 2 returned 3 returned 4 returned 5 returned 6 returned 7 returned 8 returned 9 returned 10 returned 11 returned 12 returned
23201CALL spexecute06();
23202DROP PROCEDURE spexecute06;
23203DROP PROCEDURE sp6;
23204
23205
23206DROP PROCEDURE IF EXISTS sp07;
23207delimiter //;
23208CREATE PROCEDURE sp07( IN  f1 BIGINT UNSIGNED,
23209                     INOUT f2 BIGINT UNSIGNED,
23210                     OUT   f3 BIGINT UNSIGNED,
23211                     IN    f4 BIGINT,
23212                     INOUT f5 BIGINT,
23213                     OUT   f6 BIGINT,
23214                     IN    f7 BIGINT,
23215                     INOUT f8 BIGINT,
23216                     OUT   f9 BIGINT,
23217                     IN    f10 BIGINT,
23218                     INOUT f11 BIGINT,
23219                     OUT   f12 BIGINT)
23220BEGIN
23221   SELECT f1, f2, f3;
23222   SELECT f4, f5, f6;
23223   SELECT f7, f8, f9;
23224   SELECT f10, f11, f12;
23225   set f3 = f2;
23226   set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
23227   set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10);
23228   set f3 = (f3 * 2); set f3 = (f3 - 10); set f3 = (f3 + 10);
23229   set f6 = f5;
23230   set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10);
23231   set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23232   set f9 = f8;
23233   set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10);
23234   set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23235   set f12 = f11;
23236   set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10);
23237   set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23238   SELECT f1, f2, f3;
23239   SELECT f4, f5, f6;
23240   SELECT f7, f8, f9;
23241   SELECT f10, f11, f12;
23242END//
23243delimiter ;//
23244
23245DROP PROCEDURE IF EXISTS spexecute07;
23246delimiter //;
23247CREATE PROCEDURE spexecute07()
23248BEGIN
23249  declare var1 bigint unsigned;
23250  declare var2 bigint unsigned;
23251  declare var3 bigint;
23252  declare var4 bigint;
23253  declare var5 bigint;
23254  declare var6 bigint;
23255  declare var7 bigint;
23256  declare var8 bigint;
23257  set var1 =  1.84e+19;
23258  set var3 = -9.22e+18;
23259  set var5 = -9.22e+18;
23260  set var7 = -9.22e+18;
23261  SELECT var1, var2;
23262  SELECT var3, var4;
23263  SELECT var5, var6;
23264  SELECT var7, var8;
23265  CALL sp07( var1, var1, var2, var3, var3, var4,
23266             var5, var5, var6, var7, var7, var8 );
23267  SELECT var1, var2;
23268  SELECT var3, var4;
23269  SELECT var5, var6;
23270  SELECT var7, var8;
23271END//
23272delimiter ;//
23273
23274CALL spexecute07();
23275DROP PROCEDURE spexecute07;
23276DROP PROCEDURE sp07;
23277
23278
23279DROP PROCEDURE IF EXISTS sp8;
23280delimiter //;
23281CREATE PROCEDURE sp8( in   f1 bigint unsigned zerofill,
23282                     inout f2 bigint unsigned zerofill,
23283                     out   f3 bigint unsigned zerofill,
23284                     in    f4 bigint,
23285                     inout f5 bigint,
23286                     out   f6 bigint,
23287                     in    f7 bigint,
23288                     inout f8 bigint,
23289                     out   f9 bigint,
23290                     in    f10 bigint,
23291                     inout f11 bigint,
23292                     out   f12 bigint)
23293BEGIN
23294   set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
23295   set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10);
23296   set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23297   set f6 = f5;
23298   set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10);
23299   set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23300   set f9 = f8;
23301   set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10);
23302   set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23303   set f12 = f11;
23304   set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10);
23305   set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23306   SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23307END//
23308delimiter ;//
23309
23310DROP PROCEDURE IF EXISTS spexecute08;
23311delimiter //;
23312CREATE PROCEDURE spexecute08()
23313BEGIN
23314   declare var1 bigint unsigned zerofill;
23315   declare var2 bigint unsigned zerofill;
23316   declare var3 bigint;
23317   declare var4 bigint;
23318   declare var5 bigint;
23319   declare var6 bigint;
23320   declare var7 bigint;
23321   declare var8 bigint;
23322   set var1 = 1.84e+17;
23323   set var3 = -9.22e+18;
23324   set var5 = -9.22e+18;
23325   set var7 = -9.22e+18;
23326   CALL sp8(1.84e+17, var1, var2, -9.22e+18, var3, var4,
23327                      -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23328   SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23329END//
23330delimiter ;//
23331
23332CALL spexecute08();
23333DROP PROCEDURE spexecute08;
23334DROP PROCEDURE sp8;
23335
23336
23337DROP PROCEDURE IF EXISTS sp9;
23338delimiter //;
23339CREATE PROCEDURE sp9( in   f1 bigint zerofill,
23340                     inout f2 bigint zerofill,
23341                     out   f3 bigint zerofill,
23342                     in    f4 bigint,
23343                     inout f5 bigint,
23344                     out   f6 bigint,
23345                     in    f7 bigint,
23346                     inout f8 bigint,
23347                     out   f9 bigint,
23348                     in    f10 bigint,
23349                     inout f11 bigint,
23350                     out   f12 bigint)
23351BEGIN
23352   set f3 = f2;
23353   set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
23354   set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10);
23355   set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23356   set f6 = f5;
23357   set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10);
23358   set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23359   set f9 = f8;
23360   set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10);
23361   set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23362   set f12 = f11;
23363   set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10);
23364   set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23365   SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23366END//
23367delimiter ;//
23368
23369DROP PROCEDURE IF EXISTS spexecute09;
23370delimiter //;
23371CREATE PROCEDURE spexecute09()
23372BEGIN
23373   declare var1 bigint zerofill;
23374   declare var2 bigint zerofill;
23375   declare var3 bigint;
23376   declare var4 bigint;
23377   declare var5 bigint;
23378   declare var6 bigint;
23379   declare var7 bigint;
23380   declare var8 bigint;
23381   set var1 = -9.22e+15;
23382   set var3 = -9.22e+18;
23383   set var5 = -9.22e+18;
23384   set var7 = -9.22e+18;
23385   CALL sp9(-9.22e+15, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23386   SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23387END//
23388delimiter ;//
23389
23390CALL spexecute09();
23391DROP PROCEDURE spexecute09;
23392DROP PROCEDURE sp9;
23393
23394
23395DROP PROCEDURE IF EXISTS sp10;
23396delimiter //;
23397CREATE PROCEDURE sp10( in f1 decimal,
23398                      inout f2 decimal,
23399                      out f3 decimal,
23400                      in f4 bigint,
23401                      inout f5 bigint,
23402                      out f6 bigint,
23403                      in f7 bigint,
23404                      inout f8 bigint,
23405                      out f9 bigint,
23406                      in f10 bigint,
23407                      inout f11 bigint,
23408                      out f12 bigint)
23409BEGIN
23410   set f3 = f2;
23411   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23412   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23413   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23414   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23415  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23416END//
23417delimiter ;//
23418
23419DROP PROCEDURE IF EXISTS spexecute10;
23420delimiter //;
23421CREATE PROCEDURE spexecute10()
23422BEGIN
23423   declare var1 decimal;
23424   declare var2 decimal;
23425   declare var3 bigint;
23426   declare var4 bigint;
23427   declare var5 bigint;
23428   declare var6 bigint;
23429   declare var7 bigint;
23430   declare var8 bigint;
23431   set var1 = -1.00e+09;
23432   set var3 = -9.22e+18;
23433   set var5 = -9.22e+18;
23434   set var7 = -9.22e+18;
23435   CALL sp10(-1.00e+09, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23436   SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23437END//
23438delimiter ;//
23439
23440CALL spexecute10();
23441DROP PROCEDURE spexecute10;
23442DROP PROCEDURE sp10;
23443
23444
23445DROP PROCEDURE IF EXISTS sp11;
23446delimiter //;
23447CREATE PROCEDURE sp11( in f1 decimal (0), inout f2 decimal (0), out f3 decimal (0), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23448BEGIN
23449   set f3 = f2;
23450   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23451   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23452   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23453   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23454   SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23455END//
23456delimiter ;//
23457
23458DROP PROCEDURE IF EXISTS spexecute11;
23459delimiter //;
23460CREATE PROCEDURE spexecute11()
23461BEGIN
23462  declare var1 decimal (0);
23463  declare var2 decimal (0);
23464  declare var3 bigint;
23465  declare var4 bigint;
23466  declare var5 bigint;
23467  declare var6 bigint;
23468  declare var7 bigint;
23469  declare var8 bigint;
23470  set var1 = --1.00e+09;
23471  set var3 = -9.22e+18;
23472  set var5 = -9.22e+18;
23473  set var7 = -9.22e+18;
23474  CALL sp11(--1.00e+09, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23475  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23476END//
23477delimiter ;//
23478
23479CALL spexecute11();
23480DROP PROCEDURE spexecute11;
23481DROP PROCEDURE sp11;
23482
23483
23484DROP PROCEDURE IF EXISTS sp12;
23485delimiter //;
23486CREATE PROCEDURE sp12( in f1 decimal (0) unsigned, inout f2 decimal (0) unsigned, out f3 decimal (0) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23487BEGIN
23488   set f3 = f2;
23489   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23490   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23491   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23492   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23493  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23494END//
23495delimiter ;//
23496
23497DROP PROCEDURE IF EXISTS spexecute12;
23498delimiter //;
23499CREATE PROCEDURE spexecute12()
23500BEGIN
23501  declare var1 decimal (0) unsigned;
23502  declare var2 decimal (0) unsigned;
23503  declare var3 bigint;
23504  declare var4 bigint;
23505  declare var5 bigint;
23506  declare var6 bigint;
23507  declare var7 bigint;
23508  declare var8 bigint;
23509  set var1 = 99999999999;
23510  set var3 = -9.22e+18;
23511  set var5 = -9.22e+18;
23512  set var7 = -9.22e+18;
23513  CALL sp12(99999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23514  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23515END//
23516delimiter ;//
23517
23518CALL spexecute12();
23519DROP PROCEDURE spexecute12;
23520DROP PROCEDURE sp12;
23521
23522
23523DROP PROCEDURE IF EXISTS sp13;
23524delimiter //;
23525CREATE PROCEDURE sp13( in f1 decimal (0, 0) zerofill, inout f2 decimal (0, 0) zerofill, out f3 decimal (0, 0) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23526BEGIN
23527   set f3 = f2;
23528   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23529   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23530   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23531   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23532  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23533END//
23534delimiter ;//
23535
23536DROP PROCEDURE IF EXISTS spexecute13;
23537delimiter //;
23538CREATE PROCEDURE spexecute13()
23539BEGIN
23540  declare var1 decimal (0, 0) zerofill;
23541  declare var2 decimal (0, 0) zerofill;
23542  declare var3 bigint;
23543  declare var4 bigint;
23544  declare var5 bigint;
23545  declare var6 bigint;
23546  declare var7 bigint;
23547  declare var8 bigint;
23548  set var1 = -1.00e+09;
23549  set var3 = -9.22e+18;
23550  set var5 = -9.22e+18;
23551  set var7 = -9.22e+18;
23552  CALL sp13(-1.00e+09, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23553  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23554END//
23555delimiter ;//
23556
23557CALL spexecute13();
23558DROP PROCEDURE spexecute13;
23559DROP PROCEDURE sp13;
23560
23561
23562DROP PROCEDURE IF EXISTS sp14;
23563delimiter //;
23564CREATE PROCEDURE sp14( in f1 decimal (63, 30), inout f2 decimal (63, 30), out f3 decimal (63, 30), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23565BEGIN
23566   set f3 = f2;
23567   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23568   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23569   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23570   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23571  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23572END//
23573delimiter ;//
23574
23575DROP PROCEDURE IF EXISTS spexecute14;
23576delimiter //;
23577CREATE PROCEDURE spexecute14()
23578BEGIN
23579  declare var1 decimal (63, 30);
23580  declare var2 decimal (63, 30);
23581  declare var3 bigint;
23582  declare var4 bigint;
23583  declare var5 bigint;
23584  declare var6 bigint;
23585  declare var7 bigint;
23586  declare var8 bigint;
23587  set var1 = -1.00e+21;
23588  set var3 = -9.22e+18;
23589  set var5 = -9.22e+18;
23590  set var7 = -9.22e+18;
23591  CALL sp14(-1.00e+21, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23592  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23593END//
23594delimiter ;//
23595
23596CALL spexecute14();
23597DROP PROCEDURE spexecute14;
23598DROP PROCEDURE sp14;
23599
23600
23601DROP PROCEDURE IF EXISTS sp15;
23602delimiter //;
23603CREATE PROCEDURE sp15( in f1 double, inout f2 double, out f3 double, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23604BEGIN
23605   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23606   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23607   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23608   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23609  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23610END//
23611delimiter ;//
23612
23613DROP PROCEDURE IF EXISTS spexecute15;
23614delimiter //;
23615CREATE PROCEDURE spexecute15()
23616BEGIN
23617  declare var1 double;
23618  declare var2 double;
23619  declare var3 bigint;
23620  declare var4 bigint;
23621  declare var5 bigint;
23622  declare var6 bigint;
23623  declare var7 bigint;
23624  declare var8 bigint;
23625  set var1 = 1.00e+00;
23626  set var3 = -9.22e+18;
23627  set var5 = -9.22e+18;
23628  set var7 = -9.22e+18;
23629  CALL sp15(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23630  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23631END//
23632delimiter ;//
23633
23634CALL spexecute15();
23635DROP PROCEDURE spexecute15;
23636DROP PROCEDURE sp15;
23637
23638
23639DROP PROCEDURE IF EXISTS sp16;
23640delimiter //;
23641CREATE PROCEDURE sp16( in f1 double zerofill, inout f2 double zerofill, out f3 double zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23642BEGIN
23643   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23644   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23645   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23646   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23647  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23648END//
23649delimiter ;//
23650
23651DROP PROCEDURE IF EXISTS spexecute16;
23652delimiter //;
23653CREATE PROCEDURE spexecute16()
23654BEGIN
23655  declare var1 double zerofill;
23656  declare var2 double zerofill;
23657  declare var3 bigint;
23658  declare var4 bigint;
23659  declare var5 bigint;
23660  declare var6 bigint;
23661  declare var7 bigint;
23662  declare var8 bigint;
23663  set var1 = 1.00e+00;
23664  set var3 = -9.22e+18;
23665  set var5 = -9.22e+18;
23666  set var7 = -9.22e+18;
23667  CALL sp16(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23668  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23669END//
23670delimiter ;//
23671
23672CALL spexecute16();
23673DROP PROCEDURE spexecute16;
23674DROP PROCEDURE sp16;
23675
23676
23677DROP PROCEDURE IF EXISTS sp17;
23678delimiter //;
23679CREATE PROCEDURE sp17( in f1 double unsigned, inout f2 double unsigned, out f3 double unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23680BEGIN
23681   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23682   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23683   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23684   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23685  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23686END//
23687delimiter ;//
23688
23689DROP PROCEDURE IF EXISTS spexecute17;
23690delimiter //;
23691CREATE PROCEDURE spexecute17()
23692BEGIN
23693  declare var1 double unsigned;
23694  declare var2 double unsigned;
23695  declare var3 bigint;
23696  declare var4 bigint;
23697  declare var5 bigint;
23698  declare var6 bigint;
23699  declare var7 bigint;
23700  declare var8 bigint;
23701  set var1 = 1.00e+00;
23702  set var3 = -9.22e+18;
23703  set var5 = -9.22e+18;
23704  set var7 = -9.22e+18;
23705  CALL sp17(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23706  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23707END//
23708delimiter ;//
23709
23710CALL spexecute17();
23711DROP PROCEDURE spexecute17;
23712DROP PROCEDURE sp17;
23713
23714
23715DROP PROCEDURE IF EXISTS sp18;
23716delimiter //;
23717CREATE PROCEDURE sp18( in f1 double unsigned zerofill, inout f2 double unsigned zerofill, out f3 double unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23718BEGIN
23719   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23720   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23721   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23722   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23723  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23724END//
23725delimiter ;//
23726
23727DROP PROCEDURE IF EXISTS spexecute18;
23728delimiter //;
23729CREATE PROCEDURE spexecute18()
23730BEGIN
23731  declare var1 double unsigned zerofill;
23732  declare var2 double unsigned zerofill;
23733  declare var3 bigint;
23734  declare var4 bigint;
23735  declare var5 bigint;
23736  declare var6 bigint;
23737  declare var7 bigint;
23738  declare var8 bigint;
23739  set var1 = 1.00e+00;
23740  set var3 = -9.22e+18;
23741  set var5 = -9.22e+18;
23742  set var7 = -9.22e+18;
23743  CALL sp18(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23744  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23745END//
23746delimiter ;//
23747
23748CALL spexecute18();
23749DROP PROCEDURE spexecute18;
23750DROP PROCEDURE sp18;
23751
23752
23753DROP PROCEDURE IF EXISTS sp19;
23754delimiter //;
23755CREATE PROCEDURE sp19( in f1 float unsigned, inout f2 float unsigned, out f3 float unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23756BEGIN
23757   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23758   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23759   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23760   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23761  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23762END//
23763delimiter ;//
23764
23765DROP PROCEDURE IF EXISTS spexecute19;
23766delimiter //;
23767CREATE PROCEDURE spexecute19()
23768BEGIN
23769  declare var1 float unsigned;
23770  declare var2 float unsigned;
23771  declare var3 bigint;
23772  declare var4 bigint;
23773  declare var5 bigint;
23774  declare var6 bigint;
23775  declare var7 bigint;
23776  declare var8 bigint;
23777  set var1 = 1.00e+00;
23778  set var3 = -9.22e+18;
23779  set var5 = -9.22e+18;
23780  set var7 = -9.22e+18;
23781  CALL sp19(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23782  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23783END//
23784delimiter ;//
23785
23786CALL spexecute19();
23787DROP PROCEDURE spexecute19;
23788DROP PROCEDURE sp19;
23789
23790
23791DROP PROCEDURE IF EXISTS sp20;
23792delimiter //;
23793CREATE PROCEDURE sp20( in f1 float unsigned zerofill, inout f2 float unsigned zerofill, out f3 float unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23794BEGIN
23795   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23796   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23797   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23798   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23799  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23800END//
23801delimiter ;//
23802
23803DROP PROCEDURE IF EXISTS spexecute20;
23804delimiter //;
23805CREATE PROCEDURE spexecute20()
23806BEGIN
23807  declare var1 float unsigned zerofill;
23808  declare var2 float unsigned zerofill;
23809  declare var3 bigint;
23810  declare var4 bigint;
23811  declare var5 bigint;
23812  declare var6 bigint;
23813  declare var7 bigint;
23814  declare var8 bigint;
23815  set var1 = 1.00e+00;
23816  set var3 = -9.22e+18;
23817  set var5 = -9.22e+18;
23818  set var7 = -9.22e+18;
23819  CALL sp20(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23820  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23821END//
23822delimiter ;//
23823
23824CALL spexecute20();
23825DROP PROCEDURE spexecute20;
23826DROP PROCEDURE sp20;
23827
23828
23829DROP PROCEDURE IF EXISTS sp21;
23830delimiter //;
23831CREATE PROCEDURE sp21( in f1 float zerofill, inout f2 float zerofill, out f3 float zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23832BEGIN
23833   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23834   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23835   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23836   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23837  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23838END//
23839delimiter ;//
23840
23841DROP PROCEDURE IF EXISTS spexecute21;
23842delimiter //;
23843CREATE PROCEDURE spexecute21()
23844BEGIN
23845  declare var1 float zerofill;
23846  declare var2 float zerofill;
23847  declare var3 bigint;
23848  declare var4 bigint;
23849  declare var5 bigint;
23850  declare var6 bigint;
23851  declare var7 bigint;
23852  declare var8 bigint;
23853  set var1 = 1.00e+00;
23854  set var3 = -9.22e+18;
23855  set var5 = -9.22e+18;
23856  set var7 = -9.22e+18;
23857  CALL sp21(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23858  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23859END//
23860delimiter ;//
23861
23862CALL spexecute21();
23863DROP PROCEDURE spexecute21;
23864DROP PROCEDURE sp21;
23865
23866
23867DROP PROCEDURE IF EXISTS sp22;
23868delimiter //;
23869CREATE PROCEDURE sp22( in f1 float(0), inout f2 float(0), out f3 float(0), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23870BEGIN
23871   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23872   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23873   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23874   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23875  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23876END//
23877delimiter ;//
23878
23879DROP PROCEDURE IF EXISTS spexecute22;
23880delimiter //;
23881CREATE PROCEDURE spexecute22()
23882BEGIN
23883  declare var1 float(0);
23884  declare var2 float(0);
23885  declare var3 bigint;
23886  declare var4 bigint;
23887  declare var5 bigint;
23888  declare var6 bigint;
23889  declare var7 bigint;
23890  declare var8 bigint;
23891  set var1 = 1.00e+00;
23892  set var3 = -9.22e+18;
23893  set var5 = -9.22e+18;
23894  set var7 = -9.22e+18;
23895  CALL sp22(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23896  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23897END//
23898delimiter ;//
23899
23900CALL spexecute22();
23901DROP PROCEDURE spexecute22;
23902DROP PROCEDURE sp22;
23903
23904
23905DROP PROCEDURE IF EXISTS sp23;
23906delimiter //;
23907CREATE PROCEDURE sp23( in f1 numeric, inout f2 numeric, out f3 numeric, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23908BEGIN
23909   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23910   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23911   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23912   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23913  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23914END//
23915delimiter ;//
23916
23917DROP PROCEDURE IF EXISTS spexecute23;
23918delimiter //;
23919CREATE PROCEDURE spexecute23()
23920BEGIN
23921  declare var1 numeric;
23922  declare var2 numeric;
23923  declare var3 bigint;
23924  declare var4 bigint;
23925  declare var5 bigint;
23926  declare var6 bigint;
23927  declare var7 bigint;
23928  declare var8 bigint;
23929  set var1 = -999999999;
23930  set var3 = -9.22e+18;
23931  set var5 = -9.22e+18;
23932  set var7 = -9.22e+18;
23933  CALL sp23(-999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23934  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23935END//
23936delimiter ;//
23937
23938CALL spexecute23();
23939DROP PROCEDURE spexecute23;
23940DROP PROCEDURE sp23;
23941
23942
23943DROP PROCEDURE IF EXISTS sp24;
23944delimiter //;
23945CREATE PROCEDURE sp24( in f1 real, inout f2 real, out f3 real, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23946BEGIN
23947   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23948   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23949   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23950   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23951  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23952END//
23953delimiter ;//
23954
23955DROP PROCEDURE IF EXISTS spexecute24;
23956delimiter //;
23957CREATE PROCEDURE spexecute24()
23958BEGIN
23959  declare var1 real;
23960  declare var2 real;
23961  declare var3 bigint;
23962  declare var4 bigint;
23963  declare var5 bigint;
23964  declare var6 bigint;
23965  declare var7 bigint;
23966  declare var8 bigint;
23967  set var1 = 1.1;
23968  set var3 = -9.22e+18;
23969  set var5 = -9.22e+18;
23970  set var7 = -9.22e+18;
23971  CALL sp24(1.1, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
23972  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
23973END//
23974delimiter ;//
23975
23976CALL spexecute24();
23977DROP PROCEDURE spexecute24;
23978DROP PROCEDURE sp24;
23979
23980
23981DROP PROCEDURE IF EXISTS sp25;
23982delimiter //;
23983CREATE PROCEDURE sp25( in f1 smallint, inout f2 smallint, out f3 smallint, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
23984BEGIN
23985   set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
23986   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
23987   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
23988   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
23989  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
23990END//
23991delimiter ;//
23992
23993DROP PROCEDURE IF EXISTS spexecute25;
23994delimiter //;
23995CREATE PROCEDURE spexecute25()
23996BEGIN
23997  declare var1 smallint;
23998  declare var2 smallint;
23999  declare var3 bigint;
24000  declare var4 bigint;
24001  declare var5 bigint;
24002  declare var6 bigint;
24003  declare var7 bigint;
24004  declare var8 bigint;
24005  set var1 = -32701;
24006  set var3 = -9.22e+18;
24007  set var5 = -9.22e+18;
24008  set var7 = -9.22e+18;
24009  CALL sp25(-32701, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24010  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24011END//
24012delimiter ;//
24013
24014CALL spexecute25();
24015DROP PROCEDURE spexecute25;
24016DROP PROCEDURE sp25;
24017
24018
24019DROP PROCEDURE IF EXISTS sp26;
24020delimiter //;
24021CREATE PROCEDURE sp26( in f1 date, inout f2 date, out f3 date, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24022BEGIN
24023  set f1 = adddate(f1, interval 31 day); set f2 = adddate(f2, interval 31 day); set f3 = adddate(f2, interval 31 day);
24024   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24025   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24026   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24027  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24028END//
24029delimiter ;//
24030
24031DROP PROCEDURE IF EXISTS spexecute26;
24032delimiter //;
24033CREATE PROCEDURE spexecute26()
24034BEGIN
24035  declare var1 date;
24036  declare var2 date;
24037  declare var3 bigint;
24038  declare var4 bigint;
24039  declare var5 bigint;
24040  declare var6 bigint;
24041  declare var7 bigint;
24042  declare var8 bigint;
24043  set var1 =  '1997-12-31';
24044  set var3 = -9.22e+18;
24045  set var5 = -9.22e+18;
24046  set var7 = -9.22e+18;
24047  CALL sp26( '1997-12-31', var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24048  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24049END//
24050delimiter ;//
24051
24052CALL spexecute26();
24053DROP PROCEDURE spexecute26;
24054DROP PROCEDURE sp26;
24055
24056
24057DROP PROCEDURE IF EXISTS sp27;
24058delimiter //;
24059CREATE PROCEDURE sp27( in f1 time, inout f2 time, out f3 time, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24060BEGIN
24061  set f1 = addtime(f1, '02:00:00.999998'); set f2 = addtime(f2, '02:00:00.999998'); set f3 = addtime(f2, '02:00:00.999998');
24062   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24063   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24064   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24065  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24066END//
24067delimiter ;//
24068
24069DROP PROCEDURE IF EXISTS spexecute27;
24070delimiter //;
24071CREATE PROCEDURE spexecute27()
24072BEGIN
24073  declare var1 time;
24074  declare var2 time;
24075  declare var3 bigint;
24076  declare var4 bigint;
24077  declare var5 bigint;
24078  declare var6 bigint;
24079  declare var7 bigint;
24080  declare var8 bigint;
24081  set var1 =  '23:59:59.999999';
24082  set var3 = -9.22e+18;
24083  set var5 = -9.22e+18;
24084  set var7 = -9.22e+18;
24085  CALL sp27( '23:59:59.999999', var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24086  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24087END//
24088delimiter ;//
24089
24090CALL spexecute27();
24091DROP PROCEDURE spexecute27;
24092DROP PROCEDURE sp27;
24093
24094
24095DROP PROCEDURE IF EXISTS sp28;
24096delimiter //;
24097CREATE PROCEDURE sp28( in f1 datetime, inout f2 datetime, out f3 datetime, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24098BEGIN
24099  set f1 = addtime(f1, '1 1:1:1.000002'); set f2 = addtime(f2, '1 1:1:1.000002'); set f3 = addtime(f1, '1 1:1:1.000002');
24100   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24101   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24102   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24103  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24104END//
24105delimiter ;//
24106
24107DROP PROCEDURE IF EXISTS spexecute28;
24108delimiter //;
24109CREATE PROCEDURE spexecute28()
24110BEGIN
24111  declare var1 datetime;
24112  declare var2 datetime;
24113  declare var3 bigint;
24114  declare var4 bigint;
24115  declare var5 bigint;
24116  declare var6 bigint;
24117  declare var7 bigint;
24118  declare var8 bigint;
24119  set var1 = '1997-12-31 23:59:59.999999';
24120  set var3 = -9.22e+18;
24121  set var5 = -9.22e+18;
24122  set var7 = -9.22e+18;
24123  CALL sp28('1997-12-31 23:59:59.999999', var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24124  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24125END//
24126delimiter ;//
24127
24128CALL spexecute28();
24129DROP PROCEDURE spexecute28;
24130DROP PROCEDURE sp28;
24131
24132
24133DROP PROCEDURE IF EXISTS sp29;
24134delimiter //;
24135CREATE PROCEDURE sp29( in f1 float(0) unsigned, inout f2 float(0) unsigned, out f3 float(0) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24136BEGIN
24137   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24138   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24139   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24140   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24141  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24142END//
24143delimiter ;//
24144
24145DROP PROCEDURE IF EXISTS spexecute29;
24146delimiter //;
24147CREATE PROCEDURE spexecute29()
24148BEGIN
24149  declare var1 float(0) unsigned;
24150  declare var2 float(0) unsigned;
24151  declare var3 bigint;
24152  declare var4 bigint;
24153  declare var5 bigint;
24154  declare var6 bigint;
24155  declare var7 bigint;
24156  declare var8 bigint;
24157  set var1 = 1.00e+00;
24158  set var3 = -9.22e+18;
24159  set var5 = -9.22e+18;
24160  set var7 = -9.22e+18;
24161  CALL sp29(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24162  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24163END//
24164delimiter ;//
24165
24166CALL spexecute29();
24167DROP PROCEDURE spexecute29;
24168DROP PROCEDURE sp29;
24169
24170
24171DROP PROCEDURE IF EXISTS sp30;
24172delimiter //;
24173CREATE PROCEDURE sp30( in f1 float(0) zerofill, inout f2 float(0) zerofill, out f3 float(0) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24174BEGIN
24175   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24176   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24177   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24178   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24179  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24180END//
24181delimiter ;//
24182
24183DROP PROCEDURE IF EXISTS spexecute30;
24184delimiter //;
24185CREATE PROCEDURE spexecute30()
24186BEGIN
24187  declare var1 float(0) zerofill;
24188  declare var2 float(0) zerofill;
24189  declare var3 bigint;
24190  declare var4 bigint;
24191  declare var5 bigint;
24192  declare var6 bigint;
24193  declare var7 bigint;
24194  declare var8 bigint;
24195  set var1 = 1.00e+00;
24196  set var3 = -9.22e+18;
24197  set var5 = -9.22e+18;
24198  set var7 = -9.22e+18;
24199  CALL sp30(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24200  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24201END//
24202delimiter ;//
24203
24204CALL spexecute30();
24205DROP PROCEDURE spexecute30;
24206DROP PROCEDURE sp30;
24207
24208
24209DROP PROCEDURE IF EXISTS sp31;
24210delimiter //;
24211CREATE PROCEDURE sp31( in f1 float(23), inout f2 float(23), out f3 float(23), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24212BEGIN
24213   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24214   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24215   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24216   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24217  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24218END//
24219delimiter ;//
24220
24221DROP PROCEDURE IF EXISTS spexecute31;
24222delimiter //;
24223CREATE PROCEDURE spexecute31()
24224BEGIN
24225  declare var1 float(23);
24226  declare var2 float(23);
24227  declare var3 bigint;
24228  declare var4 bigint;
24229  declare var5 bigint;
24230  declare var6 bigint;
24231  declare var7 bigint;
24232  declare var8 bigint;
24233  set var1 = 1.00e+00;
24234  set var3 = -9.22e+18;
24235  set var5 = -9.22e+18;
24236  set var7 = -9.22e+18;
24237  CALL sp31(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24238  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24239END//
24240delimiter ;//
24241
24242CALL spexecute31();
24243DROP PROCEDURE spexecute31;
24244DROP PROCEDURE sp31;
24245
24246
24247DROP PROCEDURE IF EXISTS sp32;
24248delimiter //;
24249CREATE PROCEDURE sp32( in f1 float(23) unsigned, inout f2 float(23) unsigned, out f3 float(23) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24250BEGIN
24251   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24252   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24253   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24254   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24255  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24256END//
24257delimiter ;//
24258
24259DROP PROCEDURE IF EXISTS spexecute32;
24260delimiter //;
24261CREATE PROCEDURE spexecute32()
24262BEGIN
24263  declare var1 float(23) unsigned;
24264  declare var2 float(23) unsigned;
24265  declare var3 bigint;
24266  declare var4 bigint;
24267  declare var5 bigint;
24268  declare var6 bigint;
24269  declare var7 bigint;
24270  declare var8 bigint;
24271  set var1 = 1.00e+00;
24272  set var3 = -9.22e+18;
24273  set var5 = -9.22e+18;
24274  set var7 = -9.22e+18;
24275  CALL sp32(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24276  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24277END//
24278delimiter ;//
24279
24280CALL spexecute32();
24281DROP PROCEDURE spexecute32;
24282DROP PROCEDURE sp32;
24283
24284
24285DROP PROCEDURE IF EXISTS sp33;
24286delimiter //;
24287CREATE PROCEDURE sp33( in f1 float(23) zerofill, inout f2 float(23) zerofill, out f3 float(23) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24288BEGIN
24289   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24290   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24291   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24292   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24293  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24294END//
24295delimiter ;//
24296
24297DROP PROCEDURE IF EXISTS spexecute33;
24298delimiter //;
24299CREATE PROCEDURE spexecute33()
24300BEGIN
24301  declare var1 float(23) zerofill;
24302  declare var2 float(23) zerofill;
24303  declare var3 bigint;
24304  declare var4 bigint;
24305  declare var5 bigint;
24306  declare var6 bigint;
24307  declare var7 bigint;
24308  declare var8 bigint;
24309  set var1 = 1.00e+00;
24310  set var3 = -9.22e+18;
24311  set var5 = -9.22e+18;
24312  set var7 = -9.22e+18;
24313  CALL sp33(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24314  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24315END//
24316delimiter ;//
24317
24318CALL spexecute33();
24319DROP PROCEDURE spexecute33;
24320DROP PROCEDURE sp33;
24321
24322
24323DROP PROCEDURE IF EXISTS sp34;
24324delimiter //;
24325CREATE PROCEDURE sp34( in f1 float(24), inout f2 float(24), out f3 float(24), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24326BEGIN
24327   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24328   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24329   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24330   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24331  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24332END//
24333delimiter ;//
24334
24335DROP PROCEDURE IF EXISTS spexecute34;
24336delimiter //;
24337CREATE PROCEDURE spexecute34()
24338BEGIN
24339  declare var1 float(24);
24340  declare var2 float(24);
24341  declare var3 bigint;
24342  declare var4 bigint;
24343  declare var5 bigint;
24344  declare var6 bigint;
24345  declare var7 bigint;
24346  declare var8 bigint;
24347  set var1 = 1.00e+00;
24348  set var3 = -9.22e+18;
24349  set var5 = -9.22e+18;
24350  set var7 = -9.22e+18;
24351  CALL sp34(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24352  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24353END//
24354delimiter ;//
24355
24356CALL spexecute34();
24357DROP PROCEDURE spexecute34;
24358DROP PROCEDURE sp34;
24359
24360
24361DROP PROCEDURE IF EXISTS sp35;
24362delimiter //;
24363CREATE PROCEDURE sp35( in f1 float(24) unsigned, inout f2 float(24) unsigned, out f3 float(24) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24364BEGIN
24365   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24366   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24367   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24368   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24369  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24370END//
24371delimiter ;//
24372
24373DROP PROCEDURE IF EXISTS spexecute35;
24374delimiter //;
24375CREATE PROCEDURE spexecute35()
24376BEGIN
24377  declare var1 float(24) unsigned;
24378  declare var2 float(24) unsigned;
24379  declare var3 bigint;
24380  declare var4 bigint;
24381  declare var5 bigint;
24382  declare var6 bigint;
24383  declare var7 bigint;
24384  declare var8 bigint;
24385  set var1 = 1.00e+00;
24386  set var3 = -9.22e+18;
24387  set var5 = -9.22e+18;
24388  set var7 = -9.22e+18;
24389  CALL sp35(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24390  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24391END//
24392delimiter ;//
24393
24394CALL spexecute35();
24395DROP PROCEDURE spexecute35;
24396DROP PROCEDURE sp35;
24397
24398
24399DROP PROCEDURE IF EXISTS sp36;
24400delimiter //;
24401CREATE PROCEDURE sp36( in f1 float(24) zerofill, inout f2 float(24) zerofill, out f3 float(24) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24402BEGIN
24403   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24404   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24405   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24406   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24407  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24408END//
24409delimiter ;//
24410
24411DROP PROCEDURE IF EXISTS spexecute36;
24412delimiter //;
24413CREATE PROCEDURE spexecute36()
24414BEGIN
24415  declare var1 float(24) zerofill;
24416  declare var2 float(24) zerofill;
24417  declare var3 bigint;
24418  declare var4 bigint;
24419  declare var5 bigint;
24420  declare var6 bigint;
24421  declare var7 bigint;
24422  declare var8 bigint;
24423  set var1 = 1.00e+00;
24424  set var3 = -9.22e+18;
24425  set var5 = -9.22e+18;
24426  set var7 = -9.22e+18;
24427  CALL sp36(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24428  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24429END//
24430delimiter ;//
24431
24432CALL spexecute36();
24433DROP PROCEDURE spexecute36;
24434DROP PROCEDURE sp36;
24435
24436
24437DROP PROCEDURE IF EXISTS sp37;
24438delimiter //;
24439CREATE PROCEDURE sp37( in f1 float(53), inout f2 float(53), out f3 float(53), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24440BEGIN
24441   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24442   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24443   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24444   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24445  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24446END//
24447delimiter ;//
24448
24449DROP PROCEDURE IF EXISTS spexecute37;
24450delimiter //;
24451CREATE PROCEDURE spexecute37()
24452BEGIN
24453  declare var1 float(53);
24454  declare var2 float(53);
24455  declare var3 bigint;
24456  declare var4 bigint;
24457  declare var5 bigint;
24458  declare var6 bigint;
24459  declare var7 bigint;
24460  declare var8 bigint;
24461  set var1 = 1.00e+00;
24462  set var3 = -9.22e+18;
24463  set var5 = -9.22e+18;
24464  set var7 = -9.22e+18;
24465  CALL sp37(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24466  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24467END//
24468delimiter ;//
24469
24470CALL spexecute37();
24471DROP PROCEDURE spexecute37;
24472DROP PROCEDURE sp37;
24473
24474
24475DROP PROCEDURE IF EXISTS sp38;
24476delimiter //;
24477CREATE PROCEDURE sp38( in f1 float(53) unsigned, inout f2 float(53) unsigned, out f3 float(53) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24478BEGIN
24479   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24480   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24481   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24482   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24483  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24484END//
24485delimiter ;//
24486
24487DROP PROCEDURE IF EXISTS spexecute38;
24488delimiter //;
24489CREATE PROCEDURE spexecute38()
24490BEGIN
24491  declare var1 float(53) unsigned;
24492  declare var2 float(53) unsigned;
24493  declare var3 bigint;
24494  declare var4 bigint;
24495  declare var5 bigint;
24496  declare var6 bigint;
24497  declare var7 bigint;
24498  declare var8 bigint;
24499  set var1 = 1.00e+00;
24500  set var3 = -9.22e+18;
24501  set var5 = -9.22e+18;
24502  set var7 = -9.22e+18;
24503  CALL sp38(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24504  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24505END//
24506delimiter ;//
24507
24508CALL spexecute38();
24509DROP PROCEDURE spexecute38;
24510DROP PROCEDURE sp38;
24511
24512
24513DROP PROCEDURE IF EXISTS sp39;
24514delimiter //;
24515CREATE PROCEDURE sp39( in f1 float(53) zerofill, inout f2 float(53) zerofill, out f3 float(53) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24516BEGIN
24517   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24518   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24519   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24520   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24521  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24522END//
24523delimiter ;//
24524
24525DROP PROCEDURE IF EXISTS spexecute39;
24526delimiter //;
24527CREATE PROCEDURE spexecute39()
24528BEGIN
24529  declare var1 float(53) zerofill;
24530  declare var2 float(53) zerofill;
24531  declare var3 bigint;
24532  declare var4 bigint;
24533  declare var5 bigint;
24534  declare var6 bigint;
24535  declare var7 bigint;
24536  declare var8 bigint;
24537  set var1 = 1.00e+00;
24538  set var3 = -9.22e+18;
24539  set var5 = -9.22e+18;
24540  set var7 = -9.22e+18;
24541  CALL sp39(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24542  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24543END//
24544delimiter ;//
24545
24546CALL spexecute39();
24547DROP PROCEDURE spexecute39;
24548DROP PROCEDURE sp39;
24549
24550
24551DROP PROCEDURE IF EXISTS sp40;
24552delimiter //;
24553CREATE PROCEDURE sp40( in f1 real unsigned, inout f2 real unsigned, out f3 real unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24554BEGIN
24555   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24556   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24557   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24558   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24559  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24560END//
24561delimiter ;//
24562
24563DROP PROCEDURE IF EXISTS spexecute40;
24564delimiter //;
24565CREATE PROCEDURE spexecute40()
24566BEGIN
24567  declare var1 real unsigned;
24568  declare var2 real unsigned;
24569  declare var3 bigint;
24570  declare var4 bigint;
24571  declare var5 bigint;
24572  declare var6 bigint;
24573  declare var7 bigint;
24574  declare var8 bigint;
24575  set var1 = 1.1;
24576  set var3 = -9.22e+18;
24577  set var5 = -9.22e+18;
24578  set var7 = -9.22e+18;
24579  CALL sp40(1.1, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24580  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24581END//
24582delimiter ;//
24583
24584CALL spexecute40();
24585DROP PROCEDURE spexecute40;
24586DROP PROCEDURE sp40;
24587
24588
24589DROP PROCEDURE IF EXISTS sp41;
24590delimiter //;
24591CREATE PROCEDURE sp41( in f1 real unsigned zerofill, inout f2 real unsigned zerofill, out f3 real unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24592BEGIN
24593   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24594   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24595   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24596   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24597  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24598END//
24599delimiter ;//
24600
24601DROP PROCEDURE IF EXISTS spexecute41;
24602delimiter //;
24603CREATE PROCEDURE spexecute41()
24604BEGIN
24605  declare var1 real unsigned zerofill;
24606  declare var2 real unsigned zerofill;
24607  declare var3 bigint;
24608  declare var4 bigint;
24609  declare var5 bigint;
24610  declare var6 bigint;
24611  declare var7 bigint;
24612  declare var8 bigint;
24613  set var1 = 1.1;
24614  set var3 = -9.22e+18;
24615  set var5 = -9.22e+18;
24616  set var7 = -9.22e+18;
24617  CALL sp41(1.1, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24618  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24619END//
24620delimiter ;//
24621
24622CALL spexecute41();
24623DROP PROCEDURE spexecute41;
24624DROP PROCEDURE sp41;
24625
24626
24627DROP PROCEDURE IF EXISTS sp42;
24628delimiter //;
24629CREATE PROCEDURE sp42( in f1 real zerofill, inout f2 real zerofill, out f3 real zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24630BEGIN
24631   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24632   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24633   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24634   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24635  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24636END//
24637delimiter ;//
24638
24639DROP PROCEDURE IF EXISTS spexecute42;
24640delimiter //;
24641CREATE PROCEDURE spexecute42()
24642BEGIN
24643  declare var1 real zerofill;
24644  declare var2 real zerofill;
24645  declare var3 bigint;
24646  declare var4 bigint;
24647  declare var5 bigint;
24648  declare var6 bigint;
24649  declare var7 bigint;
24650  declare var8 bigint;
24651  set var1 = 1.1;
24652  set var3 = -9.22e+18;
24653  set var5 = -9.22e+18;
24654  set var7 = -9.22e+18;
24655  CALL sp42(1.1, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24656  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24657END//
24658delimiter ;//
24659
24660CALL spexecute42();
24661DROP PROCEDURE spexecute42;
24662DROP PROCEDURE sp42;
24663
24664
24665DROP PROCEDURE IF EXISTS sp43;
24666delimiter //;
24667CREATE PROCEDURE sp43( in f1 numeric (0), inout f2 numeric (0), out f3 numeric (0), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24668BEGIN
24669   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24670   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24671   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24672   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24673  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24674END//
24675delimiter ;//
24676
24677DROP PROCEDURE IF EXISTS spexecute43;
24678delimiter //;
24679CREATE PROCEDURE spexecute43()
24680BEGIN
24681  declare var1 numeric (0);
24682  declare var2 numeric (0);
24683  declare var3 bigint;
24684  declare var4 bigint;
24685  declare var5 bigint;
24686  declare var6 bigint;
24687  declare var7 bigint;
24688  declare var8 bigint;
24689  set var1 = -999999999;
24690  set var3 = -9.22e+18;
24691  set var5 = -9.22e+18;
24692  set var7 = -9.22e+18;
24693  CALL sp43(-999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24694  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24695END//
24696delimiter ;//
24697
24698CALL spexecute43();
24699DROP PROCEDURE spexecute43;
24700DROP PROCEDURE sp43;
24701
24702
24703DROP PROCEDURE IF EXISTS sp44;
24704delimiter //;
24705CREATE PROCEDURE sp44( in f1 numeric (0) unsigned, inout f2 numeric (0) unsigned, out f3 numeric (0) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24706BEGIN
24707   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24708   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24709   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24710   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24711  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24712END//
24713delimiter ;//
24714
24715DROP PROCEDURE IF EXISTS spexecute44;
24716delimiter //;
24717CREATE PROCEDURE spexecute44()
24718BEGIN
24719  declare var1 numeric (0) unsigned;
24720  declare var2 numeric (0) unsigned;
24721  declare var3 bigint;
24722  declare var4 bigint;
24723  declare var5 bigint;
24724  declare var6 bigint;
24725  declare var7 bigint;
24726  declare var8 bigint;
24727  set var1 = 9999999999;
24728  set var3 = -9.22e+18;
24729  set var5 = -9.22e+18;
24730  set var7 = -9.22e+18;
24731  CALL sp44(9999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24732  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24733END//
24734delimiter ;//
24735
24736CALL spexecute44();
24737DROP PROCEDURE spexecute44;
24738DROP PROCEDURE sp44;
24739
24740
24741DROP PROCEDURE IF EXISTS sp45;
24742delimiter //;
24743CREATE PROCEDURE sp45( in f1 numeric (0) zerofill, inout f2 numeric (0) zerofill, out f3 numeric (0) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24744BEGIN
24745   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24746   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24747   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24748   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24749  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24750END//
24751delimiter ;//
24752
24753DROP PROCEDURE IF EXISTS spexecute45;
24754delimiter //;
24755CREATE PROCEDURE spexecute45()
24756BEGIN
24757  declare var1 numeric (0) zerofill;
24758  declare var2 numeric (0) zerofill;
24759  declare var3 bigint;
24760  declare var4 bigint;
24761  declare var5 bigint;
24762  declare var6 bigint;
24763  declare var7 bigint;
24764  declare var8 bigint;
24765  set var1 = -99999999;
24766  set var3 = -9.22e+18;
24767  set var5 = -9.22e+18;
24768  set var7 = -9.22e+18;
24769  CALL sp45(-99999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24770  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24771END//
24772delimiter ;//
24773
24774CALL spexecute45();
24775DROP PROCEDURE spexecute45;
24776DROP PROCEDURE sp45;
24777
24778
24779DROP PROCEDURE IF EXISTS sp46;
24780delimiter //;
24781CREATE PROCEDURE sp46( in f1 numeric (0, 0), inout f2 numeric (0, 0), out f3 numeric (0, 0), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24782BEGIN
24783   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24784   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24785   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24786   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24787  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24788END//
24789delimiter ;//
24790
24791DROP PROCEDURE IF EXISTS spexecute46;
24792delimiter //;
24793CREATE PROCEDURE spexecute46()
24794BEGIN
24795  declare var1 numeric (0, 0);
24796  declare var2 numeric (0, 0);
24797  declare var3 bigint;
24798  declare var4 bigint;
24799  declare var5 bigint;
24800  declare var6 bigint;
24801  declare var7 bigint;
24802  declare var8 bigint;
24803  set var1 = -999999999;
24804  set var3 = -9.22e+18;
24805  set var5 = -9.22e+18;
24806  set var7 = -9.22e+18;
24807  CALL sp46(-999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24808  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24809END//
24810delimiter ;//
24811
24812CALL spexecute46();
24813DROP PROCEDURE spexecute46;
24814DROP PROCEDURE sp46;
24815
24816
24817DROP PROCEDURE IF EXISTS sp47;
24818delimiter //;
24819CREATE PROCEDURE sp47( in f1 numeric (0, 0) unsigned, inout f2 numeric (0, 0) unsigned, out f3 numeric (0, 0) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24820BEGIN
24821   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24822   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24823   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24824   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24825  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24826END//
24827delimiter ;//
24828
24829DROP PROCEDURE IF EXISTS spexecute47;
24830delimiter //;
24831CREATE PROCEDURE spexecute47()
24832BEGIN
24833  declare var1 numeric (0, 0) unsigned;
24834  declare var2 numeric (0, 0) unsigned;
24835  declare var3 bigint;
24836  declare var4 bigint;
24837  declare var5 bigint;
24838  declare var6 bigint;
24839  declare var7 bigint;
24840  declare var8 bigint;
24841  set var1 = 9999999999;
24842  set var3 = -9.22e+18;
24843  set var5 = -9.22e+18;
24844  set var7 = -9.22e+18;
24845  CALL sp47(9999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24846  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24847END//
24848delimiter ;//
24849
24850CALL spexecute47();
24851DROP PROCEDURE spexecute47;
24852DROP PROCEDURE sp47;
24853
24854
24855DROP PROCEDURE IF EXISTS sp48;
24856delimiter //;
24857CREATE PROCEDURE sp48( in f1 numeric (0, 0) zerofill, inout f2 numeric (0, 0) zerofill, out f3 numeric (0, 0) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24858BEGIN
24859   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24860   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24861   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24862   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24863  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24864END//
24865delimiter ;//
24866
24867DROP PROCEDURE IF EXISTS spexecute48;
24868delimiter //;
24869CREATE PROCEDURE spexecute48()
24870BEGIN
24871  declare var1 numeric (0, 0) zerofill;
24872  declare var2 numeric (0, 0) zerofill;
24873  declare var3 bigint;
24874  declare var4 bigint;
24875  declare var5 bigint;
24876  declare var6 bigint;
24877  declare var7 bigint;
24878  declare var8 bigint;
24879  set var1 = -99999999;
24880  set var3 = -9.22e+18;
24881  set var5 = -9.22e+18;
24882  set var7 = -9.22e+18;
24883  CALL sp48(-99999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24884  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24885END//
24886delimiter ;//
24887
24888CALL spexecute48();
24889DROP PROCEDURE spexecute48;
24890DROP PROCEDURE sp48;
24891
24892
24893DROP PROCEDURE IF EXISTS sp49;
24894delimiter //;
24895CREATE PROCEDURE sp49( in f1 numeric unsigned, inout f2 numeric unsigned, out f3 numeric unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24896BEGIN
24897   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24898   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24899   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24900   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24901  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24902END//
24903delimiter ;//
24904
24905DROP PROCEDURE IF EXISTS spexecute49;
24906delimiter //;
24907CREATE PROCEDURE spexecute49()
24908BEGIN
24909  declare var1 numeric unsigned;
24910  declare var2 numeric unsigned;
24911  declare var3 bigint;
24912  declare var4 bigint;
24913  declare var5 bigint;
24914  declare var6 bigint;
24915  declare var7 bigint;
24916  declare var8 bigint;
24917  set var1 = -999999999;
24918  set var3 = -9.22e+18;
24919  set var5 = -9.22e+18;
24920  set var7 = -9.22e+18;
24921  CALL sp49(-999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24922  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24923END//
24924delimiter ;//
24925
24926CALL spexecute49();
24927DROP PROCEDURE spexecute49;
24928DROP PROCEDURE sp49;
24929
24930
24931DROP PROCEDURE IF EXISTS sp50;
24932delimiter //;
24933CREATE PROCEDURE sp50( in f1 numeric unsigned zerofill, inout f2 numeric unsigned zerofill, out f3 numeric unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24934BEGIN
24935   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24936   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24937   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24938   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24939  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24940END//
24941delimiter ;//
24942
24943DROP PROCEDURE IF EXISTS spexecute50;
24944delimiter //;
24945CREATE PROCEDURE spexecute50()
24946BEGIN
24947  declare var1 numeric unsigned zerofill;
24948  declare var2 numeric unsigned zerofill;
24949  declare var3 bigint;
24950  declare var4 bigint;
24951  declare var5 bigint;
24952  declare var6 bigint;
24953  declare var7 bigint;
24954  declare var8 bigint;
24955  set var1 = 9999999999;
24956  set var3 = -9.22e+18;
24957  set var5 = -9.22e+18;
24958  set var7 = -9.22e+18;
24959  CALL sp50(9999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24960  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24961END//
24962delimiter ;//
24963
24964CALL spexecute50();
24965DROP PROCEDURE spexecute50;
24966DROP PROCEDURE sp50;
24967
24968
24969DROP PROCEDURE IF EXISTS sp51;
24970delimiter //;
24971CREATE PROCEDURE sp51( in f1 numeric zerofill, inout f2 numeric zerofill, out f3 numeric zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
24972BEGIN
24973   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
24974   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
24975   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
24976   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
24977  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
24978END//
24979delimiter ;//
24980
24981DROP PROCEDURE IF EXISTS spexecute51;
24982delimiter //;
24983CREATE PROCEDURE spexecute51()
24984BEGIN
24985  declare var1 numeric zerofill;
24986  declare var2 numeric zerofill;
24987  declare var3 bigint;
24988  declare var4 bigint;
24989  declare var5 bigint;
24990  declare var6 bigint;
24991  declare var7 bigint;
24992  declare var8 bigint;
24993  set var1 = -99999999;
24994  set var3 = -9.22e+18;
24995  set var5 = -9.22e+18;
24996  set var7 = -9.22e+18;
24997  CALL sp51(-99999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
24998  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
24999END//
25000delimiter ;//
25001
25002CALL spexecute51();
25003DROP PROCEDURE spexecute51;
25004DROP PROCEDURE sp51;
25005
25006
25007DROP PROCEDURE IF EXISTS sp52;
25008delimiter //;
25009CREATE PROCEDURE sp52( in f1 numeric (63, 30), inout f2 numeric (63, 30), out f3 numeric (63, 30), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25010BEGIN
25011   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25012   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25013   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25014   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25015  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25016END//
25017delimiter ;//
25018
25019DROP PROCEDURE IF EXISTS spexecute52;
25020delimiter //;
25021eval CREATE PROCEDURE spexecute52()
25022BEGIN
25023  declare var1 numeric (63, 30);
25024  declare var2 numeric (63, 30);
25025  declare var3 bigint;
25026  declare var4 bigint;
25027  declare var5 bigint;
25028  declare var6 bigint;
25029  declare var7 bigint;
25030  declare var8 bigint;
25031  set var1 = $procvar01_m36;
25032  set var3 = $procvar03;
25033  set var5 = $procvar05;
25034  set var7 = $procvar07;
25035  CALL sp52($callvar01m, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
25036  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25037END//
25038delimiter ;//
25039
25040CALL spexecute52();
25041DROP PROCEDURE spexecute52;
25042DROP PROCEDURE sp52;
25043
25044
25045DROP PROCEDURE IF EXISTS sp53;
25046delimiter //;
25047CREATE PROCEDURE sp53( in f1 numeric (64), inout f2 numeric (64), out f3 numeric (64), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25048BEGIN
25049   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25050   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25051   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25052   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25053  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25054END//
25055delimiter ;//
25056
25057DROP PROCEDURE IF EXISTS spexecute53;
25058delimiter //;
25059eval CREATE PROCEDURE spexecute53()
25060BEGIN
25061  declare var1 numeric (64);
25062  declare var2 numeric (64);
25063  declare var3 bigint;
25064  declare var4 bigint;
25065  declare var5 bigint;
25066  declare var6 bigint;
25067  declare var7 bigint;
25068  declare var8 bigint;
25069  set var1 = $procvar01_m40;
25070  set var3 = $procvar03;
25071  set var5 = $procvar05;
25072  set var7 = $procvar07;
25073  CALL sp53($callvar01m, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
25074  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25075END//
25076delimiter ;//
25077
25078CALL spexecute53();
25079DROP PROCEDURE spexecute53;
25080DROP PROCEDURE sp53;
25081
25082
25083DROP PROCEDURE IF EXISTS sp54;
25084delimiter //;
25085CREATE PROCEDURE sp54( in f1 numeric (64) unsigned, inout f2 numeric (64) unsigned, out f3 numeric (64) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25086BEGIN
25087   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25088   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25089   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25090   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25091  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25092END//
25093delimiter ;//
25094
25095DROP PROCEDURE IF EXISTS spexecute54;
25096delimiter //;
25097eval CREATE PROCEDURE spexecute54()
25098BEGIN
25099  declare var1 numeric (64) unsigned;
25100  declare var2 numeric (64) unsigned;
25101  declare var3 bigint;
25102  declare var4 bigint;
25103  declare var5 bigint;
25104  declare var6 bigint;
25105  declare var7 bigint;
25106  declare var8 bigint;
25107  set var1 = $procvar01_40;
25108  set var3 = $procvar03;
25109  set var5 = $procvar05;
25110  set var7 = $procvar07;
25111  CALL sp54($callvar01p, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
25112  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25113END//
25114delimiter ;//
25115
25116CALL spexecute54();
25117DROP PROCEDURE spexecute54;
25118DROP PROCEDURE sp54;
25119
25120
25121DROP PROCEDURE IF EXISTS sp55;
25122delimiter //;
25123CREATE PROCEDURE sp55( in f1 numeric (64) zerofill, inout f2 numeric (64) zerofill, out f3 numeric (64) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25124BEGIN
25125   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25126   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25127   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25128   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25129  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25130END//
25131delimiter ;//
25132
25133DROP PROCEDURE IF EXISTS spexecute55;
25134delimiter //;
25135eval CREATE PROCEDURE spexecute55()
25136BEGIN
25137  declare var1 numeric (64) zerofill;
25138  declare var2 numeric (64) zerofill;
25139  declare var3 bigint;
25140  declare var4 bigint;
25141  declare var5 bigint;
25142  declare var6 bigint;
25143  declare var7 bigint;
25144  declare var8 bigint;
25145  set var1 = $procvar01_m40;
25146  set var3 = $procvar03;
25147  set var5 = $procvar05;
25148  set var7 = $procvar07;
25149  CALL sp55($callvar01m, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
25150  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25151END//
25152delimiter ;//
25153
25154CALL spexecute55();
25155DROP PROCEDURE spexecute55;
25156DROP PROCEDURE sp55;
25157
25158
25159DROP PROCEDURE IF EXISTS sp56;
25160delimiter //;
25161CREATE PROCEDURE sp56( in f1 year, inout f2 year, out f3 year, in f4 year, inout f5 year, out f6 year, in f7 year, inout f8 year, out f9 year, in f10 year, inout f11 year, out f12 year)
25162BEGIN
25163  set f1 = f1 + 10; set f2 = f2 + 10; set f3 = f2 + 10;
25164  set f4 = f4 + 10; set f5 = f5 + 10; set f6 = f5 + 10;
25165  set f7 = f7 + 10; set f8 = f8 + 10; set f9 = f8 + 10;
25166  set f10= f10+ 10; set f11 = f11 + 10; set f12 = f11 + 10;
25167  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25168END//
25169delimiter ;//
25170
25171DROP PROCEDURE IF EXISTS spexecute56;
25172delimiter //;
25173CREATE PROCEDURE spexecute56()
25174BEGIN
25175  declare var1 year;
25176  declare var2 year;
25177  declare var3 year;
25178  declare var4 year;
25179  declare var5 year;
25180  declare var6 year;
25181  declare var7 year;
25182  declare var8 year;
25183  set var1 = 51;
25184  set var3 = 51;
25185  set var5 = 51;
25186  set var7 = 51;
25187  CALL sp56(51, var1, var2, 51, var3, var4, 51, var5, var6, 51, var7, var8);
25188  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25189END//
25190delimiter ;//
25191
25192CALL spexecute56();
25193DROP PROCEDURE spexecute56;
25194DROP PROCEDURE sp56;
25195
25196
25197DROP PROCEDURE IF EXISTS sp57;
25198delimiter //;
25199CREATE PROCEDURE sp57( in f1 year(4), inout f2 year(4), out f3 year(4), in f4 year(4), inout f5 year(4), out f6 year(4), in f7 year(4), inout f8 year(4), out f9 year(4), in f10 year(4), inout f11 year(4), out f12 year(4))
25200BEGIN
25201  set f1 = f1 + 51; set f2 = f2 + 51; set f3 = f2 + 51;
25202  set f4 = f4 + 51; set f5 = f5 + 51; set f6 = f5 + 51;
25203  set f7 = f7 + 51; set f8 = f8 + 51; set f9 = f8 + 51;
25204  set f10 = f10 + 51; set f11 = f11 + 51; set f12 = f11 + 51;
25205  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25206END//
25207delimiter ;//
25208
25209DROP PROCEDURE IF EXISTS spexecute57;
25210delimiter //;
25211CREATE PROCEDURE spexecute57()
25212BEGIN
25213  declare var1 year(4);
25214  declare var2 year(4);
25215  declare var3 year(4);
25216  declare var4 year(4);
25217  declare var5 year(4);
25218  declare var6 year(4);
25219  declare var7 year(4);
25220  declare var8 year(4);
25221  set var1 = 1982;
25222  set var3 = 1982;
25223  set var5 = 1982;
25224  set var7 = 1982;
25225  CALL sp57(1982, var1, var2, 1982, var3, var4, 1982, var5, var6, 1982, var7, var8);
25226  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25227END//
25228delimiter ;//
25229
25230CALL spexecute57();
25231DROP PROCEDURE spexecute57;
25232DROP PROCEDURE sp57;
25233
25234
25235DROP PROCEDURE IF EXISTS sp58;
25236delimiter //;
25237CREATE PROCEDURE sp58( in f1 text, inout f2 text, out f3 text, in f4 text, inout f5 text, out f6 text, in f7 text, inout f8 text, out f9 text, in f10 text, inout f11 text, out f12 text)
25238BEGIN
25239  set f1 = concat('hello', f1); set f2 = concat('hello', f2); set f3 = concat('hello', f2);
25240  set f4 = concat('hello', f4); set f5 = concat('hello', f5); set f6 = concat('hello', f5);
25241  set f7 = concat('hello', f7); set f8 = concat('hello', f8); set f9 = concat('hello', f8);
25242  set f10 = concat('hello', f10); set f11 = concat('hello', f11); set f12 = concat('hello', f11);
25243  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25244END//
25245delimiter ;//
25246
25247DROP PROCEDURE IF EXISTS spexecute58;
25248delimiter //;
25249CREATE PROCEDURE spexecute58()
25250BEGIN
25251  declare var1 text;
25252  declare var2 text;
25253  declare var3 text;
25254  declare var4 text;
25255  declare var5 text;
25256  declare var6 text;
25257  declare var7 text;
25258  declare var8 text;
25259  set var1 =  'world';
25260  set var3 =  'world';
25261  set var5 =  'world';
25262  set var7 =  'world';
25263  CALL sp58( 'world', var1, var2, 'world', var3, var4, 'world', var5, var6, 'world', var7, var8);
25264  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25265END//
25266delimiter ;//
25267
25268CALL spexecute58();
25269DROP PROCEDURE spexecute58;
25270DROP PROCEDURE sp58;
25271
25272
25273DROP PROCEDURE IF EXISTS sp59;
25274delimiter //;
25275CREATE PROCEDURE sp59( in f1 tinytext, inout f2 tinytext, out f3 tinytext, in f4 tinytext, inout f5 tinytext, out f6 tinytext, in f7 tinytext, inout f8 tinytext, out f9 tinytext, in f10 tinytext, inout f11 tinytext, out f12 tinytext)
25276BEGIN
25277  set f1 = concat('hello', f1); set f2 = concat('hello', f2); set f3 = concat('hello', f2);
25278  set f4 = concat('hello', f4); set f5 = concat('hello', f5); set f6 = concat('hello', f5);
25279  set f7 = concat('hello', f7); set f8 = concat('hello', f8); set f9 = concat('hello', f8);
25280  set f10 = concat('hello', f10); set f11 = concat('hello', f11); set f12 = concat('hello', f11);
25281  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25282END//
25283delimiter ;//
25284
25285DROP PROCEDURE IF EXISTS spexecute59;
25286delimiter //;
25287CREATE PROCEDURE spexecute59()
25288BEGIN
25289  declare var1 tinytext;
25290  declare var2 tinytext;
25291  declare var3 tinytext;
25292  declare var4 tinytext;
25293  declare var5 tinytext;
25294  declare var6 tinytext;
25295  declare var7 tinytext;
25296  declare var8 tinytext;
25297  set var1 =  'world';
25298  set var3 =  'world';
25299  set var5 =  'world';
25300  set var7 =  'world';
25301  CALL sp59( 'world', var1, var2, 'world', var3, var4, 'world', var5, var6, 'world', var7, var8);
25302  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25303END//
25304delimiter ;//
25305
25306CALL spexecute59();
25307DROP PROCEDURE spexecute59;
25308DROP PROCEDURE sp59;
25309
25310
25311DROP PROCEDURE IF EXISTS sp60;
25312delimiter //;
25313CREATE PROCEDURE sp60( in f1 char, inout f2 char, out f3 char, in f4 char, inout f5 char, out f6 char, in f7 char, inout f8 char, out f9 char, in f10 char, inout f11 char, out f12 char)
25314BEGIN
25315  set f1 = concat('a', f1); set f2 = concat('a', f2); set f3 = concat('a', f1);
25316  set f4 = concat('a', f4); set f5 = concat('a', f5); set f6 = concat('a', f5);
25317  set f7 = concat('a', f7); set f8 = concat('a', f8); set f9 = concat('a', f8);
25318  set f10 = concat('a', f10); set f11 = concat('a', f11); set f12 = concat('a', f11);
25319  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25320END//
25321delimiter ;//
25322
25323DROP PROCEDURE IF EXISTS spexecute60;
25324delimiter //;
25325CREATE PROCEDURE spexecute60()
25326BEGIN
25327  declare var1 char;
25328  declare var2 char;
25329  declare var3 char;
25330  declare var4 char;
25331  declare var5 char;
25332  declare var6 char;
25333  declare var7 char;
25334  declare var8 char;
25335  set var1 =  'h';
25336  set var3 =  'h';
25337  set var5 =  'h';
25338  set var7 =  'h';
25339  CALL sp60( 'h', var1, var2, 'h', var3, var4, 'h', var5, var6, 'h', var7, var8);
25340  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25341END//
25342delimiter ;//
25343
25344CALL spexecute60();
25345DROP PROCEDURE spexecute60;
25346DROP PROCEDURE sp60;
25347
25348
25349DROP PROCEDURE IF EXISTS sp61;
25350delimiter //;
25351CREATE PROCEDURE sp61( in f1 char ascii, inout f2 char ascii, out f3 char ascii, in f4 char ascii, inout f5 char ascii, out f6 char ascii, in f7 char ascii, inout f8 char ascii, out f9 char ascii, in f10 char ascii, inout f11 char ascii, out f12 char ascii)
25352BEGIN
25353  set f1 = concat('a', f1); set f2 = concat('a', f2); set f3 = concat('a', f2);
25354  set f4 = concat('a', f4); set f5 = concat('a', f5); set f6 = concat('a', f4);
25355  set f7 = concat('a', f7); set f8 = concat('a', f8); set f9 = concat('a', f9);
25356  set f10 = concat('a', f10); set f11 = concat('a', f11); set f12 = concat('a', f11);
25357  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25358END//
25359delimiter ;//
25360
25361DROP PROCEDURE IF EXISTS spexecute61;
25362delimiter //;
25363CREATE PROCEDURE spexecute61()
25364BEGIN
25365  declare var1 char ascii;
25366  declare var2 char ascii;
25367  declare var3 char ascii;
25368  declare var4 char ascii;
25369  declare var5 char ascii;
25370  declare var6 char ascii;
25371  declare var7 char ascii;
25372  declare var8 char ascii;
25373  set var1 =  'h';
25374  set var3 =  'h';
25375  set var5 =  'h';
25376  set var7 =  'h';
25377  CALL sp61( 'h', var1, var2, 'h', var3, var4, 'h', var5, var6, 'h', var7, var8);
25378  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25379END//
25380delimiter ;//
25381
25382CALL spexecute61();
25383
25384DROP PROCEDURE spexecute61;
25385DROP PROCEDURE sp61;
25386
25387
25388DROP PROCEDURE IF EXISTS sp62;
25389delimiter //;
25390CREATE PROCEDURE sp62( in f1 longtext, inout f2 longtext, out f3 longtext, in f4 longtext, inout f5 longtext, out f6 longtext, in f7 longtext, inout f8 longtext, out f9 longtext, in f10 longtext, inout f11 longtext, out f12 longtext)
25391BEGIN
25392  set f1 = concat('hello', f1); set f2 = concat('hello', f2); set f3 = concat('hello', f2);
25393  set f4 = concat('hello', f4); set f5 = concat('hello', f5); set f6 = concat('hello', f5);
25394  set f7 = concat('hello', f7); set f8 = concat('hello', f8); set f9 = concat('hello', f8);
25395  set f10 = concat('hello', f10); set f11 = concat('hello', f11); set f12 = concat('hello', f11);
25396  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25397END//
25398delimiter ;//
25399
25400DROP PROCEDURE IF EXISTS spexecute62;
25401delimiter //;
25402CREATE PROCEDURE spexecute62()
25403BEGIN
25404  declare var1 longtext;
25405  declare var2 longtext;
25406  declare var3 longtext;
25407  declare var4 longtext;
25408  declare var5 longtext;
25409  declare var6 longtext;
25410  declare var7 longtext;
25411  declare var8 longtext;
25412  set var1 =  'world';
25413  set var3 =  'world';
25414  set var5 =  'world';
25415  set var7 =  'world';
25416  CALL sp62( 'world', var1, var2, 'world', var3, var4, 'world', var5, var6, 'world', var7, var8);
25417  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25418END//
25419delimiter ;//
25420
25421CALL spexecute62();
25422DROP PROCEDURE spexecute62;
25423DROP PROCEDURE sp62;
25424
25425
25426DROP PROCEDURE IF EXISTS sp63;
25427delimiter //;
25428CREATE PROCEDURE sp63( in f1 mediumtext, inout f2 mediumtext, out f3 mediumtext, in f4 mediumtext, inout f5 mediumtext, out f6 mediumtext, in f7 mediumtext, inout f8 mediumtext, out f9 mediumtext, in f10 mediumtext, inout f11 mediumtext, out f12 mediumtext)
25429BEGIN
25430  set f1 = concat('hello', f1); set f2 = concat('hello', f2); set f3 = concat('hello', f3);
25431  set f4 = concat('hello', f4); set f5 = concat('hello', f5); set f6 = concat('hello', f5);
25432  set f7 = concat('hello', f7); set f8 = concat('hello', f8); set f9 = concat('hello', f8);
25433  set f10 = concat('hello', f10); set f11 = concat('hello', f11); set f12 = concat('hello', f11);
25434  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25435END//
25436delimiter ;//
25437
25438DROP PROCEDURE IF EXISTS spexecute63;
25439delimiter //;
25440CREATE PROCEDURE spexecute63()
25441BEGIN
25442  declare var1 mediumtext;
25443  declare var2 mediumtext;
25444  declare var3 mediumtext;
25445  declare var4 mediumtext;
25446  declare var5 mediumtext;
25447  declare var6 mediumtext;
25448  declare var7 mediumtext;
25449  declare var8 mediumtext;
25450  set var1 =  'world';
25451  set var3 =  'world';
25452  set var5 =  'world';
25453  set var7 =  'world';
25454  CALL sp63( 'world', var1, var2, 'world', var3, var4, 'world', var5, var6, 'world', var7, var8);
25455  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25456END//
25457delimiter ;//
25458
25459CALL spexecute63();
25460
25461DROP PROCEDURE spexecute63;
25462DROP PROCEDURE sp63;
25463
25464
25465DROP PROCEDURE IF EXISTS sp64;
25466delimiter //;
25467CREATE PROCEDURE sp64( in f1 decimal, inout f2 decimal, out f3 decimal, in f4 decimal, inout f5 decimal, out f6 decimal, in f7 decimal, inout f8 decimal, out f9 decimal, in f10 decimal, inout f11 decimal, out f12 decimal)
25468BEGIN
25469   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f2 / 2); set f3 = (f2 * 2); set f3 = (f2 - 10); set f3 = (f2 + 10);
25470   set f4 = (f4 / 2); set f4 = (f4 * 2); set f4 = (f4 - 10); set f4 = (f4 + 10); set f5 = (f5 / 2); set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f5 / 2); set f6 = (f5 * 2); set f6 = (f5 - 10); set f6 = (f5 + 10);
25471   set f7 = (f7 / 2); set f7 = (f7 * 2); set f7 = (f7 - 10); set f7 = (f7 + 10); set f8 = (f8 / 2); set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f8 / 2); set f9 = (f8 * 2); set f9 = (f8 - 10); set f9 = (f8 + 10);
25472   set f10 = (f10 / 2); set f10 = (f10 * 2); set f10 = (f10 - 10); set f10 = (f10 + 10); set f11 = (f11 / 2); set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f11 / 2); set f12 = (f11 * 2); set f12 = (f11 - 10); set f12 = (f11 + 10);
25473  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25474END//
25475delimiter ;//
25476
25477DROP PROCEDURE IF EXISTS spexecute64;
25478delimiter //;
25479CREATE PROCEDURE spexecute64()
25480BEGIN
25481  declare var1 decimal;
25482  declare var2 decimal;
25483  declare var3 decimal;
25484  declare var4 decimal;
25485  declare var5 decimal;
25486  declare var6 decimal;
25487  declare var7 decimal;
25488  declare var8 decimal;
25489  set var1 = --1.00e+09;
25490  set var3 = --1.00e+09;
25491  set var5 = --1.00e+09;
25492  set var7 = --1.00e+09;
25493  CALL sp64(--1.00e+09, var1, var2, --1.00e+09, var3, var4, --1.00e+09, var5, var6, --1.00e+09, var7, var8);
25494  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25495END//
25496delimiter ;//
25497
25498CALL spexecute64();
25499DROP PROCEDURE spexecute64;
25500DROP PROCEDURE sp64;
25501
25502
25503DROP PROCEDURE IF EXISTS sp65;
25504delimiter //;
25505CREATE PROCEDURE sp65( in f1 decimal (0, 0) unsigned zerofill, inout f2 decimal (0, 0) unsigned zerofill, out f3 decimal (0, 0) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25506BEGIN
25507   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25508   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25509   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25510   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25511  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25512END//
25513delimiter ;//
25514
25515DROP PROCEDURE IF EXISTS spexecute65;
25516delimiter //;
25517CREATE PROCEDURE spexecute65()
25518BEGIN
25519  declare var1 decimal (0, 0) unsigned zerofill;
25520  declare var2 decimal (0, 0) unsigned zerofill;
25521  declare var3 bigint;
25522  declare var4 bigint;
25523  declare var5 bigint;
25524  declare var6 bigint;
25525  declare var7 bigint;
25526  declare var8 bigint;
25527  set var1 = 999999999;
25528  set var3 = -9.22e+18;
25529  set var5 = -9.22e+18;
25530  set var7 = -9.22e+18;
25531  CALL sp65(999999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25532  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25533END//
25534delimiter ;//
25535
25536CALL spexecute65();
25537DROP PROCEDURE spexecute65;
25538DROP PROCEDURE sp65;
25539
25540
25541DROP PROCEDURE IF EXISTS sp66;
25542delimiter //;
25543CREATE PROCEDURE sp66( in f1 decimal (63, 30) unsigned, inout f2 decimal (63, 30) unsigned, out f3 decimal (63, 30) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25544BEGIN
25545   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25546   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25547   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25548   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25549  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25550END//
25551delimiter ;//
25552
25553DROP PROCEDURE IF EXISTS spexecute66;
25554delimiter //;
25555CREATE PROCEDURE spexecute66()
25556BEGIN
25557  declare var1 decimal (63, 30) unsigned;
25558  declare var2 decimal (63, 30) unsigned;
25559  declare var3 bigint;
25560  declare var4 bigint;
25561  declare var5 bigint;
25562  declare var6 bigint;
25563  declare var7 bigint;
25564  declare var8 bigint;
25565  set var1 = 1.00e+16;
25566  set var3 = -9.22e+18;
25567  set var5 = -9.22e+18;
25568  set var7 = -9.22e+18;
25569  CALL sp66(1.00e+16, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25570  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25571END//
25572delimiter ;//
25573
25574CALL spexecute66();
25575DROP PROCEDURE spexecute66;
25576DROP PROCEDURE sp66;
25577
25578
25579DROP PROCEDURE IF EXISTS sp67;
25580delimiter //;
25581CREATE PROCEDURE sp67( in f1 decimal (63, 30) unsigned zerofill, inout f2 decimal (63, 30) unsigned zerofill, out f3 decimal (63, 30) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25582BEGIN
25583   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25584   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25585   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25586   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25587  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25588END//
25589delimiter ;//
25590
25591DROP PROCEDURE IF EXISTS spexecute67;
25592delimiter //;
25593CREATE PROCEDURE spexecute67()
25594BEGIN
25595  declare var1 decimal (63, 30) unsigned zerofill;
25596  declare var2 decimal (63, 30) unsigned zerofill;
25597  declare var3 bigint;
25598  declare var4 bigint;
25599  declare var5 bigint;
25600  declare var6 bigint;
25601  declare var7 bigint;
25602  declare var8 bigint;
25603  set var1 = 1.00e+16;
25604  set var3 = -9.22e+18;
25605  set var5 = -9.22e+18;
25606  set var7 = -9.22e+18;
25607  CALL sp67(1.00e+16, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25608  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25609END//
25610delimiter ;//
25611
25612CALL spexecute67();
25613DROP PROCEDURE spexecute67;
25614DROP PROCEDURE sp67;
25615
25616
25617DROP PROCEDURE IF EXISTS sp68;
25618delimiter //;
25619CREATE PROCEDURE sp68( in f1 decimal (63, 30) zerofill, inout f2 decimal (63, 30) zerofill, out f3 decimal (63, 30) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25620BEGIN
25621   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25622   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25623   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25624   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25625  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25626END//
25627delimiter ;//
25628
25629DROP PROCEDURE IF EXISTS spexecute68;
25630delimiter //;
25631CREATE PROCEDURE spexecute68()
25632BEGIN
25633  declare var1 decimal (63, 30) zerofill;
25634  declare var2 decimal (63, 30) zerofill;
25635  declare var3 bigint;
25636  declare var4 bigint;
25637  declare var5 bigint;
25638  declare var6 bigint;
25639  declare var7 bigint;
25640  declare var8 bigint;
25641  set var1 = -1.00e+21;
25642  set var3 = -9.22e+18;
25643  set var5 = -9.22e+18;
25644  set var7 = -9.22e+18;
25645  CALL sp68(-1.00e+21, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25646  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25647END//
25648delimiter ;//
25649
25650CALL spexecute68();
25651DROP PROCEDURE spexecute68;
25652DROP PROCEDURE sp68;
25653
25654
25655DROP PROCEDURE IF EXISTS sp69;
25656delimiter //;
25657CREATE PROCEDURE sp69( in f1 decimal (64), inout f2 decimal (64), out f3 decimal (64), in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25658BEGIN
25659   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25660   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25661   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25662   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25663  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25664END//
25665delimiter ;//
25666
25667DROP PROCEDURE IF EXISTS spexecute69;
25668delimiter //;
25669eval CREATE PROCEDURE spexecute69()
25670BEGIN
25671  declare var1 decimal (64);
25672  declare var2 decimal (64);
25673  declare var3 bigint;
25674  declare var4 bigint;
25675  declare var5 bigint;
25676  declare var6 bigint;
25677  declare var7 bigint;
25678  declare var8 bigint;
25679  set var1 = $procvar01_m30;
25680  set var3 = $procvar03;
25681  set var5 = $procvar05;
25682  set var7 = $procvar07;
25683  CALL sp69($callvar01m, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
25684  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25685END//
25686delimiter ;//
25687
25688CALL spexecute69();
25689DROP PROCEDURE spexecute69;
25690DROP PROCEDURE sp69;
25691
25692
25693DROP PROCEDURE IF EXISTS sp70;
25694delimiter //;
25695CREATE PROCEDURE sp70( in f1 decimal (64) unsigned, inout f2 decimal (64) unsigned, out f3 decimal (64) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25696BEGIN
25697   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25698   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25699   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25700   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25701  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25702END//
25703delimiter ;//
25704
25705DROP PROCEDURE IF EXISTS spexecute70;
25706delimiter //;
25707eval CREATE PROCEDURE spexecute70()
25708BEGIN
25709  declare var1 decimal (64) unsigned;
25710  declare var2 decimal (64) unsigned;
25711  declare var3 bigint;
25712  declare var4 bigint;
25713  declare var5 bigint;
25714  declare var6 bigint;
25715  declare var7 bigint;
25716  declare var8 bigint;
25717  set var1 = $procvar01_20;
25718  set var3 = $procvar03;
25719  set var5 = $procvar05;
25720  set var7 = $procvar07;
25721  CALL sp70($callvar01p, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
25722  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25723END//
25724delimiter ;//
25725
25726CALL spexecute70();
25727DROP PROCEDURE spexecute70;
25728DROP PROCEDURE sp70;
25729
25730
25731DROP PROCEDURE IF EXISTS sp71;
25732delimiter //;
25733CREATE PROCEDURE sp71( in f1 decimal (64) unsigned zerofill, inout f2 decimal (64) unsigned zerofill, out f3 decimal (64) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25734BEGIN
25735   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25736   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25737   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25738   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25739  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25740END//
25741delimiter ;//
25742
25743DROP PROCEDURE IF EXISTS spexecute71;
25744delimiter //;
25745eval CREATE PROCEDURE spexecute71()
25746BEGIN
25747  declare var1 decimal (64) unsigned zerofill;
25748  declare var2 decimal (64) unsigned zerofill;
25749  declare var3 bigint;
25750  declare var4 bigint;
25751  declare var5 bigint;
25752  declare var6 bigint;
25753  declare var7 bigint;
25754  declare var8 bigint;
25755  set var1 = $procvar01_24;
25756  set var3 = $procvar03;
25757  set var5 = $procvar05;
25758  set var7 = $procvar07;
25759  CALL sp71($callvar01p, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
25760  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25761END//
25762delimiter ;//
25763
25764CALL spexecute71();
25765DROP PROCEDURE spexecute71;
25766DROP PROCEDURE sp71;
25767
25768
25769DROP PROCEDURE IF EXISTS sp72;
25770delimiter //;
25771CREATE PROCEDURE sp72( in f1 decimal (64) zerofill, inout f2 decimal (64) zerofill, out f3 decimal (64) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25772BEGIN
25773   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25774   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25775   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25776   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25777  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25778END//
25779delimiter ;//
25780
25781DROP PROCEDURE IF EXISTS spexecute72;
25782delimiter //;
25783CREATE PROCEDURE spexecute72()
25784BEGIN
25785  declare var1 decimal (64) zerofill;
25786  declare var2 decimal (64) zerofill;
25787  declare var3 bigint;
25788  declare var4 bigint;
25789  declare var5 bigint;
25790  declare var6 bigint;
25791  declare var7 bigint;
25792  declare var8 bigint;
25793  set var1 = 1.00e+00;
25794  set var3 = -9.22e+18;
25795  set var5 = -9.22e+18;
25796  set var7 = -9.22e+18;
25797  CALL sp72(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25798  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25799END//
25800delimiter ;//
25801
25802CALL spexecute72();
25803DROP PROCEDURE spexecute72;
25804DROP PROCEDURE sp72;
25805
25806
25807DROP PROCEDURE IF EXISTS sp73;
25808delimiter //;
25809CREATE PROCEDURE sp73( in f1 decimal unsigned, inout f2 decimal unsigned, out f3 decimal unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25810BEGIN
25811   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25812   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25813   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25814   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25815  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25816END//
25817delimiter ;//
25818
25819DROP PROCEDURE IF EXISTS spexecute73;
25820delimiter //;
25821CREATE PROCEDURE spexecute73()
25822BEGIN
25823  declare var1 decimal unsigned;
25824  declare var2 decimal unsigned;
25825  declare var3 bigint;
25826  declare var4 bigint;
25827  declare var5 bigint;
25828  declare var6 bigint;
25829  declare var7 bigint;
25830  declare var8 bigint;
25831  set var1 = 1.00e+00;
25832  set var3 = -9.22e+18;
25833  set var5 = -9.22e+18;
25834  set var7 = -9.22e+18;
25835  CALL sp73(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25836  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25837END//
25838delimiter ;//
25839
25840CALL spexecute73();
25841DROP PROCEDURE spexecute73;
25842DROP PROCEDURE sp73;
25843
25844
25845DROP PROCEDURE IF EXISTS sp74;
25846delimiter //;
25847CREATE PROCEDURE sp74( in f1 decimal unsigned zerofill, inout f2 decimal unsigned zerofill, out f3 decimal unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25848BEGIN
25849   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25850   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25851   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25852   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25853  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25854END//
25855delimiter ;//
25856
25857DROP PROCEDURE IF EXISTS spexecute74;
25858delimiter //;
25859CREATE PROCEDURE spexecute74()
25860BEGIN
25861  declare var1 decimal unsigned zerofill;
25862  declare var2 decimal unsigned zerofill;
25863  declare var3 bigint;
25864  declare var4 bigint;
25865  declare var5 bigint;
25866  declare var6 bigint;
25867  declare var7 bigint;
25868  declare var8 bigint;
25869  set var1 = 1.00e+00;
25870  set var3 = -9.22e+18;
25871  set var5 = -9.22e+18;
25872  set var7 = -9.22e+18;
25873  CALL sp74(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25874  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25875END//
25876delimiter ;//
25877
25878CALL spexecute74();
25879DROP PROCEDURE spexecute74;
25880DROP PROCEDURE sp74;
25881
25882
25883DROP PROCEDURE IF EXISTS sp75;
25884delimiter //;
25885CREATE PROCEDURE sp75( in f1 decimal zerofill, inout f2 decimal zerofill, out f3 decimal zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25886BEGIN
25887   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25888   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25889   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25890   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25891  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25892END//
25893delimiter ;//
25894
25895DROP PROCEDURE IF EXISTS spexecute75;
25896delimiter //;
25897CREATE PROCEDURE spexecute75()
25898BEGIN
25899  declare var1 decimal zerofill;
25900  declare var2 decimal zerofill;
25901  declare var3 bigint;
25902  declare var4 bigint;
25903  declare var5 bigint;
25904  declare var6 bigint;
25905  declare var7 bigint;
25906  declare var8 bigint;
25907  set var1 = -1.00e+09;
25908  set var3 = -9.22e+18;
25909  set var5 = -9.22e+18;
25910  set var7 = -9.22e+18;
25911  CALL sp75(-1.00e+09, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25912  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25913END//
25914delimiter ;//
25915
25916CALL spexecute75();
25917DROP PROCEDURE spexecute75;
25918DROP PROCEDURE sp75;
25919
25920
25921DROP PROCEDURE IF EXISTS sp76;
25922delimiter //;
25923CREATE PROCEDURE sp76( in f1 float(0) unsigned zerofill, inout f2 float(0) unsigned zerofill, out f3 float(0) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25924BEGIN
25925   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25926   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25927   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25928   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25929  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25930END//
25931delimiter ;//
25932
25933DROP PROCEDURE IF EXISTS spexecute76;
25934delimiter //;
25935CREATE PROCEDURE spexecute76()
25936BEGIN
25937  declare var1 float(0) unsigned zerofill;
25938  declare var2 float(0) unsigned zerofill;
25939  declare var3 bigint;
25940  declare var4 bigint;
25941  declare var5 bigint;
25942  declare var6 bigint;
25943  declare var7 bigint;
25944  declare var8 bigint;
25945  set var1 = 1.00e+00;
25946  set var3 = -9.22e+18;
25947  set var5 = -9.22e+18;
25948  set var7 = -9.22e+18;
25949  CALL sp76(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25950  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25951END//
25952delimiter ;//
25953
25954CALL spexecute76();
25955DROP PROCEDURE spexecute76;
25956DROP PROCEDURE sp76;
25957
25958
25959DROP PROCEDURE IF EXISTS sp77;
25960delimiter //;
25961CREATE PROCEDURE sp77( in f1 float(23) unsigned zerofill, inout f2 float(23) unsigned zerofill, out f3 float(23) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
25962BEGIN
25963   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
25964   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
25965   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
25966   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
25967  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
25968END//
25969delimiter ;//
25970
25971DROP PROCEDURE IF EXISTS spexecute77;
25972delimiter //;
25973CREATE PROCEDURE spexecute77()
25974BEGIN
25975  declare var1 float(23) unsigned zerofill;
25976  declare var2 float(23) unsigned zerofill;
25977  declare var3 bigint;
25978  declare var4 bigint;
25979  declare var5 bigint;
25980  declare var6 bigint;
25981  declare var7 bigint;
25982  declare var8 bigint;
25983  set var1 = 1.00e+00;
25984  set var3 = -9.22e+18;
25985  set var5 = -9.22e+18;
25986  set var7 = -9.22e+18;
25987  CALL sp77(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
25988  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
25989END//
25990delimiter ;//
25991
25992CALL spexecute77();
25993DROP PROCEDURE spexecute77;
25994DROP PROCEDURE sp77;
25995
25996
25997DROP PROCEDURE IF EXISTS sp78;
25998delimiter //;
25999CREATE PROCEDURE sp78( in f1 float(24) unsigned zerofill, inout f2 float(24) unsigned zerofill, out f3 float(24) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26000BEGIN
26001   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26002   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26003   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26004   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26005  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26006END//
26007delimiter ;//
26008
26009DROP PROCEDURE IF EXISTS spexecute78;
26010delimiter //;
26011CREATE PROCEDURE spexecute78()
26012BEGIN
26013  declare var1 float(24) unsigned zerofill;
26014  declare var2 float(24) unsigned zerofill;
26015  declare var3 bigint;
26016  declare var4 bigint;
26017  declare var5 bigint;
26018  declare var6 bigint;
26019  declare var7 bigint;
26020  declare var8 bigint;
26021  set var1 = 1.00e+00;
26022  set var3 = -9.22e+18;
26023  set var5 = -9.22e+18;
26024  set var7 = -9.22e+18;
26025  CALL sp78(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26026  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26027END//
26028delimiter ;//
26029
26030CALL spexecute78();
26031DROP PROCEDURE spexecute78;
26032DROP PROCEDURE sp78;
26033
26034
26035DROP PROCEDURE IF EXISTS sp79;
26036delimiter //;
26037CREATE PROCEDURE sp79( in f1 float(53) unsigned zerofill, inout f2 float(53) unsigned zerofill, out f3 float(53) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26038BEGIN
26039   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26040   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26041   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26042   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26043  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26044END//
26045delimiter ;//
26046
26047DROP PROCEDURE IF EXISTS spexecute79;
26048delimiter //;
26049CREATE PROCEDURE spexecute79()
26050BEGIN
26051  declare var1 float(53) unsigned zerofill;
26052  declare var2 float(53) unsigned zerofill;
26053  declare var3 bigint;
26054  declare var4 bigint;
26055  declare var5 bigint;
26056  declare var6 bigint;
26057  declare var7 bigint;
26058  declare var8 bigint;
26059  set var1 = 1.00e+00;
26060  set var3 = -9.22e+18;
26061  set var5 = -9.22e+18;
26062  set var7 = -9.22e+18;
26063  CALL sp79(1.00e+00, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26064  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26065END//
26066delimiter ;//
26067
26068CALL spexecute79();
26069DROP PROCEDURE spexecute79;
26070DROP PROCEDURE sp79;
26071
26072
26073DROP PROCEDURE IF EXISTS sp80;
26074delimiter //;
26075CREATE PROCEDURE sp80( in f1 int, inout f2 int, out f3 int, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26076BEGIN
26077   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26078   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26079   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26080   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26081  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26082END//
26083delimiter ;//
26084
26085DROP PROCEDURE IF EXISTS spexecute80;
26086delimiter //;
26087CREATE PROCEDURE spexecute80()
26088BEGIN
26089  declare var1 int;
26090  declare var2 int;
26091  declare var3 bigint;
26092  declare var4 bigint;
26093  declare var5 bigint;
26094  declare var6 bigint;
26095  declare var7 bigint;
26096  declare var8 bigint;
26097  set var1 = -2.15e+09;
26098  set var3 = -9.22e+18;
26099  set var5 = -9.22e+18;
26100  set var7 = -9.22e+18;
26101  CALL sp80(-2.15e+09, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26102  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26103END//
26104delimiter ;//
26105
26106CALL spexecute80();
26107DROP PROCEDURE spexecute80;
26108DROP PROCEDURE sp80;
26109
26110
26111DROP PROCEDURE IF EXISTS sp81;
26112delimiter //;
26113CREATE PROCEDURE sp81( in f1 int unsigned, inout f2 int unsigned, out f3 int unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26114BEGIN
26115   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26116   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26117   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26118   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26119  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26120END//
26121delimiter ;//
26122
26123DROP PROCEDURE IF EXISTS spexecute81;
26124delimiter //;
26125CREATE PROCEDURE spexecute81()
26126BEGIN
26127  declare var1 int unsigned;
26128  declare var2 int unsigned;
26129  declare var3 bigint;
26130  declare var4 bigint;
26131  declare var5 bigint;
26132  declare var6 bigint;
26133  declare var7 bigint;
26134  declare var8 bigint;
26135  set var1 = 4.29e+09;
26136  set var3 = -9.22e+18;
26137  set var5 = -9.22e+18;
26138  set var7 = -9.22e+18;
26139  CALL sp81(4.29e+09, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26140  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26141END//
26142delimiter ;//
26143
26144CALL spexecute81();
26145DROP PROCEDURE spexecute81;
26146DROP PROCEDURE sp81;
26147
26148
26149DROP PROCEDURE IF EXISTS sp82;
26150delimiter //;
26151CREATE PROCEDURE sp82( in f1 int unsigned zerofill, inout f2 int unsigned zerofill, out f3 int unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26152BEGIN
26153   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26154   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26155   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26156   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26157  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26158END//
26159delimiter ;//
26160
26161DROP PROCEDURE IF EXISTS spexecute82;
26162delimiter //;
26163CREATE PROCEDURE spexecute82()
26164BEGIN
26165  declare var1 int unsigned zerofill;
26166  declare var2 int unsigned zerofill;
26167  declare var3 bigint;
26168  declare var4 bigint;
26169  declare var5 bigint;
26170  declare var6 bigint;
26171  declare var7 bigint;
26172  declare var8 bigint;
26173  set var1 = 4.29e+09;
26174  set var3 = -9.22e+18;
26175  set var5 = -9.22e+18;
26176  set var7 = -9.22e+18;
26177  CALL sp82(4.29e+09, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26178  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26179END//
26180delimiter ;//
26181
26182CALL spexecute82();
26183DROP PROCEDURE spexecute82;
26184DROP PROCEDURE sp82;
26185
26186
26187DROP PROCEDURE IF EXISTS sp83;
26188delimiter //;
26189CREATE PROCEDURE sp83( in f1 int zerofill, inout f2 int zerofill, out f3 int zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26190BEGIN
26191   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26192   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26193   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26194   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26195  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26196END//
26197delimiter ;//
26198
26199DROP PROCEDURE IF EXISTS spexecute83;
26200delimiter //;
26201CREATE PROCEDURE spexecute83()
26202BEGIN
26203  declare var1 int zerofill;
26204  declare var2 int zerofill;
26205  declare var3 bigint;
26206  declare var4 bigint;
26207  declare var5 bigint;
26208  declare var6 bigint;
26209  declare var7 bigint;
26210  declare var8 bigint;
26211  set var1 = 2.15e+08;
26212  set var3 = -9.22e+18;
26213  set var5 = -9.22e+18;
26214  set var7 = -9.22e+18;
26215  CALL sp83(2.15e+08, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26216  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26217END//
26218delimiter ;//
26219
26220CALL spexecute83();
26221DROP PROCEDURE spexecute83;
26222DROP PROCEDURE sp83;
26223
26224
26225DROP PROCEDURE IF EXISTS sp84;
26226delimiter //;
26227CREATE PROCEDURE sp84( in f1 mediumint, inout f2 mediumint, out f3 mediumint, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26228BEGIN
26229   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26230   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26231   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26232   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26233  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26234END//
26235delimiter ;//
26236
26237DROP PROCEDURE IF EXISTS spexecute84;
26238delimiter //;
26239CREATE PROCEDURE spexecute84()
26240BEGIN
26241  declare var1 mediumint;
26242  declare var2 mediumint;
26243  declare var3 bigint;
26244  declare var4 bigint;
26245  declare var5 bigint;
26246  declare var6 bigint;
26247  declare var7 bigint;
26248  declare var8 bigint;
26249  set var1 = -8388600;
26250  set var3 = -9.22e+18;
26251  set var5 = -9.22e+18;
26252  set var7 = -9.22e+18;
26253  CALL sp84(-8388600, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26254  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26255END//
26256delimiter ;//
26257
26258CALL spexecute84();
26259DROP PROCEDURE spexecute84;
26260DROP PROCEDURE sp84;
26261
26262
26263DROP PROCEDURE IF EXISTS sp85;
26264delimiter //;
26265CREATE PROCEDURE sp85( in f1 mediumint unsigned, inout f2 mediumint unsigned, out f3 mediumint unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26266BEGIN
26267   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26268   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26269   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26270   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26271  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26272END//
26273delimiter ;//
26274
26275DROP PROCEDURE IF EXISTS spexecute85;
26276delimiter //;
26277CREATE PROCEDURE spexecute85()
26278BEGIN
26279  declare var1 mediumint unsigned;
26280  declare var2 mediumint unsigned;
26281  declare var3 bigint;
26282  declare var4 bigint;
26283  declare var5 bigint;
26284  declare var6 bigint;
26285  declare var7 bigint;
26286  declare var8 bigint;
26287  set var1 = 16777201;
26288  set var3 = -9.22e+18;
26289  set var5 = -9.22e+18;
26290  set var7 = -9.22e+18;
26291  CALL sp85(16777201, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26292  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26293END//
26294delimiter ;//
26295
26296CALL spexecute85();
26297DROP PROCEDURE spexecute85;
26298DROP PROCEDURE sp85;
26299
26300
26301DROP PROCEDURE IF EXISTS sp86;
26302delimiter //;
26303CREATE PROCEDURE sp86( in f1 mediumint unsigned zerofill, inout f2 mediumint unsigned zerofill, out f3 mediumint unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26304BEGIN
26305   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26306   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26307   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26308   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26309  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26310END//
26311delimiter ;//
26312
26313DROP PROCEDURE IF EXISTS spexecute86;
26314delimiter //;
26315CREATE PROCEDURE spexecute86()
26316BEGIN
26317  declare var1 mediumint unsigned zerofill;
26318  declare var2 mediumint unsigned zerofill;
26319  declare var3 bigint;
26320  declare var4 bigint;
26321  declare var5 bigint;
26322  declare var6 bigint;
26323  declare var7 bigint;
26324  declare var8 bigint;
26325  set var1 = 16777210;
26326  set var3 = -9.22e+18;
26327  set var5 = -9.22e+18;
26328  set var7 = -9.22e+18;
26329  CALL sp86(16777210, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26330  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26331END//
26332delimiter ;//
26333
26334CALL spexecute86();
26335DROP PROCEDURE spexecute86;
26336DROP PROCEDURE sp86;
26337
26338
26339DROP PROCEDURE IF EXISTS sp87;
26340delimiter //;
26341CREATE PROCEDURE sp87( in f1 mediumint zerofill, inout f2 mediumint zerofill, out f3 mediumint zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26342BEGIN
26343   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26344   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26345   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26346   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26347  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26348END//
26349delimiter ;//
26350
26351DROP PROCEDURE IF EXISTS spexecute87;
26352delimiter //;
26353CREATE PROCEDURE spexecute87()
26354BEGIN
26355  declare var1 mediumint zerofill;
26356  declare var2 mediumint zerofill;
26357  declare var3 bigint;
26358  declare var4 bigint;
26359  declare var5 bigint;
26360  declare var6 bigint;
26361  declare var7 bigint;
26362  declare var8 bigint;
26363  set var1 = -8388601;
26364  set var3 = -9.22e+18;
26365  set var5 = -9.22e+18;
26366  set var7 = -9.22e+18;
26367  CALL sp87(-8388601, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26368  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26369END//
26370delimiter ;//
26371
26372CALL spexecute87();
26373DROP PROCEDURE spexecute87;
26374DROP PROCEDURE sp87;
26375
26376
26377DROP PROCEDURE IF EXISTS sp88;
26378delimiter //;
26379CREATE PROCEDURE sp88( in f1 numeric (0) unsigned zerofill, inout f2 numeric (0) unsigned zerofill, out f3 numeric (0) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26380BEGIN
26381   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26382   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26383   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26384   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26385  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26386END//
26387delimiter ;//
26388
26389DROP PROCEDURE IF EXISTS spexecute88;
26390delimiter //;
26391CREATE PROCEDURE spexecute88()
26392BEGIN
26393  declare var1 numeric (0) unsigned zerofill;
26394  declare var2 numeric (0) unsigned zerofill;
26395  declare var3 bigint;
26396  declare var4 bigint;
26397  declare var5 bigint;
26398  declare var6 bigint;
26399  declare var7 bigint;
26400  declare var8 bigint;
26401  set var1 = 99999999;
26402  set var3 = -9.22e+18;
26403  set var5 = -9.22e+18;
26404  set var7 = -9.22e+18;
26405  CALL sp88(99999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26406  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26407END//
26408delimiter ;//
26409
26410CALL spexecute88();
26411DROP PROCEDURE spexecute88;
26412DROP PROCEDURE sp88;
26413
26414
26415DROP PROCEDURE IF EXISTS sp89;
26416delimiter //;
26417CREATE PROCEDURE sp89( in f1 numeric (0, 0) unsigned zerofill, inout f2 numeric (0, 0) unsigned zerofill, out f3 numeric (0, 0) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26418BEGIN
26419   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26420   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26421   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26422   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26423  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26424END//
26425delimiter ;//
26426
26427DROP PROCEDURE IF EXISTS spexecute89;
26428delimiter //;
26429CREATE PROCEDURE spexecute89()
26430BEGIN
26431  declare var1 numeric (0, 0) unsigned zerofill;
26432  declare var2 numeric (0, 0) unsigned zerofill;
26433  declare var3 bigint;
26434  declare var4 bigint;
26435  declare var5 bigint;
26436  declare var6 bigint;
26437  declare var7 bigint;
26438  declare var8 bigint;
26439  set var1 = 99999999;
26440  set var3 = -9.22e+18;
26441  set var5 = -9.22e+18;
26442  set var7 = -9.22e+18;
26443  CALL sp89(99999999, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26444  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26445END//
26446delimiter ;//
26447
26448CALL spexecute89();
26449DROP PROCEDURE spexecute89;
26450DROP PROCEDURE sp89;
26451
26452
26453DROP PROCEDURE IF EXISTS sp90;
26454delimiter //;
26455CREATE PROCEDURE sp90( in f1 numeric (63, 30) unsigned, inout f2 numeric (63, 30) unsigned, out f3 numeric (63, 30) unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26456BEGIN
26457   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26458   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26459   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26460   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26461  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26462END//
26463delimiter ;//
26464
26465DROP PROCEDURE IF EXISTS spexecute90;
26466delimiter //;
26467eval CREATE PROCEDURE spexecute90()
26468BEGIN
26469  declare var1 numeric (63, 30) unsigned;
26470  declare var2 numeric (63, 30) unsigned;
26471  declare var3 bigint;
26472  declare var4 bigint;
26473  declare var5 bigint;
26474  declare var6 bigint;
26475  declare var7 bigint;
26476  declare var8 bigint;
26477  set var1 = $procvar01_36;
26478  set var3 = $procvar03;
26479  set var5 = $procvar05;
26480  set var7 = $procvar07;
26481  CALL sp90($callvar01p, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
26482  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26483END//
26484delimiter ;//
26485
26486#FIXME: hpux11 - check later again with E+40
26487CALL spexecute90();
26488DROP PROCEDURE spexecute90;
26489DROP PROCEDURE sp90;
26490
26491
26492DROP PROCEDURE IF EXISTS sp91;
26493delimiter //;
26494CREATE PROCEDURE sp91( in f1 numeric (63, 30) unsigned zerofill, inout f2 numeric (63, 30) unsigned zerofill, out f3 numeric (63, 30) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26495BEGIN
26496   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26497   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26498   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26499   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26500  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26501END//
26502delimiter ;//
26503
26504DROP PROCEDURE IF EXISTS spexecute91;
26505delimiter //;
26506eval CREATE PROCEDURE spexecute91()
26507BEGIN
26508  declare var1 numeric (63, 30) unsigned zerofill;
26509  declare var2 numeric (63, 30) unsigned zerofill;
26510  declare var3 bigint;
26511  declare var4 bigint;
26512  declare var5 bigint;
26513  declare var6 bigint;
26514  declare var7 bigint;
26515  declare var8 bigint;
26516  set var1 = $procvar01_36;
26517  set var3 = $procvar03;
26518  set var5 = $procvar05;
26519  set var7 = $procvar07;
26520  CALL sp91($callvar01p, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
26521  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26522END//
26523delimiter ;//
26524
26525#FIXME: hpux11 - check later again with E+40
26526CALL spexecute91();
26527DROP PROCEDURE spexecute91;
26528DROP PROCEDURE sp91;
26529
26530
26531DROP PROCEDURE IF EXISTS sp92;
26532delimiter //;
26533CREATE PROCEDURE sp92( in f1 numeric (63, 30) zerofill, inout f2 numeric (63, 30) zerofill, out f3 numeric (63, 30) zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26534BEGIN
26535   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26536   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26537   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26538   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26539  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26540END//
26541delimiter ;//
26542
26543DROP PROCEDURE IF EXISTS spexecute92;
26544delimiter //;
26545eval CREATE PROCEDURE spexecute92()
26546BEGIN
26547  declare var1 numeric (63, 30) zerofill;
26548  declare var2 numeric (63, 30) zerofill;
26549  declare var3 bigint;
26550  declare var4 bigint;
26551  declare var5 bigint;
26552  declare var6 bigint;
26553  declare var7 bigint;
26554  declare var8 bigint;
26555  set var1 = $procvar01_m36;
26556  set var3 = $procvar03;
26557  set var5 = $procvar05;
26558  set var7 = $procvar07;
26559  CALL sp92($callvar01m, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
26560  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26561END//
26562delimiter ;//
26563
26564CALL spexecute92();
26565DROP PROCEDURE spexecute92;
26566DROP PROCEDURE sp92;
26567
26568
26569DROP PROCEDURE IF EXISTS sp93;
26570delimiter //;
26571CREATE PROCEDURE sp93( in f1 numeric (64) unsigned zerofill, inout f2 numeric (64) unsigned zerofill, out f3 numeric (64) unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26572BEGIN
26573   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26574   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26575   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26576   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26577  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26578END//
26579delimiter ;//
26580
26581DROP PROCEDURE IF EXISTS spexecute93;
26582delimiter //;
26583eval CREATE PROCEDURE spexecute93()
26584BEGIN
26585  declare var1 numeric (64) unsigned zerofill;
26586  declare var2 numeric (64) unsigned zerofill;
26587  declare var3 bigint;
26588  declare var4 bigint;
26589  declare var5 bigint;
26590  declare var6 bigint;
26591  declare var7 bigint;
26592  declare var8 bigint;
26593  set var1 = $procvar01_40;
26594  set var3 = $procvar03;
26595  set var5 = $procvar05;
26596  set var7 = $procvar07;
26597  CALL sp93($callvar01p, var1, var2, $callvar02, var3, var4, $callvar03, var5, var6, -9.22e+18, var7, var8);
26598  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26599END//
26600delimiter ;//
26601
26602CALL spexecute93();
26603DROP PROCEDURE spexecute93;
26604DROP PROCEDURE sp93;
26605
26606
26607DROP PROCEDURE IF EXISTS sp94;
26608delimiter //;
26609CREATE PROCEDURE sp94( in f1 smallint, inout f2 smallint, out f3 smallint, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26610BEGIN
26611   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26612   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26613   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26614   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26615  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26616END//
26617delimiter ;//
26618
26619DROP PROCEDURE IF EXISTS spexecute94;
26620delimiter //;
26621CREATE PROCEDURE spexecute94()
26622BEGIN
26623  declare var1 smallint;
26624  declare var2 smallint;
26625  declare var3 bigint;
26626  declare var4 bigint;
26627  declare var5 bigint;
26628  declare var6 bigint;
26629  declare var7 bigint;
26630  declare var8 bigint;
26631  set var1 = -32701;
26632  set var3 = -9.22e+18;
26633  set var5 = -9.22e+18;
26634  set var7 = -9.22e+18;
26635  CALL sp94(-32701, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26636  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26637END//
26638delimiter ;//
26639
26640CALL spexecute94();
26641DROP PROCEDURE spexecute94;
26642DROP PROCEDURE sp94;
26643
26644
26645DROP PROCEDURE IF EXISTS sp95;
26646delimiter //;
26647CREATE PROCEDURE sp95( in f1 smallint unsigned, inout f2 smallint unsigned, out f3 smallint unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26648BEGIN
26649   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26650   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26651   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26652   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26653  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26654END//
26655delimiter ;//
26656
26657DROP PROCEDURE IF EXISTS spexecute95;
26658delimiter //;
26659CREATE PROCEDURE spexecute95()
26660BEGIN
26661  declare var1 smallint unsigned;
26662  declare var2 smallint unsigned;
26663  declare var3 bigint;
26664  declare var4 bigint;
26665  declare var5 bigint;
26666  declare var6 bigint;
26667  declare var7 bigint;
26668  declare var8 bigint;
26669  set var1 = 65531;
26670  set var3 = -9.22e+18;
26671  set var5 = -9.22e+18;
26672  set var7 = -9.22e+18;
26673  CALL sp95(65531, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26674  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26675END//
26676delimiter ;//
26677
26678CALL spexecute95();
26679DROP PROCEDURE spexecute95;
26680DROP PROCEDURE sp95;
26681
26682
26683DROP PROCEDURE IF EXISTS sp96;
26684delimiter //;
26685CREATE PROCEDURE sp96( in f1 smallint unsigned zerofill, inout f2 smallint unsigned zerofill, out f3 smallint unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26686BEGIN
26687   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26688   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26689   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26690   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26691   SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26692END//
26693delimiter ;//
26694
26695DROP PROCEDURE IF EXISTS spexecute96;
26696delimiter //;
26697CREATE PROCEDURE spexecute96()
26698BEGIN
26699  declare var1 smallint unsigned zerofill;
26700  declare var2 smallint unsigned zerofill;
26701  declare var3 bigint;
26702  declare var4 bigint;
26703  declare var5 bigint;
26704  declare var6 bigint;
26705  declare var7 bigint;
26706  declare var8 bigint;
26707  set var1 = 65531;
26708  set var3 = -9.22e+18;
26709  set var5 = -9.22e+18;
26710  set var7 = -9.22e+18;
26711  CALL sp96(65531, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26712  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26713END//
26714delimiter ;//
26715
26716CALL spexecute96();
26717DROP PROCEDURE spexecute96;
26718DROP PROCEDURE sp96;
26719
26720
26721DROP PROCEDURE IF EXISTS sp97;
26722delimiter //;
26723CREATE PROCEDURE sp97( in f1 smallint zerofill, inout f2 smallint zerofill, out f3 smallint zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26724BEGIN
26725   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26726   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26727   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26728   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26729  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26730END//
26731delimiter ;//
26732
26733DROP PROCEDURE IF EXISTS spexecute97;
26734delimiter //;
26735CREATE PROCEDURE spexecute97()
26736BEGIN
26737  declare var1 smallint zerofill;
26738  declare var2 smallint zerofill;
26739  declare var3 bigint;
26740  declare var4 bigint;
26741  declare var5 bigint;
26742  declare var6 bigint;
26743  declare var7 bigint;
26744  declare var8 bigint;
26745  set var1 = -32601;
26746  set var3 = -9.22e+18;
26747  set var5 = -9.22e+18;
26748  set var7 = -9.22e+18;
26749  CALL sp97(-32601, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26750  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26751END//
26752delimiter ;//
26753
26754CALL spexecute97();
26755DROP PROCEDURE spexecute97;
26756DROP PROCEDURE sp97;
26757
26758
26759DROP PROCEDURE IF EXISTS sp98;
26760delimiter //;
26761CREATE PROCEDURE sp98( in f1 tinyint, inout f2 tinyint, out f3 tinyint, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26762BEGIN
26763   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26764   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26765   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26766   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26767  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26768END//
26769delimiter ;//
26770
26771DROP PROCEDURE IF EXISTS spexecute98;
26772delimiter //;
26773CREATE PROCEDURE spexecute98()
26774BEGIN
26775  declare var1 tinyint;
26776  declare var2 tinyint;
26777  declare var3 bigint;
26778  declare var4 bigint;
26779  declare var5 bigint;
26780  declare var6 bigint;
26781  declare var7 bigint;
26782  declare var8 bigint;
26783  set var1 = -115;
26784  set var3 = -9.22e+18;
26785  set var5 = -9.22e+18;
26786  set var7 = -9.22e+18;
26787  CALL sp98(-115, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26788  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26789END//
26790delimiter ;//
26791
26792CALL spexecute98();
26793DROP PROCEDURE spexecute98;
26794DROP PROCEDURE sp98;
26795
26796
26797DROP PROCEDURE IF EXISTS sp99;
26798delimiter //;
26799CREATE PROCEDURE sp99( in f1 tinyint unsigned, inout f2 tinyint unsigned, out f3 tinyint unsigned, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26800BEGIN
26801   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26802   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26803   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26804   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26805  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26806END//
26807delimiter ;//
26808
26809DROP PROCEDURE IF EXISTS spexecute99;
26810delimiter //;
26811CREATE PROCEDURE spexecute99()
26812BEGIN
26813  declare var1 tinyint unsigned;
26814  declare var2 tinyint unsigned;
26815  declare var3 bigint;
26816  declare var4 bigint;
26817  declare var5 bigint;
26818  declare var6 bigint;
26819  declare var7 bigint;
26820  declare var8 bigint;
26821  set var1 = 251;
26822  set var3 = -9.22e+18;
26823  set var5 = -9.22e+18;
26824  set var7 = -9.22e+18;
26825  CALL sp99(251, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26826  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26827END//
26828delimiter ;//
26829
26830CALL spexecute99();
26831DROP PROCEDURE spexecute99;
26832DROP PROCEDURE sp99;
26833
26834
26835DROP PROCEDURE IF EXISTS sp100;
26836delimiter //;
26837CREATE PROCEDURE sp100( in f1 tinyint unsigned zerofill, inout f2 tinyint unsigned zerofill, out f3 tinyint unsigned zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26838BEGIN
26839   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26840   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26841   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26842   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26843   SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26844END//
26845delimiter ;//
26846
26847DROP PROCEDURE IF EXISTS spexecute100;
26848delimiter //;
26849CREATE PROCEDURE spexecute100()
26850BEGIN
26851  declare var1 tinyint unsigned zerofill;
26852  declare var2 tinyint unsigned zerofill;
26853  declare var3 bigint;
26854  declare var4 bigint;
26855  declare var5 bigint;
26856  declare var6 bigint;
26857  declare var7 bigint;
26858  declare var8 bigint;
26859  set var1 = 201;
26860  set var3 = -9.22e+18;
26861  set var5 = -9.22e+18;
26862  set var7 = -9.22e+18;
26863  CALL sp100(201, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26864  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26865END//
26866delimiter ;//
26867
26868CALL spexecute100();
26869DROP PROCEDURE spexecute100;
26870DROP PROCEDURE sp100;
26871
26872
26873DROP PROCEDURE IF EXISTS sp101;
26874delimiter //;
26875CREATE PROCEDURE sp101( in f1 tinyint zerofill, inout f2 tinyint zerofill, out f3 tinyint zerofill, in f4 bigint, inout f5 bigint, out f6 bigint, in f7 bigint, inout f8 bigint, out f9 bigint, in f10 bigint, inout f11 bigint, out f12 bigint)
26876BEGIN
26877   set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10); set f2 = (f2 / 2); set f2 = (f2 * 2); set f2 = (f2 - 10); set f2 = (f2 + 10); set f3 = (f1 / 2); set f3 = (f1 * 2); set f3 = (f1 - 10); set f3 = (f1 + 10);
26878   set f6 = f5; set f5 = (f5 * 2); set f5 = (f5 - 10); set f5 = (f5 + 10); set f6 = (f6 * 2); set f6 = (f6 - 10); set f6 = (f6 + 10);
26879   set f9 = f8; set f8 = (f8 * 2); set f8 = (f8 - 10); set f8 = (f8 + 10); set f9 = (f9 * 2); set f9 = (f9 - 10); set f9 = (f9 + 10);
26880   set f12 = f11; set f11 = (f11 * 2); set f11 = (f11 - 10); set f11 = (f11 + 10); set f12 = (f12 * 2); set f12 = (f12 - 10); set f12 = (f12 + 10);
26881  SELECT f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
26882END//
26883delimiter ;//
26884
26885DROP PROCEDURE IF EXISTS spexecute101;
26886delimiter //;
26887CREATE PROCEDURE spexecute101()
26888BEGIN
26889  declare var1 tinyint zerofill;
26890  declare var2 tinyint zerofill;
26891  declare var3 bigint;
26892  declare var4 bigint;
26893  declare var5 bigint;
26894  declare var6 bigint;
26895  declare var7 bigint;
26896  declare var8 bigint;
26897  set var1 = -101;
26898  set var3 = -9.22e+18;
26899  set var5 = -9.22e+18;
26900  set var7 = -9.22e+18;
26901  CALL sp101(-101, var1, var2, -9.22e+18, var3, var4, -9.22e+18, var5, var6, -9.22e+18, var7, var8);
26902  SELECT var1, var2, var3, var4, var5, var6, var7, var8;
26903END//
26904delimiter ;//
26905
26906CALL spexecute101();
26907DROP PROCEDURE spexecute101;
26908DROP PROCEDURE sp101;
26909
26910USE db_storedproc;
26911DROP DATABASE db1;
26912
26913
26914
26915USE db_storedproc;
26916# ------------------------------------------------------------------------------
26917let $message= Testcase 4.7.2:
26918FIXME: a wrong testcase number and/or description has been detected here. This
26919FIXME: needs to be checked to be sure where the missing testcase is located.
26920.
26921check for "allow_invalid_dates" server sql mode
26922;
26923--source include/show_msg80.inc
26924
26925--disable_warnings
26926DROP PROCEDURE IF EXISTS sp2;
26927drop table IF EXISTS temp_table;
26928--enable_warnings
26929
26930create table temp_table (f1 datetime);
26931
26932set @@sql_mode = 'allow_invalid_dates';
26933
26934delimiter //;
26935CREATE PROCEDURE sp2 ()
26936BEGIN
26937    declare a datetime;
26938    set a = '2005-03-14 01:01:02';
26939    insert into temp_table values(a);
26940END//
26941delimiter ;//
26942
26943show CREATE PROCEDURE sp2;
26944
26945set @@sql_mode = 'traditional';
26946
26947CALL sp2 ();
26948SELECT * from temp_table;
26949
26950SELECT @@sql_mode;
26951
26952# cleanup
26953DROP PROCEDURE sp2;
26954drop table temp_table;
26955
26956
26957# ------------------------------------------------------------------------------
26958let $message= Testcase 4.7.3:
26959FIXME: a wrong testcase number and/or description has been detected here. This
26960FIXME: needs to be checked to be sure where the missing testcase is located.
26961.
26962check for *high_not_precedence* server sql mode
26963;
26964--source include/show_msg80.inc
26965
26966--disable_warnings
26967DROP PROCEDURE IF EXISTS sp3;
26968--enable_warnings
26969
26970set @@sql_mode = 'high_not_precedence';
26971
26972delimiter //;
26973CREATE PROCEDURE sp3()
26974BEGIN
26975    declare a int signed;
26976    declare b int unsigned;
26977    set a = -5;
26978    set b = 5;
26979    SELECT not 1 between a and b;
26980END//
26981delimiter ;//
26982
26983show CREATE PROCEDURE sp3;
26984
26985set @@sql_mode='';
26986
26987CALL sp3();
26988SELECT @@sql_mode;
26989
26990# cleanup
26991DROP PROCEDURE sp3;
26992
26993
26994# ------------------------------------------------------------------------------
26995let $message= Testcase 4.7.4:
26996FIXME: a wrong testcase number and/or description has been detected here. This
26997FIXME: needs to be checked to be sure where the missing testcase is located.
26998.
26999check for combination of server sql modes
27000;
27001--source include/show_msg80.inc
27002
27003--disable_warnings
27004DROP PROCEDURE IF EXISTS sp4;
27005--enable_warnings
27006
27007set @@sql_mode = 'ansi, error_for_division_by_zero';
27008
27009# now set the corrent value:
27010set @@sql_mode = 'ansi,error_for_division_by_zero';
27011
27012SHOW VARIABLES LIKE 'sql_mode';
27013
27014delimiter //;
27015CREATE PROCEDURE sp4()
27016BEGIN
27017    declare a int;
27018    declare b int;
27019    declare c int;
27020    set a = 0;
27021    set b = 1;
27022    set c = b/a;
27023    show warnings;
27024END//
27025delimiter ;//
27026
27027show CREATE PROCEDURE sp4;
27028
27029set @@sql_mode='';
27030
27031CALL sp4();
27032
27033# cleanup
27034DROP PROCEDURE sp4;
27035set @@sql_mode='';
27036
27037
27038# ==============================================================================
27039let $message= Section 3.1.8 - SHOW statement checks:;
27040--source include/show_msg80.inc
27041
27042
27043USE db_storedproc;
27044
27045
27046# ------------------------------------------------------------------------------
27047let $message= Testcase 4.8.1:;
27048--source include/show_msg80.inc
27049
27050# testcase: ensure that the definition of a procedure is properly recorded and displayed when a show create
27051#        procedure statement is executed.
27052
27053--disable_warnings
27054DROP PROCEDURE IF EXISTS sp6;
27055DROP PROCEDURE IF EXISTS sp6a;
27056DROP PROCEDURE IF EXISTS sp6b;
27057DROP PROCEDURE IF EXISTS sp6c;
27058--enable_warnings
27059
27060delimiter //;
27061CREATE PROCEDURE sp6a (i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
27062language sql
27063BEGIN
27064   set @x=i1;
27065   set @y=@x;
27066END//
27067delimiter ;//
27068
27069delimiter //;
27070CREATE PROCEDURE sp6b (out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
27071deterministic
27072BEGIN
27073   set @x=i1;
27074   set @y=@x;
27075END//
27076delimiter ;//
27077
27078delimiter //;
27079CREATE PROCEDURE sp6c (inout i1 longtext, inout  i2 mediumint , inout i3 longblob, inout  i4 year, inout  i5 real) comment 'this is a comment'
27080BEGIN
27081   set @x=i1;
27082   set @y=@x;
27083END//
27084delimiter ;//
27085
27086show CREATE PROCEDURE sp6a;
27087
27088show CREATE PROCEDURE sp6b;
27089
27090show CREATE PROCEDURE sp6c;
27091
27092--replace_column 5 <modified> 6 <created>
27093SHOW PROCEDURE status like 'sp6a';
27094
27095--replace_column 5 <modified> 6 <created>
27096SHOW PROCEDURE status like 'sp6b';
27097
27098--replace_column 5 <modified> 6 <created>
27099SHOW PROCEDURE status like 'sp6c';
27100
27101# cleanup
27102DROP PROCEDURE sp6a;
27103DROP PROCEDURE sp6b;
27104DROP PROCEDURE sp6c;
27105
27106
27107# ------------------------------------------------------------------------------
27108let $message= Testcase 4.8.2:;
27109--source include/show_msg80.inc
27110
27111# testcase: ensure that the definition of a procedure is properly recorded and displayed when a show procedure
27112#      status statement is executed.
27113
27114--disable_warnings
27115DROP PROCEDURE IF EXISTS sp6;
27116--enable_warnings
27117
27118delimiter //;
27119CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27120BEGIN
27121    set @x=i1;
27122      set @y=@x;
27123END//
27124delimiter ;//
27125
27126--replace_column 5 <modified> 6 <created>
27127SHOW PROCEDURE status like 'sp6';
27128
27129# cleanup
27130DROP PROCEDURE sp6;
27131
27132
27133# ------------------------------------------------------------------------------
27134let $message= Testcase 4.8.3:;
27135--source include/show_msg80.inc
27136
27137# testcase: ensure that the definition of a procedure is not displayed when a show create function
27138#      statement is executed.
27139
27140--disable_warnings
27141DROP PROCEDURE IF EXISTS sp6;
27142--enable_warnings
27143
27144delimiter //;
27145CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27146BEGIN
27147    set @x=i1;
27148    set @y=@x;
27149END//
27150delimiter ;//
27151
27152--error ER_SP_DOES_NOT_EXIST
27153SHOW CREATE FUNCTION sp6;
27154
27155# cleanup
27156DROP PROCEDURE sp6;
27157
27158
27159# ------------------------------------------------------------------------------
27160let $message= Testcase 4.8.4:;
27161--source include/show_msg80.inc
27162
27163# testcase: ensure that the definition of a procedure is properly recorded and displayed when a show function
27164#      status statement is executed.
27165
27166--disable_warnings
27167DROP PROCEDURE IF EXISTS sp6;
27168--enable_warnings
27169
27170delimiter //;
27171CREATE FUNCTION sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) returns longtext
27172  BEGIN
27173    set @x=i1;
27174    set @y=@x;
27175    return 0;
27176END//
27177delimiter ;//
27178
27179--replace_column 5 <modified> 6 <created>
27180  show  function status like 'sp6';
27181
27182# cleanup
27183DROP FUNCTION sp6;
27184
27185
27186# ------------------------------------------------------------------------------
27187let $message= Testcase 4.8.5:;
27188--source include/show_msg80.inc
27189
27190# testcase: ensure that the attempt to execute show CREATE PROCEDURE with the name of a non-existing
27191#      procedure fails with an appropriate error message.
27192
27193--disable_warnings
27194DROP PROCEDURE IF EXISTS sp7;
27195--enable_warnings
27196
27197--error ER_SP_DOES_NOT_EXIST
27198  show CREATE PROCEDURE sp7;
27199
27200
27201# ------------------------------------------------------------------------------
27202let $message= Testcase 4.8.6:;
27203--source include/show_msg80.inc
27204
27205# testcase: ensure that the attempt to execute SHOW PROCEDURE status with the name of a non-existing
27206#          procedure returns an empty set.
27207
27208--disable_warnings
27209DROP PROCEDURE IF EXISTS sp6;
27210--enable_warnings
27211
27212    show  procedure status like 'sp6';
27213
27214
27215
27216# ------------------------------------------------------------------------------
27217let $message= Testcase 4.8.7:;
27218--source include/show_msg80.inc
27219
27220# testcase: ensure that an attempt to execute show CREATE PROCEDURE with the name of a function fails
27221#      with an appropriate error message.
27222
27223--disable_warnings
27224DROP FUNCTION IF EXISTS fn1;
27225--enable_warnings
27226
27227delimiter //;
27228CREATE FUNCTION fn1 (i1 real) returns real
27229  BEGIN
27230    return i1;
27231END//
27232delimiter ;//
27233
27234--error ER_SP_DOES_NOT_EXIST
27235  show CREATE PROCEDURE fn1;
27236
27237# cleanup
27238DROP FUNCTION fn1;
27239
27240
27241# ------------------------------------------------------------------------------
27242let $message= Testcase 4.8.8:;
27243--source include/show_msg80.inc
27244
27245# testcase: ensure that an attempt to execute SHOW PROCEDURE status with the name of a
27246#        function returns an empty set.
27247
27248
27249--disable_warnings
27250DROP FUNCTION IF EXISTS fn1;
27251--enable_warnings
27252
27253delimiter //;
27254CREATE FUNCTION fn1 (i1 real) returns real
27255  BEGIN
27256    return i1;
27257END//
27258delimiter ;//
27259
27260--replace_column 5 <modified> 6 <created>
27261  show  procedure status like 'fn1';
27262
27263# cleanup
27264DROP FUNCTION fn1;
27265
27266
27267# ------------------------------------------------------------------------------
27268let $message= Testcase 4.8.9:;
27269--source include/show_msg80.inc
27270
27271# testcase: ensure that the definition of a function is properly recorded and displayed when a
27272#        show CREATE FUNCTION statement is executed.
27273
27274# part of 3.1.8.9
27275
27276# ------------------------------------------------------------------------------
27277let $message= Testcase 4.8.10:;
27278--source include/show_msg80.inc
27279
27280# testcase: ensure that the definition of a function is properly recorded and displayed when a
27281# SHOW FUNCTION status.
27282
27283--disable_warnings
27284DROP FUNCTION IF EXISTS fn1;
27285--enable_warnings
27286
27287delimiter //;
27288CREATE FUNCTION fn1 (i1 real) returns real
27289BEGIN
27290   return i1;
27291END//
27292delimiter ;//
27293
27294--replace_column 5 <modified> 6 <created>
27295SHOW FUNCTION STATUS LIKE 'fn1';
27296
27297# cleanup
27298DROP FUNCTION fn1;
27299
27300
27301# ------------------------------------------------------------------------------
27302let $message= Testcase 4.8.11:;
27303--source include/show_msg80.inc
27304
27305# testcase: ensure that the definition of a function is not displayed when a
27306#        show CREATE PROCEDURE statement is executed.
27307
27308--disable_warnings
27309DROP FUNCTION IF EXISTS fn1;
27310--enable_warnings
27311
27312delimiter //;
27313CREATE FUNCTION fn1 (x int) returns int
27314  BEGIN
27315    return x;
27316END//
27317delimiter ;//
27318
27319--error ER_SP_DOES_NOT_EXIST
27320  show CREATE PROCEDURE fn1;
27321
27322# cleanup
27323DROP FUNCTION fn1;
27324
27325
27326
27327# ------------------------------------------------------------------------------
27328let $message= Testcase 4.8.12:;
27329--source include/show_msg80.inc
27330
27331# testcase: ensure that the attempt to execute show CREATE FUNCTION with the name of a
27332#      non-existing function fails with an appropriate error message.
27333
27334--disable_warnings
27335DROP FUNCTION IF EXISTS fn1;
27336--enable_warnings
27337
27338delimiter //;
27339CREATE FUNCTION fn1(x int) returns int
27340  BEGIN
27341            return x;
27342END//
27343delimiter ;//
27344
27345DROP FUNCTION fn1;
27346
27347--error ER_SP_DOES_NOT_EXIST
27348  show CREATE FUNCTION fn1;
27349
27350
27351
27352# ------------------------------------------------------------------------------
27353let $message= Testcase 4.8.13:;
27354--source include/show_msg80.inc
27355
27356# testcase: ensure that the attempt to execute show function status  with the name of a
27357#      non-existing function returns an empty set.
27358
27359
27360--disable_warnings
27361DROP FUNCTION IF EXISTS f1000;
27362--enable_warnings
27363
27364SHOW FUNCTION STATUS LIKE 'f1000';
27365
27366
27367# ------------------------------------------------------------------------------
27368let $message= Testcase 4.8.14:;
27369--source include/show_msg80.inc
27370
27371# testcase: ensure that an attempt to execute show CREATE FUNCTION with the name of a procedure
27372#        fails with an appropriate error message.
27373
27374--disable_warnings
27375DROP PROCEDURE IF EXISTS sp1;
27376--enable_warnings
27377
27378delimiter //;
27379CREATE PROCEDURE sp1()
27380BEGIN
27381    SELECT * from t8;
27382END//
27383delimiter ;//
27384
27385--error ER_SP_DOES_NOT_EXIST
27386  show CREATE FUNCTION sp1;
27387
27388# cleanup
27389DROP PROCEDURE sp1;
27390
27391
27392# ------------------------------------------------------------------------------
27393let $message= Testcase 4.8.15:;
27394--source include/show_msg80.inc
27395
27396# testcase: ensure that an attempt to execute show function status with the name of a procedure fails with an
27397#      appropriate error message.
27398
27399
27400--disable_warnings
27401DROP PROCEDURE IF EXISTS sp6;
27402--enable_warnings
27403
27404delimiter //;
27405CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27406BEGIN
27407    set @x=i1;
27408    set @y=@x;
27409END//
27410delimiter ;//
27411
27412--replace_column 5 <modified> 6 <created>
27413  show  function status like 'sp6';
27414
27415# cleanup
27416DROP PROCEDURE sp6;
27417
27418
27419
27420# ------------------------------------------------------------------------------
27421let $message= Testcase 4.8.16:;
27422--source include/show_msg80.inc
27423
27424# testcase: ensure that all stored procedure changes made with alter procedure are properly recorded
27425#      and displayed when a  show CREATE PROCEDURE statement is executed.
27426
27427# part of 3.1.8.9
27428
27429
27430# ------------------------------------------------------------------------------
27431let $message= Testcase 4.8.17:;
27432--source include/show_msg80.inc
27433
27434# testcase: ensure that all stored procedure changes made with alter procedure are properly recorded
27435#      and displayed when a  SHOW PROCEDURE status statement is executed.
27436
27437--disable_warnings
27438DROP PROCEDURE IF EXISTS sp6;
27439--enable_warnings
27440
27441delimiter //;
27442CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27443BEGIN
27444    set @x=i1;
27445    set @y=@x;
27446END//
27447delimiter ;//
27448
27449  alter procedure sp6 sql security invoker;
27450
27451  alter procedure sp6 comment  'this is a new comment';
27452
27453--replace_column 5 <modified> 6 <created>
27454SHOW PROCEDURE status like 'sp6';
27455
27456# cleanup
27457DROP PROCEDURE sp6;
27458
27459
27460# ------------------------------------------------------------------------------
27461let $message= Testcase 4.8.18:;
27462--source include/show_msg80.inc
27463
27464# testcase: ensure that all stored procedure changes made with alter function are properly recorded
27465#        and displayed when a show CREATE FUNCTION statement is executed.
27466
27467--disable_warnings
27468DROP FUNCTION IF EXISTS fn1;
27469--enable_warnings
27470
27471delimiter //;
27472CREATE FUNCTION fn1 (x int) returns int
27473  BEGIN
27474    return x;
27475END//
27476delimiter ;//
27477
27478  alter function fn1 sql security invoker;
27479
27480  show  create  function  fn1;
27481
27482# cleanup
27483DROP FUNCTION fn1;
27484
27485
27486# ------------------------------------------------------------------------------
27487let $message= Testcase 4.8.19:;
27488--source include/show_msg80.inc
27489
27490# testcase: ensure that all function changes made with alter function are properly recorded and
27491#      displayed when a show  function status statement is executed.
27492
27493--disable_warnings
27494DROP FUNCTION IF EXISTS fn1;
27495--enable_warnings
27496
27497delimiter //;
27498CREATE FUNCTION fn1 (i1 longtext) returns longtext
27499  BEGIN
27500    return i1;
27501END//
27502delimiter ;//
27503
27504  alter function fn1 sql security invoker;
27505  alter function fn1 comment 'this is a function 3242#@%$#@';
27506
27507--replace_column 5 <modified> 6 <created>
27508  show  function status like 'fn1';
27509
27510# cleanup
27511DROP FUNCTION fn1;
27512
27513
27514
27515# ------------------------------------------------------------------------------
27516let $message= Testcase 4.8.20:;
27517--source include/show_msg80.inc
27518
27519# testcase: ensure that all stored procedure changes made with alter procedure are properly
27520#      recorded and displayed   when a show CREATE PROCEDURE statement is executed.
27521
27522--disable_warnings
27523DROP PROCEDURE IF EXISTS sp6;
27524--enable_warnings
27525
27526delimiter //;
27527CREATE PROCEDURE sp6 (i1 int , i2 int)
27528BEGIN
27529    set @x=i1;
27530    set @y=@x;
27531END//
27532delimiter ;//
27533
27534  alter procedure sp6 comment 'this is simple';
27535
27536  show CREATE PROCEDURE sp6;
27537
27538# cleanup
27539DROP PROCEDURE sp6;
27540
27541# ------------------------------------------------------------------------------
27542let $message= Testcase 4.8.21:;
27543--source include/show_msg80.inc
27544
27545# testcase: ensure that when a stored procedure is dropped, its definition no longer appears when
27546#      a show CREATE PROCEDURE is executed.
27547
27548--disable_warnings
27549DROP PROCEDURE IF EXISTS sp6;
27550--enable_warnings
27551
27552delimiter //;
27553CREATE PROCEDURE sp6 (i1 int, i2 int)
27554BEGIN
27555    set @x=i1;
27556    set @y=@x;
27557END//
27558delimiter ;//
27559
27560DROP PROCEDURE sp6;
27561
27562--error ER_SP_DOES_NOT_EXIST
27563  show CREATE PROCEDURE sp6;
27564
27565# ------------------------------------------------------------------------------
27566let $message= Testcase 4.8.22:;
27567--source include/show_msg80.inc
27568
27569# testcase: ensure that when a stored procedure is dropped, its definition no longer appears when
27570#      SHOW PROCEDURE status.
27571
27572
27573--disable_warnings
27574DROP PROCEDURE IF EXISTS sp6;
27575--enable_warnings
27576
27577delimiter //;
27578CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27579BEGIN
27580    set @x=i3;
27581    set @y=@x;
27582END//
27583delimiter ;//
27584
27585DROP PROCEDURE sp6;
27586
27587--replace_column 5 <modified> 6 <created>
27588SHOW PROCEDURE status like 'sp6';
27589
27590
27591# ------------------------------------------------------------------------------
27592let $message= Testcase 4.8.23:;
27593--source include/show_msg80.inc
27594
27595# testcase: ensure that when a stored procedure is dropped, its definition no longer appears
27596#      when a statement or a show CREATE FUNCTION statement is executed.
27597
27598--disable_warnings
27599DROP FUNCTION IF EXISTS fn1;
27600--enable_warnings
27601
27602delimiter //;
27603CREATE FUNCTION fn1 (x int) returns int
27604  BEGIN
27605    return x;
27606END//
27607delimiter ;//
27608
27609DROP FUNCTION fn1;
27610
27611--error ER_SP_DOES_NOT_EXIST
27612  show CREATE FUNCTION fn1;
27613
27614
27615# ------------------------------------------------------------------------------
27616let $message= Testcase 4.8.24:;
27617--source include/show_msg80.inc
27618
27619# testcase: ensure that when a function is dropped, its definition no longer appears when a
27620# SHOW FUNCTION status statement is executed.
27621# suppressed: the test does not display an error message. it just returns an empty set
27622
27623--disable_warnings
27624DROP FUNCTION IF EXISTS fn1;
27625--enable_warnings
27626
27627delimiter //;
27628CREATE FUNCTION fn1 (i1 longtext) returns longtext
27629BEGIN
27630    return i1;
27631END//
27632delimiter ;//
27633
27634DROP FUNCTION fn1;
27635
27636--replace_column 5 <modified> 6 <created>
27637SHOW FUNCTION STATUS LIKE 'fn1';
27638
27639
27640# ==============================================================================
27641let $message= Section 3.1.9 - Routine body checks:;
27642--source include/show_msg80.inc
27643
27644USE db_storedproc;
27645
27646# ------------------------------------------------------------------------------
27647let $message= Testcase 4.9.1:;
27648--source include/show_msg80.inc
27649
27650# testcase: verify SELECT sql statements that may be executed by a stored procedure.
27651#
27652
27653--disable_warnings
27654DROP PROCEDURE IF EXISTS sp6;
27655--enable_warnings
27656
27657delimiter //;
27658CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27659BEGIN
27660    set @x = i3;
27661    set @a = i5;
27662    set @y = @x;
27663    set @b = @a;
27664    SELECT * from t9 limit 0, 100;
27665END//
27666delimiter ;//
27667
27668--sorted_result
27669CALL sp6 (10, 20, 30, 40, 50);
27670
27671# cleanup
27672DROP PROCEDURE sp6;
27673
27674
27675# ------------------------------------------------------------------------------
27676let $message= Testcase 4.9.2:;
27677--source include/show_msg80.inc
27678
27679# testcase: verify insert sql statements that can be executed by a stored procedure.
27680#
27681
27682--disable_warnings
27683DROP PROCEDURE IF EXISTS sp6;
27684drop  table IF EXISTS res_t9;
27685--enable_warnings
27686
27687  create table res_t9 (f1 int, f2 char(25), f3 int);
27688
27689delimiter //;
27690CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27691BEGIN
27692    set @x = i3;
27693    set @a = i5;
27694    set @y = @x;
27695    set @b = @a;
27696    insert into res_t9 values (@y, @a, 111);
27697    SELECT * from res_t9;
27698END//
27699delimiter ;//
27700
27701CALL sp6 (10, 20, 30, 40, 50);
27702
27703# cleanup
27704DROP PROCEDURE sp6;
27705drop table res_t9;
27706
27707
27708# ------------------------------------------------------------------------------
27709let $message= Testcase 4.9.3:;
27710--source include/show_msg80.inc
27711
27712# testcase: verify delete sql statements that may be executed by a stored procedure.
27713#
27714
27715--disable_warnings
27716DROP PROCEDURE IF EXISTS sp6;
27717drop  table IF EXISTS res_t9;
27718--enable_warnings
27719
27720  create table res_t9 (f1 int, f2 char(25), f3 int);
27721
27722delimiter //;
27723CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27724BEGIN
27725    set @x = i3;
27726    set @a = i5;
27727    set @y = @x;
27728    set @b = @a;
27729    insert into res_t9 values (@y, @a, 111);
27730    SELECT * from res_t9;
27731    delete from res_t9;
27732    SELECT * from res_t9;
27733END//
27734delimiter ;//
27735
27736
27737CALL sp6 (10, 20, 30, 40, 50);
27738
27739# cleanup
27740DROP PROCEDURE sp6;
27741drop table res_t9;
27742
27743
27744# ------------------------------------------------------------------------------
27745let $message= Testcase 4.9.4:;
27746--source include/show_msg80.inc
27747
27748# testcase: verify update sql statements that may be executed by a stored procedure.
27749#
27750
27751--disable_warnings
27752DROP PROCEDURE IF EXISTS sp6;
27753drop  table IF EXISTS res_t9;
27754--enable_warnings
27755
27756  create table res_t9 (f1 int, f2 char(25), f3 int);
27757
27758delimiter //;
27759CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27760BEGIN
27761    set @x = i3;
27762    set @a = i5;
27763    set @y = @x;
27764    set @b = @a;
27765    insert into res_t9 values (@y, @a, 111);
27766    SELECT * from res_t9;
27767    update res_t9 set f2 = 1000 where f2 = 50;
27768    SELECT * from res_t9;
27769END//
27770delimiter ;//
27771
27772CALL sp6 (10, 20, 30, 40, 50);
27773
27774# cleanup
27775DROP PROCEDURE sp6;
27776drop table res_t9;
27777
27778
27779# ------------------------------------------------------------------------------
27780let $message= Testcase 4.9.5:;
27781--source include/show_msg80.inc
27782
27783# testcase: verify create sql statements that may be executed by a stored procedure
27784#
27785--disable_warnings
27786DROP PROCEDURE IF EXISTS sp6;
27787drop table IF EXISTS res_t9;
27788--enable_warnings
27789
27790delimiter //;
27791CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27792BEGIN
27793   set @x = i1;
27794   set @y = i3;
27795   set @z = i5;
27796   set @a = @x;
27797   set @b = @y;
27798   set @c = @z;
27799   create table res_t9(f1 longtext, f2 longblob, f3 real);
27800   insert into res_t9 values (@a, @b, @c);
27801   SELECT * from res_t9;
27802END//
27803delimiter ;//
27804
27805CALL sp6 (10, 20, 30, 40, 50);
27806
27807# cleanup
27808DROP PROCEDURE sp6;
27809--disable_warnings
27810drop table IF EXISTS res_t9;
27811--enable_warnings
27812
27813# ------------------------------------------------------------------------------
27814let $message= Testcase 4.9.6:;
27815--source include/show_msg80.inc
27816
27817# testcase:  verify select/insert/update/create statements are disallowed in a function.
27818# updated testcase:  verify select/insert/update/create statements are ALLOWED in a function.
27819#
27820DROP FUNCTION IF EXISTS fn1;
27821
27822delimiter //;
27823--error ER_SP_NO_RETSET
27824CREATE FUNCTION fn1(i1 longtext) returns longtext
27825BEGIN
27826   SELECT * from t9 limit 0, 100;
27827   return i1;
27828END//
27829delimiter ;//
27830
27831DROP FUNCTION IF EXISTS fn1;
27832drop table IF EXISTS res_t9;
27833
27834create table res_t9 (f1 int, f2 char(25), f3 int);
27835insert into res_t9 values (10, 'abc', 20);
27836
27837delimiter //;
27838--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27839CREATE FUNCTION fn1(i1 longtext) returns longtext
27840BEGIN
27841   delete from res_t9;
27842   drop table res_t9;
27843   return i1;
27844END//
27845delimiter ;//
27846
27847DROP FUNCTION IF EXISTS fn1;
27848drop table IF EXISTS res_t9;
27849
27850delimiter //;
27851--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27852CREATE FUNCTION fn1(i1 longtext) returns longtext
27853BEGIN
27854    create table res_t9 (f1 longtext, f2 longblob, f3 real);
27855    drop table res_t9;
27856    return i1;
27857END//
27858delimiter ;//
27859
27860DROP FUNCTION IF EXISTS fn1;
27861drop  table IF EXISTS res_t9;
27862
27863create table res_t9 (f1 int, f2 char(25), f3 int);
27864
27865delimiter //;
27866--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27867CREATE FUNCTION fn1(i1 longtext) returns longtext
27868BEGIN
27869   insert into res_t9 values (100, 'abc', 300);
27870   drop table res_t9;
27871   return i1;
27872END//
27873delimiter ;//
27874
27875DROP FUNCTION IF EXISTS fn1;
27876drop  table IF EXISTS res_t9;
27877
27878create table res_t9 (f1 int, f2 char(25), f3 int);
27879insert into res_t9 values (10, 'abc', 20);
27880
27881delimiter //;
27882--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27883CREATE FUNCTION fn1(i1 longtext) returns longtext
27884BEGIN
27885   update res_t9 set f1 = 20;
27886   drop table res_t9;
27887   return i1;
27888END//
27889delimiter ;//
27890
27891# cleanup
27892drop table res_t9;
27893DROP FUNCTION IF EXISTS fn1;
27894
27895
27896# ------------------------------------------------------------------------------
27897let $message= Testcase 4.9.7:;
27898--source include/show_msg80.inc
27899
27900# testcase: verify create index sql statement that may be executed by a stored procedure
27901#
27902--disable_warnings
27903DROP PROCEDURE IF EXISTS sp6;
27904drop table IF EXISTS res_t9;
27905--enable_warnings
27906
27907  create table res_t9 (f1 longtext, f2 longblob, f3 real);
27908
27909delimiter //;
27910CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27911BEGIN
27912    set @x = i1;
27913    set @y = i3;
27914    set @z = i5;
27915    set @a = @x;
27916    set @b = @y;
27917    set @c = @z;
27918    insert into res_t9 values (@a, @b, @c);
27919    SELECT * from res_t9;
27920    create index index_1 on res_t9 (f1 (5));
27921    show index from res_t9;
27922END//
27923delimiter ;//
27924
27925CALL sp6 (10, 20, 30, 40, 50);
27926
27927# cleanup
27928DROP PROCEDURE sp6;
27929drop table res_t9;
27930
27931
27932# ==============================================================================
27933#
27934# test plan section: 4.11 - verify handlers with continue and exit conditions
27935#
27936# ==============================================================================
27937let $message= Section 3.1._ - :;
27938--source include/show_msg80.inc
27939
27940USE db_storedproc;
27941
27942# ------------------------------------------------------------------------------
27943let $message= Testcase 4.11.1:;
27944--source include/show_msg80.inc
27945
27946# testcase: verify continue handler for error code 1318 (er_sp_wrong_no_of_args)
27947--disable_warnings
27948DROP PROCEDURE IF EXISTS h1;
27949DROP PROCEDURE IF EXISTS sp1;
27950--enable_warnings
27951
27952delimiter //;
27953CREATE PROCEDURE sp1 (x int, y int)
27954BEGIN
27955    set @y=x;
27956END//
27957delimiter ;//
27958
27959delimiter //;
27960CREATE PROCEDURE h1 ()
27961BEGIN
27962    declare continue handler for 1318 set @x2 = 1;
27963    set @x=0;
27964  CALL sp1 (1);
27965    set @x=1;
27966    SELECT @x, @x2;
27967END//
27968delimiter ;//
27969
27970CALL h1 ();
27971
27972# cleanup
27973DROP PROCEDURE h1;
27974DROP PROCEDURE sp1;
27975
27976
27977
27978# ------------------------------------------------------------------------------
27979let $message= Testcase 4.11.2:;
27980--source include/show_msg80.inc
27981
27982# testcase: verify continue handler for error code 1305 (er_sp_does_not_exist)
27983
27984--disable_warnings
27985DROP PROCEDURE IF EXISTS h1;
27986--enable_warnings
27987
27988delimiter //;
27989CREATE PROCEDURE h1 ()
27990BEGIN
27991    declare continue handler for 1305 set @x2 = 1;
27992    set @x=0;
27993  CALL sp1 (1);
27994    set @x=1;
27995    SELECT @x, @x2;
27996END//
27997delimiter ;//
27998
27999CALL h1 ();
28000
28001# cleanup
28002DROP PROCEDURE h1;
28003
28004
28005# ------------------------------------------------------------------------------
28006let $message= Testcase 4.11.3:;
28007--source include/show_msg80.inc
28008
28009# testcase: verify exit handler for error code 1318 (er_sp_wrong_no_of_args)
28010
28011--disable_warnings
28012DROP PROCEDURE IF EXISTS h1;
28013DROP PROCEDURE IF EXISTS sp1;
28014--enable_warnings
28015
28016delimiter //;
28017CREATE PROCEDURE sp1 (x int, y int)
28018BEGIN
28019    set @xx=1;
28020END//
28021delimiter ;//
28022
28023delimiter //;
28024CREATE PROCEDURE h1 ()
28025BEGIN
28026    declare exit handler for 1318 set @x2 = 1;
28027    set @x=1;
28028    set @x2=0;
28029  CALL sp1 (1);
28030    set @x=0;
28031END//
28032delimiter ;//
28033
28034CALL h1();
28035
28036  SELECT @x, @x2;
28037
28038# cleanup
28039DROP PROCEDURE h1;
28040DROP PROCEDURE sp1;
28041
28042
28043
28044# ------------------------------------------------------------------------------
28045let $message= Testcase 4.11.4:;
28046--source include/show_msg80.inc
28047
28048# testcase: verify exit handler for error code 1305 (er_sp_does_not_exist)
28049
28050--disable_warnings
28051DROP PROCEDURE IF EXISTS h1;
28052--enable_warnings
28053
28054delimiter //;
28055CREATE PROCEDURE h1 ()
28056BEGIN
28057    declare exit handler for 1305 set @x2 = 1;
28058    set @x=1;
28059    set @x2=0;
28060  CALL sp1 (1);
28061    set @x=0;
28062END//
28063delimiter ;//
28064
28065CALL h1 ();
28066
28067  SELECT @x, @x2;
28068
28069# cleanup
28070DROP PROCEDURE h1;
28071
28072
28073
28074# ------------------------------------------------------------------------------
28075let $message= Testcase 4.11.5:;
28076--source include/show_msg80.inc
28077
28078# testcase: verify undo handler for error code 1318 (er_sp_wrong_no_of_args)
28079
28080
28081--disable_warnings
28082DROP PROCEDURE IF EXISTS h1;
28083DROP PROCEDURE IF EXISTS sp1;
28084--enable_warnings
28085
28086delimiter //;
28087CREATE PROCEDURE sp1 (x int, y int)
28088BEGIN
28089    set @y=x;
28090END//
28091delimiter ;//
28092
28093delimiter //;
28094CREATE PROCEDURE h1 ()
28095BEGIN
28096    declare continue handler for 1318 set @x2 = 1;
28097    set @x=0;
28098  CALL sp1 (1);
28099    set @x=1;
28100    SELECT @x, @x2;
28101END//
28102delimiter ;//
28103
28104CALL h1 ();
28105
28106# cleanup
28107DROP PROCEDURE h1;
28108DROP PROCEDURE sp1;
28109
28110
28111
28112# ------------------------------------------------------------------------------
28113let $message= Testcase 4.11.6:;
28114--source include/show_msg80.inc
28115
28116# testcase: verify undo handler for error code 1305 (er_sp_does_not_exist)
28117
28118
28119--disable_warnings
28120DROP PROCEDURE IF EXISTS h1;
28121DROP PROCEDURE IF EXISTS sp1;
28122--enable_warnings
28123
28124delimiter //;
28125CREATE PROCEDURE sp1 (x int, y int)
28126BEGIN
28127    set @y=x;
28128END//
28129delimiter ;//
28130
28131delimiter //;
28132CREATE PROCEDURE h1 ()
28133BEGIN
28134    declare continue handler for 1318 set @x2 = 1;
28135    set @x=0;
28136  CALL sp1 (1);
28137    set @x=1;
28138    SELECT @x, @x2;
28139END//
28140delimiter ;//
28141
28142CALL h1 ();
28143
28144# cleanup
28145DROP PROCEDURE h1;
28146DROP PROCEDURE sp1;
28147
28148
28149
28150# ------------------------------------------------------------------------------
28151let $message= Testcase 4.11.7:;
28152--source include/show_msg80.inc
28153
28154# testcase: verify continue handler for sql state 42000 (er_sp_wrong_no_of_args)
28155
28156--disable_warnings
28157DROP PROCEDURE IF EXISTS h1;
28158DROP PROCEDURE IF EXISTS sp1;
28159--enable_warnings
28160
28161delimiter //;
28162CREATE PROCEDURE sp1 (x int, y int)
28163BEGIN
28164    set @y=x;
28165END//
28166delimiter ;//
28167
28168delimiter //;
28169CREATE PROCEDURE h1 ()
28170BEGIN
28171    declare continue handler for sqlstate '42000' set @x2 = 1;
28172    set @x=0;
28173  CALL sp1 (1);
28174    set @x=1;
28175    SELECT @x, @x2;
28176END//
28177delimiter ;//
28178
28179CALL h1 ();
28180
28181# cleanup
28182DROP PROCEDURE h1;
28183DROP PROCEDURE sp1;
28184
28185
28186# ------------------------------------------------------------------------------
28187let $message= Testcase 4.11.8:;
28188--source include/show_msg80.inc
28189
28190# testcase: verify continue handler for sql state 42000 (er_sp_does_not_exist)
28191
28192--disable_warnings
28193DROP PROCEDURE IF EXISTS h1;
28194--enable_warnings
28195
28196
28197delimiter //;
28198CREATE PROCEDURE h1 ()
28199BEGIN
28200    declare continue handler for sqlstate '42000' set @x2 = 1;
28201    set @x=0;
28202  CALL sp1 (1);
28203    set @x=1;
28204    SELECT @x, @x2;
28205END//
28206delimiter ;//
28207
28208CALL h1 ();
28209
28210# cleanup
28211DROP PROCEDURE h1;
28212
28213
28214# ------------------------------------------------------------------------------
28215let $message= Testcase 4.11.9:;
28216--source include/show_msg80.inc
28217
28218# testcase: verify exit handler for sql state 42000 (er_sp_wrong_no_of_args)
28219
28220--disable_warnings
28221DROP PROCEDURE IF EXISTS h1;
28222DROP PROCEDURE IF EXISTS sp1;
28223--enable_warnings
28224
28225delimiter //;
28226CREATE PROCEDURE sp1 (x int, y int)
28227BEGIN
28228    set @xx=1;
28229END//
28230delimiter ;//
28231
28232delimiter //;
28233CREATE PROCEDURE h1 ()
28234BEGIN
28235    declare exit handler for sqlstate '42000' set @x2 = 1;
28236    set @x=1;
28237    set @x2=0;
28238  CALL sp1 (1);
28239    set @x=0;
28240END//
28241delimiter ;//
28242
28243CALL h1();
28244
28245  SELECT @x, @x2;
28246
28247# cleanup
28248DROP PROCEDURE h1;
28249DROP PROCEDURE sp1;
28250
28251
28252
28253# ------------------------------------------------------------------------------
28254let $message= Testcase 4.11.10:;
28255--source include/show_msg80.inc
28256
28257# testcase: verify exit handler for sql state 42000 (er_sp_does_not_exist)
28258
28259--disable_warnings
28260DROP PROCEDURE IF EXISTS h1;
28261--enable_warnings
28262
28263delimiter //;
28264CREATE PROCEDURE h1 ()
28265BEGIN
28266    declare exit handler for sqlstate '42000' set @x2 = 1;
28267    set @x=1;
28268    set @x2=0;
28269  CALL sp1 (1);
28270    set @x=0;
28271END//
28272delimiter ;//
28273
28274CALL h1 ();
28275  SELECT @x, @x2;
28276
28277# cleanup
28278DROP PROCEDURE h1;
28279
28280
28281
28282# ------------------------------------------------------------------------------
28283let $message= Testcase 4.11.11:;
28284--source include/show_msg80.inc
28285
28286# testcase: verify undo handler for sql state 42000 (er_sp_wrong_no_of_args)
28287
28288--disable_warnings
28289DROP PROCEDURE IF EXISTS h1;
28290DROP PROCEDURE IF EXISTS sp1;
28291--enable_warnings
28292
28293delimiter //;
28294CREATE PROCEDURE sp1 (x int, y int)
28295BEGIN
28296    set @y=x;
28297END//
28298delimiter ;//
28299
28300delimiter //;
28301CREATE PROCEDURE h1 ()
28302BEGIN
28303    declare continue handler for sqlstate '42000' set @x2 = 1;
28304    set @x=0;
28305  CALL sp1 (1);
28306    set @x=1;
28307    SELECT @x, @x2;
28308END//
28309delimiter ;//
28310
28311CALL h1 ();
28312
28313# cleanup
28314DROP PROCEDURE h1;
28315DROP PROCEDURE sp1;
28316
28317
28318
28319# ------------------------------------------------------------------------------
28320let $message= Testcase 4.11.12:;
28321--source include/show_msg80.inc
28322
28323# testcase: verify undo handler for sql state 42000 (er_sp_does_not_exist)
28324
28325
28326--disable_warnings
28327DROP PROCEDURE IF EXISTS h1;
28328DROP PROCEDURE IF EXISTS sp1;
28329--enable_warnings
28330
28331delimiter //;
28332CREATE PROCEDURE sp1 (x int, y int)
28333BEGIN
28334    set @y=x;
28335END//
28336delimiter ;//
28337
28338delimiter //;
28339CREATE PROCEDURE h1 ()
28340BEGIN
28341    declare continue handler for sqlstate '42000' set @x2 = 1;
28342    set @x=0;
28343  CALL sp1 (1);
28344    set @x=1;
28345    SELECT @x, @x2;
28346END//
28347delimiter ;//
28348
28349CALL h1 ();
28350
28351# cleanup
28352DROP PROCEDURE h1;
28353DROP PROCEDURE sp1;
28354
28355# ------------------------------------------------------------------------------
28356let $message= Testcase 4.11.13:;
28357--source include/show_msg80.inc
28358
28359# testcase: verify continue handler for sql state 02000 (er_sp_fetch_no_data)
28360
28361--disable_warnings
28362DROP PROCEDURE IF EXISTS h1;
28363drop table IF EXISTS res_t1;
28364drop table IF EXISTS res_t2;
28365--enable_warnings
28366
28367  create table res_t1(w char, x char);
28368
28369  create table res_t2(y char, z char);
28370
28371delimiter //;
28372CREATE PROCEDURE h1()
28373BEGIN
28374    declare done int default 0;
28375    declare a, b char;
28376    declare cur1 cursor for SELECT w, x from res_t1;
28377    declare continue handler for sqlstate '02000' set done = 1;
28378    open cur1;
28379    repeat
28380      SELECT done;
28381      fetch cur1 into a, b;
28382      SELECT done;
28383      if not done then
28384        insert into res_t2 values (a, b);
28385      END if;
28386    until done END repeat;
28387    SELECT done;
28388    close cur1;
28389END//
28390delimiter ;//
28391
28392CALL h1();
28393
28394# cleanup
28395--disable_warnings
28396DROP PROCEDURE IF EXISTS h1;
28397DROP TABLE IF EXISTS res_t1;
28398DROP TABLE IF EXISTS res_t2;
28399--enable_warnings
28400
28401
28402
28403# ------------------------------------------------------------------------------
28404let $message= Testcase 4.11.14:;
28405--source include/show_msg80.inc
28406
28407# testcase: verify continue handler for error code 1329 (er_sp_fetch_no_data)
28408
28409--disable_warnings
28410DROP PROCEDURE IF EXISTS h1;
28411drop table IF EXISTS res_t1;
28412drop table IF EXISTS res_t2;
28413
28414  create table res_t1(w char, x char);
28415
28416  create table res_t2(y char, z char);
28417
28418delimiter //;
28419CREATE PROCEDURE h1()
28420BEGIN
28421    declare done int default 0;
28422    declare a, b char;
28423    declare cur1 cursor for SELECT w, x from res_t1;
28424    declare continue handler for sqlstate '02000' set done = 1;
28425    open cur1;
28426    repeat
28427      SELECT done;
28428      fetch cur1 into a, b;
28429      SELECT done;
28430      if not done then
28431        insert into res_t2 values (a, b);
28432      END if;
28433    until done END repeat;
28434    SELECT done;
28435    close cur1;
28436END//
28437delimiter ;//
28438
28439CALL h1();
28440
28441# cleanup
28442--disable_warnings
28443DROP PROCEDURE IF EXISTS h1;
28444DROP TABLE IF EXISTS res_t1;
28445DROP TABLE IF EXISTS res_t2;
28446--enable_warnings
28447
28448
28449
28450# ------------------------------------------------------------------------------
28451let $message= Testcase 4.11.15:;
28452--source include/show_msg80.inc
28453
28454# testcase: verify exit handler for error code 1329 (er_sp_fetch_no_data)
28455
28456--disable_warnings
28457DROP PROCEDURE IF EXISTS h1;
28458drop table IF EXISTS res_t1;
28459drop table IF EXISTS res_t2;
28460--enable_warnings
28461
28462  create table res_t1(w char, x char);
28463
28464  create table res_t2(y char, z char);
28465
28466delimiter //;
28467CREATE PROCEDURE h1()
28468BEGIN
28469    declare done int default 0;
28470    declare a, b char;
28471    declare cur1 cursor for SELECT w, x from res_t1;
28472    declare continue handler for sqlstate '02000' set done = 1;
28473    open cur1;
28474    repeat
28475      SELECT done;
28476      set @x=0;
28477      fetch cur1 into a, b;
28478      SELECT @x=1;
28479      if not done then
28480        insert into res_t2 values (a, b);
28481      END if;
28482    until done END repeat;
28483    SELECT done;
28484    close cur1;
28485END//
28486delimiter ;//
28487
28488CALL h1();
28489
28490# cleanup
28491--disable_warnings
28492DROP PROCEDURE IF EXISTS h1;
28493DROP TABLE IF EXISTS res_t1;
28494DROP TABLE IF EXISTS res_t2;
28495--enable_warnings
28496
28497
28498# ------------------------------------------------------------------------------
28499let $message= Testcase 4.11.16:;
28500--source include/show_msg80.inc
28501
28502# testcase: verify exit handler for sql state '02000' (er_sp_fetch_no_data)
28503
28504--disable_warnings
28505DROP PROCEDURE IF EXISTS h1;
28506drop table IF EXISTS res_t1;
28507drop table IF EXISTS res_t2;
28508--enable_warnings
28509
28510  create table res_t1(w char, x char);
28511
28512  create table res_t2(y char, z char);
28513
28514delimiter //;
28515CREATE PROCEDURE h1()
28516BEGIN
28517    declare done int default 0;
28518    declare a, b char;
28519    declare cur1 cursor for SELECT w, x from res_t1;
28520    declare continue handler for sqlstate '02000' set done = 1;
28521    open cur1;
28522    repeat
28523      SELECT done;
28524      set @x=0;
28525      fetch cur1 into a, b;
28526      SELECT @x=1;
28527      if not done then
28528        insert into res_t2 values (a, b);
28529      END if;
28530      until done END repeat;
28531    SELECT done;
28532    close cur1;
28533END//
28534delimiter ;//
28535
28536CALL h1();
28537
28538# cleanup
28539--disable_warnings
28540DROP PROCEDURE IF EXISTS h1;
28541DROP TABLE IF EXISTS res_t1;
28542DROP TABLE IF EXISTS res_t2;
28543--enable_warnings
28544
28545
28546# ------------------------------------------------------------------------------
28547let $message= Testcase 4.11.17:;
28548--source include/show_msg80.inc
28549
28550# testcase: verify continue handler for sql state HY000 (er_sp_wrong_no_of_fetch_args)
28551
28552--disable_warnings
28553DROP PROCEDURE IF EXISTS h1;
28554drop table IF EXISTS res_t1;
28555drop table IF EXISTS res_t2;
28556--enable_warnings
28557
28558  create table res_t1(w char, x char);
28559
28560  insert into res_t1 values('a', 'b');
28561  insert into res_t1 values('c', 'd');
28562
28563  create table res_t2(y char, z char);
28564
28565delimiter //;
28566CREATE PROCEDURE h1()
28567BEGIN
28568    declare done int default 0;
28569    declare a, b char;
28570    declare cur1 cursor for SELECT w, x from res_t1;
28571    declare continue handler for sqlstate 'HY000' set done = 1;
28572    open cur1;
28573    SELECT done;
28574    fetch cur1 into a;
28575    SELECT done;
28576    close cur1;
28577END//
28578delimiter ;//
28579
28580CALL h1();
28581
28582# cleanup
28583--disable_warnings
28584DROP PROCEDURE IF EXISTS h1;
28585DROP TABLE IF EXISTS res_t1;
28586DROP TABLE IF EXISTS res_t2;
28587--enable_warnings
28588
28589
28590# ------------------------------------------------------------------------------
28591let $message= Testcase 4.11.18:;
28592--source include/show_msg80.inc
28593
28594# testcase: verify continue handler for error code 1328 (er_sp_wrong_no_of_fetch_args)
28595
28596--disable_warnings
28597DROP PROCEDURE IF EXISTS h1;
28598drop table IF EXISTS res_t1;
28599drop table IF EXISTS res_t2;
28600--enable_warnings
28601
28602  create table res_t1(w char, x char);
28603
28604  insert into res_t1 values('a', 'b');
28605  insert into res_t1 values('c', 'd');
28606
28607  create table res_t2(y char, z char);
28608
28609delimiter //;
28610CREATE PROCEDURE h1()
28611BEGIN
28612    declare done int default 0;
28613    declare a, b char;
28614    declare cur1 cursor for SELECT w, x from res_t1;
28615    declare continue handler for 1328 set done = 1;
28616    open cur1;
28617    SELECT done;
28618    fetch cur1 into a;
28619    SELECT done;
28620    close cur1;
28621END//
28622delimiter ;//
28623
28624CALL h1();
28625
28626# cleanup
28627--disable_warnings
28628DROP PROCEDURE IF EXISTS h1;
28629DROP TABLE IF EXISTS res_t1;
28630DROP TABLE IF EXISTS res_t2;
28631--enable_warnings
28632
28633# ------------------------------------------------------------------------------
28634let $message= Testcase 4.11.19:;
28635--source include/show_msg80.inc
28636
28637# testcase: verify exit handler for sql state HY000 (er_sp_wrong_no_of_fetch_args)
28638
28639--disable_warnings
28640DROP PROCEDURE IF EXISTS h1;
28641drop table IF EXISTS res_t1;
28642drop table IF EXISTS res_t2;
28643--enable_warnings
28644
28645  create table res_t1(w char, x char);
28646
28647  insert into res_t1 values('a', 'b');
28648  insert into res_t1 values('c', 'd');
28649
28650  create table res_t2(y char, z char);
28651
28652delimiter //;
28653CREATE PROCEDURE h1()
28654BEGIN
28655    declare done int default 0;
28656    declare a, b char;
28657    declare cur1 cursor for SELECT w, x from res_t1;
28658    declare exit handler for sqlstate 'HY000' set done = 1;
28659    open cur1;
28660    SELECT done;
28661    set @x=0;
28662    fetch cur1 into a;
28663    set @x=1;
28664    SELECT done, @x;
28665    close cur1;
28666END//
28667delimiter ;//
28668
28669CALL h1();
28670
28671# cleanup
28672--disable_warnings
28673DROP PROCEDURE IF EXISTS h1;
28674DROP TABLE IF EXISTS res_t1;
28675DROP TABLE IF EXISTS res_t2;
28676--enable_warnings
28677
28678# ------------------------------------------------------------------------------
28679let $message= Testcase 4.11.20:;
28680--source include/show_msg80.inc
28681
28682# testcase: verify exit handler for error code 1328 (er_sp_wrong_no_of_fetch_args)
28683
28684--disable_warnings
28685DROP PROCEDURE IF EXISTS h1;
28686drop table IF EXISTS res_t1;
28687drop table IF EXISTS res_t2;
28688--enable_warnings
28689
28690  create table res_t1(w char, x char);
28691
28692  insert into res_t1 values('a', 'b');
28693  insert into res_t1 values('c', 'd');
28694
28695  create table res_t2(y char, z char);
28696
28697delimiter //;
28698CREATE PROCEDURE h1()
28699BEGIN
28700    declare done int default 0;
28701    declare a, b char;
28702    declare cur1 cursor for SELECT w, x from res_t1;
28703    declare exit handler for 1328 set done = 1;
28704    open cur1;
28705    SELECT done;
28706    set @x=0;
28707    fetch cur1 into a;
28708    set @x=1;
28709    SELECT done;
28710    close cur1;
28711END//
28712delimiter ;//
28713
28714CALL h1();
28715
28716# cleanup
28717--disable_warnings
28718DROP PROCEDURE IF EXISTS h1;
28719DROP TABLE IF EXISTS res_t1;
28720DROP TABLE IF EXISTS res_t2;
28721--enable_warnings
28722
28723
28724# ------------------------------------------------------------------------------
28725let $message= Testcase 4.11.21:;
28726--source include/show_msg80.inc
28727
28728# testcase: verify continue handler for error code 1325 (er_sp_cursor_already_open)
28729
28730--disable_warnings
28731DROP PROCEDURE IF EXISTS h1;
28732drop table IF EXISTS res_t1;
28733drop table IF EXISTS res_t2;
28734--enable_warnings
28735
28736  create table res_t1(w char, x char);
28737
28738  insert into res_t1 values('a', 'b');
28739  insert into res_t1 values('c', 'd');
28740
28741  create table res_t2(y char, z char);
28742
28743delimiter //;
28744CREATE PROCEDURE h1()
28745BEGIN
28746    declare done int default 0;
28747    declare a, b char;
28748    declare cur1 cursor for SELECT w, x from res_t1;
28749    declare continue handler for 1325 set done = 1;
28750    open cur1;
28751    SELECT done;
28752    open cur1;
28753    SELECT done;
28754    close cur1;
28755END//
28756delimiter ;//
28757
28758CALL h1();
28759
28760# cleanup
28761--disable_warnings
28762DROP PROCEDURE IF EXISTS h1;
28763DROP TABLE IF EXISTS res_t1;
28764DROP TABLE IF EXISTS res_t2;
28765--enable_warnings
28766
28767# ------------------------------------------------------------------------------
28768let $message= Testcase 4.11.22:;
28769--source include/show_msg80.inc
28770
28771# testcase: verify continue handler for sqlstate 24000 (er_sp_cursor_already_open)
28772
28773--disable_warnings
28774DROP PROCEDURE IF EXISTS h1;
28775drop table IF EXISTS res_t1;
28776drop table IF EXISTS res_t2;
28777--enable_warnings
28778
28779  create table res_t1(w char, x char);
28780
28781  insert into res_t1 values('a', 'b');
28782  insert into res_t1 values('c', 'd');
28783
28784  create table res_t2(y char, z char);
28785
28786delimiter //;
28787CREATE PROCEDURE h1()
28788BEGIN
28789    declare done int default 0;
28790    declare a, b char;
28791    declare cur1 cursor for SELECT w, x from res_t1;
28792    declare continue handler for 1325 set done = 1;
28793    open cur1;
28794    SELECT done;
28795    open cur1;
28796    set @x=1;
28797    SELECT done, @x;
28798    close cur1;
28799END//
28800delimiter ;//
28801
28802CALL h1();
28803
28804# cleanup
28805--disable_warnings
28806DROP PROCEDURE IF EXISTS h1;
28807DROP TABLE IF EXISTS res_t1;
28808DROP TABLE IF EXISTS res_t2;
28809--enable_warnings
28810
28811# ------------------------------------------------------------------------------
28812let $message= Testcase 4.11.23:;
28813--source include/show_msg80.inc
28814
28815# testcase: verify exit handler for error code 1325 (er_sp_cursor_already_open)
28816
28817--disable_warnings
28818DROP PROCEDURE IF EXISTS h1;
28819drop table IF EXISTS res_t1;
28820drop table IF EXISTS res_t2;
28821--enable_warnings
28822
28823  create table res_t1(w char, x char);
28824
28825  insert into res_t1 values('a', 'b');
28826  insert into res_t1 values('c', 'd');
28827
28828  create table res_t2(y char, z char);
28829
28830delimiter //;
28831CREATE PROCEDURE h1()
28832BEGIN
28833    declare done int default 0;
28834    declare a, b char;
28835    declare cur1 cursor for SELECT w, x from res_t1;
28836    declare exit handler for 1325 set done = 1;
28837    open cur1;
28838    set @x=0;
28839    SELECT done;
28840    open cur1;
28841    set @x=1;
28842    SELECT done;
28843    close cur1;
28844END//
28845delimiter ;//
28846
28847CALL h1();
28848
28849# cleanup
28850--disable_warnings
28851DROP PROCEDURE IF EXISTS h1;
28852DROP TABLE IF EXISTS res_t1;
28853DROP TABLE IF EXISTS res_t2;
28854--enable_warnings
28855
28856# ------------------------------------------------------------------------------
28857let $message= Testcase 4.11.24:;
28858--source include/show_msg80.inc
28859
28860# testcase: verify exit handler for sqlstate 24000 (er_sp_cursor_already_open)
28861
28862--disable_warnings
28863DROP PROCEDURE IF EXISTS h1;
28864drop table IF EXISTS res_t1;
28865drop table IF EXISTS res_t2;
28866--enable_warnings
28867
28868  create table res_t1(w char, x char);
28869
28870  insert into res_t1 values('a', 'b');
28871  insert into res_t1 values('c', 'd');
28872
28873  create table res_t2(y char, z char);
28874
28875delimiter //;
28876CREATE PROCEDURE h1()
28877BEGIN
28878    declare done int default 0;
28879    declare a, b char;
28880    declare cur1 cursor for SELECT w, x from res_t1;
28881    declare exit handler for sqlstate '24000' set done = 1;
28882    open cur1;
28883    set @x=0;
28884    SELECT done;
28885    open cur1;
28886    set @x=1;
28887    SELECT done, @x;
28888    close cur1;
28889END//
28890delimiter ;//
28891
28892CALL h1();
28893
28894# cleanup
28895--disable_warnings
28896DROP PROCEDURE IF EXISTS h1;
28897DROP TABLE IF EXISTS res_t1;
28898DROP TABLE IF EXISTS res_t2;
28899--enable_warnings
28900
28901# ------------------------------------------------------------------------------
28902let $message= Testcase 4.11.25:;
28903--source include/show_msg80.inc
28904
28905# testcase: verify continue handler for error code 1326 (er_sp_cursor_not_open)
28906
28907--disable_warnings
28908DROP PROCEDURE IF EXISTS h1;
28909drop table IF EXISTS res_t1;
28910drop table IF EXISTS res_t2;
28911--enable_warnings
28912
28913  create table res_t1(w char, x char);
28914
28915  insert into res_t1 values('a', 'b');
28916  insert into res_t1 values('c', 'd');
28917
28918  create table res_t2(y char, z char);
28919
28920delimiter //;
28921CREATE PROCEDURE h1()
28922BEGIN
28923    declare done int default 0;
28924    declare a, b char;
28925    declare cur1 cursor for SELECT w, x from res_t1;
28926    declare continue handler for 1326 set done = 1;
28927    set @x=0;
28928    fetch cur1 into a, b;
28929    set @x=1;
28930    SELECT done, @x;
28931END//
28932delimiter ;//
28933
28934CALL h1();
28935
28936# cleanup
28937--disable_warnings
28938DROP PROCEDURE IF EXISTS h1;
28939DROP TABLE IF EXISTS res_t1;
28940DROP TABLE IF EXISTS res_t2;
28941--enable_warnings
28942
28943
28944
28945# ------------------------------------------------------------------------------
28946let $message= Testcase 4.11.26:;
28947--source include/show_msg80.inc
28948
28949# testcase: verify continue handler for sqlstate 24000 (er_sp_cursor_not_open)
28950
28951--disable_warnings
28952DROP PROCEDURE IF EXISTS h1;
28953drop table IF EXISTS res_t1;
28954drop table IF EXISTS res_t2;
28955--enable_warnings
28956
28957  create table res_t1(w char, x char);
28958
28959  insert into res_t1 values('a', 'b');
28960  insert into res_t1 values('c', 'd');
28961
28962  create table res_t2(y char, z char);
28963
28964delimiter //;
28965CREATE PROCEDURE h1()
28966BEGIN
28967    declare done int default 0;
28968    declare a, b char;
28969    declare cur1 cursor for SELECT w, x from res_t1;
28970    declare continue handler for sqlstate '24000' set done = 1;
28971    set @x=0;
28972    fetch cur1 into a, b;
28973    set @x=1;
28974    SELECT done, @x;
28975END//
28976delimiter ;//
28977
28978CALL h1();
28979
28980# cleanup
28981--disable_warnings
28982DROP PROCEDURE IF EXISTS h1;
28983DROP TABLE IF EXISTS res_t1;
28984DROP TABLE IF EXISTS res_t2;
28985--enable_warnings
28986
28987
28988# ------------------------------------------------------------------------------
28989let $message= Testcase 4.11.27:;
28990--source include/show_msg80.inc
28991
28992# testcase: verify exit handler for error code 1326 (er_sp_cursor_not_open)
28993
28994--disable_warnings
28995DROP PROCEDURE IF EXISTS h1;
28996drop table IF EXISTS res_t1;
28997drop table IF EXISTS res_t2;
28998--enable_warnings
28999
29000  create table res_t1(w char, x char);
29001
29002  insert into res_t1 values('a', 'b');
29003  insert into res_t1 values('c', 'd');
29004
29005  create table res_t2(y char, z char);
29006
29007delimiter //;
29008CREATE PROCEDURE h1()
29009BEGIN
29010    declare done int default 0;
29011    declare a, b char;
29012    declare cur1 cursor for SELECT w, x from res_t1;
29013    declare exit handler for 1326 set done = 1;
29014    set @x=0;
29015    fetch cur1 into a, b;
29016    set @x=1;
29017    SELECT done, @x;
29018END//
29019delimiter ;//
29020
29021CALL h1();
29022
29023# cleanup
29024--disable_warnings
29025DROP PROCEDURE IF EXISTS h1;
29026DROP TABLE IF EXISTS res_t1;
29027DROP TABLE IF EXISTS res_t2;
29028--enable_warnings
29029
29030
29031# ------------------------------------------------------------------------------
29032let $message= Testcase 4.11.28:;
29033--source include/show_msg80.inc
29034
29035# testcase: verify exit handler for sqlstate 24000 (er_sp_cursor_not_open)
29036
29037--disable_warnings
29038DROP PROCEDURE IF EXISTS h1;
29039drop table IF EXISTS res_t1;
29040drop table IF EXISTS res_t2;
29041--enable_warnings
29042
29043  create table res_t1(w char, x char);
29044
29045  insert into res_t1 values('a', 'b');
29046  insert into res_t1 values('c', 'd');
29047
29048  create table res_t2(y char, z char);
29049
29050delimiter //;
29051CREATE PROCEDURE h1()
29052BEGIN
29053    declare done int default 0;
29054    declare a, b char;
29055    declare cur1 cursor for SELECT w, x from res_t1;
29056    declare exit handler for sqlstate '24000' set done = 1;
29057    set @x=0;
29058    fetch cur1 into a, b;
29059    set @x=1;
29060    SELECT done, @x;
29061END//
29062delimiter ;//
29063
29064CALL h1();
29065
29066# cleanup
29067--disable_warnings
29068DROP PROCEDURE IF EXISTS h1;
29069drop table IF EXISTS res_t1;
29070drop table IF EXISTS res_t2;
29071--enable_warnings
29072
29073
29074# ------------------------------------------------------------------------------
29075let $message= Testcase 4.11.29:;
29076--source include/show_msg80.inc
29077
29078# testcase: verify continue handler for error code 1339 (er_sp_case_not_found)
29079
29080--disable_warnings
29081DROP PROCEDURE IF EXISTS h1;
29082drop table IF EXISTS res_t1;
29083drop table IF EXISTS res_t2;
29084--enable_warnings
29085
29086  create table res_t1(w char, x char);
29087
29088  insert into res_t1 values('a', 'b');
29089  insert into res_t1 values('c', 'd');
29090
29091  create table res_t2(y char, z char);
29092
29093delimiter //;
29094CREATE PROCEDURE h1()
29095BEGIN
29096    declare done int default 0;
29097    declare a, b char;
29098    declare cur1 cursor for SELECT w, x from res_t1;
29099    declare continue handler for 1339 set done = 1;
29100    set @x=0;
29101    case @x
29102          when 1 then set @x=10;
29103          when 2 then set @x=11;
29104    END case;
29105    set @x=1;
29106    SELECT done, @x;
29107END//
29108delimiter ;//
29109
29110CALL h1();
29111
29112# cleanup
29113--disable_warnings
29114DROP PROCEDURE IF EXISTS h1;
29115drop table IF EXISTS res_t1;
29116drop table IF EXISTS res_t2;
29117--enable_warnings
29118
29119
29120# ------------------------------------------------------------------------------
29121let $message= Testcase 4.11.30:;
29122--source include/show_msg80.inc
29123
29124# testcase: verify continue handler for sqlstate 20000 (er_sp_case_not_found)
29125
29126--disable_warnings
29127DROP PROCEDURE IF EXISTS h1;
29128drop table IF EXISTS res_t1;
29129drop table IF EXISTS res_t2;
29130--enable_warnings
29131
29132  create table res_t1(w char, x char);
29133
29134  insert into res_t1 values('a', 'b');
29135  insert into res_t1 values('c', 'd');
29136
29137  create table res_t2(y char, z char);
29138
29139delimiter //;
29140CREATE PROCEDURE h1()
29141BEGIN
29142    declare done int default 0;
29143    declare a, b char;
29144    declare cur1 cursor for SELECT w, x from res_t1;
29145    declare continue handler for sqlstate '20000' set done = 1;
29146    set @x=0;
29147    case @x
29148          when 1 then set @x=10;
29149          when 2 then set @x=11;
29150    END case;
29151    set @x=1;
29152    SELECT done, @x;
29153END//
29154delimiter ;//
29155
29156CALL h1();
29157
29158# cleanup
29159--disable_warnings
29160DROP PROCEDURE IF EXISTS h1;
29161drop table IF EXISTS res_t1;
29162drop table IF EXISTS res_t2;
29163--enable_warnings
29164
29165
29166# ------------------------------------------------------------------------------
29167let $message= Testcase 4.11.31:;
29168--source include/show_msg80.inc
29169
29170# testcase: verify exit handler for error code 1339 (er_sp_case_not_found)
29171
29172--disable_warnings
29173DROP PROCEDURE IF EXISTS h1;
29174drop table IF EXISTS res_t1;
29175drop table IF EXISTS res_t2;
29176--enable_warnings
29177
29178  create table res_t1(w char, x char);
29179
29180  insert into res_t1 values('a', 'b');
29181  insert into res_t1 values('c', 'd');
29182
29183  create table res_t2(y char, z char);
29184
29185delimiter //;
29186CREATE PROCEDURE h1()
29187BEGIN
29188    declare done int default 0;
29189    declare a, b char;
29190    declare cur1 cursor for SELECT w, x from res_t1;
29191    declare exit handler for 1339 set done = 1;
29192    set @x=0;
29193    case @x
29194          when 1 then set @x=10;
29195          when 2 then set @x=11;
29196    END case;
29197    set @x=1;
29198    SELECT done, @x;
29199END//
29200delimiter ;//
29201
29202CALL h1();
29203
29204# cleanup
29205--disable_warnings
29206DROP PROCEDURE IF EXISTS h1;
29207drop table IF EXISTS res_t1;
29208drop table IF EXISTS res_t2;
29209--enable_warnings
29210
29211
29212# ------------------------------------------------------------------------------
29213let $message= Testcase 4.11.32:;
29214--source include/show_msg80.inc
29215
29216# testcase: verify exit handler for sqlstate 20000 (er_sp_case_not_found)
29217
29218--disable_warnings
29219DROP PROCEDURE IF EXISTS h1;
29220drop table IF EXISTS res_t1;
29221drop table IF EXISTS res_t2;
29222--enable_warnings
29223
29224  create table res_t1(w char, x char);
29225
29226  insert into res_t1 values('a', 'b');
29227  insert into res_t1 values('c', 'd');
29228
29229  create table res_t2(y char, z char);
29230
29231delimiter //;
29232CREATE PROCEDURE h1()
29233BEGIN
29234    declare done int default 0;
29235    declare a, b char;
29236    declare cur1 cursor for SELECT w, x from res_t1;
29237    declare exit handler for sqlstate '20000' set done = 1;
29238    set @x=0;
29239    case @x
29240          when 1 then set @x=10;
29241          when 2 then set @x=11;
29242    END case;
29243    set @x=1;
29244    SELECT done, @x;
29245END//
29246delimiter ;//
29247
29248CALL h1();
29249
29250# cleanup
29251--disable_warnings
29252DROP PROCEDURE IF EXISTS h1;
29253DROP TABLE IF EXISTS res_t1;
29254DROP TABLE IF EXISTS res_t2;
29255--enable_warnings
29256
29257# ------------------------------------------------------------------------------
29258let $message= Testcase 4.11.33:;
29259--source include/show_msg80.inc
29260
29261# testcase: ensure that no two conditions declared with the same scope may have the same condition name.
29262#            (same condition name in same scope)
29263
29264--disable_warnings
29265DROP PROCEDURE IF EXISTS h1;
29266drop table IF EXISTS res_t1;
29267--enable_warnings
29268
29269  create table res_t1(w char, x char);
29270
29271  insert into res_t1 values('a', 'b');
29272  insert into res_t1 values('c', 'd');
29273
29274delimiter //;
29275--error ER_SP_DUP_COND
29276CREATE PROCEDURE h1()
29277BEGIN
29278      declare condname condition for sqlstate '20000';
29279    declare done int default 0;
29280      declare a, b char;
29281      declare condname condition for sqlstate '20000';
29282      declare cur1 cursor for SELECT w, x from t1;
29283    set @x=2;
29284    case @x
29285      when 1 then set @x=10;
29286        when 2 then set @x=11;
29287    END case;
29288    set @x=1;
29289    SELECT done, @x;
29290END//
29291delimiter ;//
29292
29293# cleanup
29294--disable_warnings
29295DROP TABLE IF EXISTS res_t1;
29296--enable_warnings
29297
29298
29299# ------------------------------------------------------------------------------
29300let $message= Testcase 4.11.35:;
29301
29302# Ensure that every sqlstate value declared with a declare condition for
29303# statement and declare handler is a character string that is 5 character and
29304# cannot be an invalid state.;
29305
29306--source include/show_msg80.inc
29307
29308--disable_warnings
29309DROP PROCEDURE IF EXISTS h1;
29310drop table IF EXISTS res_t1;
29311--enable_warnings
29312
29313CREATE TABLE res_t1(w INT UNIQUE, x CHAR);
29314
29315insert into res_t1 values (1, 'a');
29316
29317delimiter //;
29318
29319--error ER_SP_BAD_SQLSTATE
29320CREATE PROCEDURE h1 ()
29321begin1_label:BEGIN
29322   declare condname1 condition for sqlstate '020';
29323   declare condname2 condition for sqlstate 'wewe';
29324   declare condname3 condition for 9999;
29325   declare exit handler for sqlstate '020' set @var1 = 1;
29326   declare exit handler for sqlstate 'wewe'set @var1 = 1;
29327   declare exit handler for 9999 set @var1 = 1;
29328   set @var2 = 1;
29329   insert into res_t1 values (2, 'b');
29330   begin2_label: BEGIN
29331      declare continue handler for sqlstate '90000023' set @var3= 1;
29332      set @var4 = 1;
29333      insert into res_t1 values (3, 'c');
29334   END begin2_label;
29335END begin1_label//
29336
29337--error ER_SP_BAD_SQLSTATE
29338CREATE PROCEDURE h1 ()
29339begin1_label:BEGIN
29340   declare condname1 condition for sqlstate '020';
29341   declare condname2 condition for sqlstate 'wewe';
29342   declare condname3 condition for 9999;
29343   set @var2 = 1;
29344   insert into res_t1 values (2, 'b');
29345   begin2_label: BEGIN
29346      declare continue handler for sqlstate '90000023' set @var3= 1;
29347      set @var4 = 1;
29348      insert into res_t1 values (3, 'c');
29349   END begin2_label;
29350END begin1_label//
29351delimiter ;//
29352
29353# cleanup
29354--disable_warnings
29355DROP TABLE IF EXISTS res_t1;
29356--enable_warnings
29357
29358
29359# ------------------------------------------------------------------------------
29360let $message= Testcase 4.11.36:;
29361--source include/show_msg80.inc
29362
29363# testcase: ensure that the declare  condition for statement cannot declare a condition for the successful
29364#            completion sqlstate:  00000.
29365
29366
29367--disable_warnings
29368DROP PROCEDURE IF EXISTS h1;
29369--enable_warnings
29370
29371delimiter //;
29372CREATE PROCEDURE h1 ()
29373BEGIN
29374    declare x1 int default 0;
29375    BEGIN
29376        declare condname1 condition for sqlstate '00000';
29377      declare exit handler for condname1 set @x = 1;
29378      set x1 = 1;
29379      set x1 = 2;
29380    END;
29381    SELECT @x, x1;
29382END//
29383delimiter ;//
29384
29385# cleanup
29386--disable_warnings
29387DROP PROCEDURE IF EXISTS h1;
29388--enable_warnings
29389
29390
29391
29392
29393
29394
29395# ------------------------------------------------------------------------------
29396let $message= Testcase 4.11.40:;
29397--source include/show_msg80.inc
29398
29399# testcase: ensure that within the same scope, no two handlers may be declared for the same condition
29400
29401--disable_warnings
29402DROP PROCEDURE IF EXISTS h1;
29403DROP TABLE IF EXISTS res_t1;
29404--enable_warnings
29405
29406CREATE TABLE res_t1(w CHAR UNIQUE, x CHAR);
29407INSERT INTO res_t1 VALUES ('a', 'b');
29408
29409# suppressed--error for having two similar handlers in the same scope
29410
29411delimiter //;
29412--error ER_SP_DUP_HANDLER
29413CREATE PROCEDURE h1 ()
29414BEGIN
29415   DECLARE x1, x2, x3, x4, x5 int default 0;
29416   DECLARE condname1 CONDITION FOR SQLSTATE '42000';
29417   DECLARE condname2 CONDITION FOR SQLSTATE '42000';
29418   DECLARE CONTINUE HANDLER FOR condname1 set x1 = 1;
29419   DECLARE CONTINUE HANDLER FOR condname1 set x2 = 1;
29420   DECLARE EXIT HANDLER FOR condname1 SET x3 = 1;
29421   DECLARE CONTINUE HANDLER FOR condname2 SET x4 = 1;
29422   DECLARE EXIT HANDLER FOR condname2 SET x5 = 1;
29423END//
29424delimiter ;//
29425
29426#CALL h1();
29427
29428# cleanup
29429--disable_warnings
29430DROP PROCEDURE IF EXISTS h1;
29431DROP TABLE IF EXISTS res_t1;
29432--enable_warnings
29433
29434
29435# ------------------------------------------------------------------------------
29436let $message= Testcase 4.11.41:;
29437--source include/show_msg80.inc
29438
29439# testcase: ensure that the declare  handler for statement cannot declare a condition for the successful
29440#            completion sqlstate:  00000.
29441
29442--disable_warnings
29443DROP PROCEDURE IF EXISTS h1;
29444--enable_warnings
29445
29446delimiter //;
29447CREATE PROCEDURE h1 ()
29448BEGIN
29449   DECLARE x1 INT DEFAULT 0;
29450   BEGIN
29451      DECLARE condname1 CONDITION FOR SQLSTATE '00000';
29452      DECLARE EXIT HANDLER FOR SQLSTATE '00000' SET @x = 1;
29453      SET x1 = 1;
29454      SET x1 = 2;
29455   END;
29456   SELECT @x, x1;
29457END//
29458delimiter ;//
29459
29460CALL h1();
29461
29462# cleanup
29463--disable_warnings
29464DROP PROCEDURE IF EXISTS h1;
29465--enable_warnings
29466
29467
29468# ------------------------------------------------------------------------------
29469# FIXME 3.1.2.53: check numbering difference
29470let $message= * Testcase 3.1.2.53 (4.11.42):
29471* Ensure that a handler condition of sqlwarning takes the same action as a
29472* handler condition defined with an sqlstate that begins with 01.;
29473--source include/show_msg80.inc
29474
29475
29476--disable_warnings
29477DROP PROCEDURE IF EXISTS h1;
29478DROP TABLE IF EXISTS res_t1;
29479--enable_warnings
29480
29481delimiter //;
29482CREATE PROCEDURE h1()
29483BEGIN
29484   DECLARE EXIT HANDLER FOR SQLWARNING SET @done = 1;
29485   SET @done=0;
29486   SET @x=1;
29487   INSERT INTO res_t1 VALUES('xxx', 'yy');
29488   SET @x=0;
29489END//
29490delimiter ;//
29491
29492# table doesn't exist
29493--error ER_NO_SUCH_TABLE
29494CALL h1();
29495SELECT @done, @x;
29496
29497CREATE TABLE res_t1(w CHAR, x CHAR);
29498INSERT INTO res_t1 VALUES('a', 'b');
29499INSERT INTO res_t1 VALUES('c', 'd');
29500
29501# now table exists
29502CALL h1();
29503SELECT @done, @x;
29504
29505--disable_warnings
29506DROP PROCEDURE IF EXISTS h1;
29507DROP TABLE IF EXISTS res_t1;
29508--enable_warnings
29509
29510delimiter //;
29511CREATE PROCEDURE h1()
29512BEGIN
29513   DECLARE CONTINUE HANDLER FOR SQLWARNING SET @done = 1;
29514   SET @done=0;
29515   SET @x=0;
29516   INSERT INTO res_t1 VALUES('xxx', 'yy');
29517   SET @x=1;
29518END//
29519delimiter ;//
29520
29521# table doesn't exist
29522--error ER_NO_SUCH_TABLE
29523CALL h1();
29524SELECT @done, @x;
29525
29526CREATE TABLE res_t1(w CHAR, x CHAR);
29527INSERT INTO res_t1 VALUES('a', 'b');
29528INSERT INTO res_t1 VALUES('c', 'd');
29529
29530# now table exists
29531CALL h1();
29532SELECT @done, @x;
29533
29534# cleanup
29535--disable_warnings
29536DROP PROCEDURE IF EXISTS h1;
29537DROP TABLE IF EXISTS res_t1;
29538--enable_warnings
29539
29540
29541# ==============================================================================
29542# USE the same .inc to cleanup before and after the test
29543--source suite/funcs_1/storedproc/cleanup_sp_tb.inc
29544
29545# ==============================================================================
29546let $message= .                               +++ END OF SCRIPT +++;
29547--source include/show_msg80.inc
29548# ==============================================================================
29549