mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / funcs_1 / t / storedproc.test
blob16c4d61bf586eee2fb175d27b969e0a30a6e2d20
1 # suite/funcs_1/t/storedproc.test
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 ############################################################################
13 # Bug#37746 - Arithmetic range ("int") is smaller than expected
14 # This code is in place to ensure this test is only skipped
15 # for the Win64 platform
16 if(`SELECT CONVERT(@@version_compile_os using latin1) IN ("Win64")`)
18 --skip Bug#37746 2009-07-07 pcrews Arithmetic range ("int") is smaller than expected
24 # This test cannot be used for the embedded server because we check here
25 # privileges.
26 --source include/not_embedded.inc
28 # It is assumed that the storage engine used for some tables has no impact on
29 # the outcome of this test. Therefor we use simply the fastest engine.
30 let $engine_type= memory;
32 --source suite/funcs_1/storedproc/load_sp_tb.inc
35 # ==============================================================================
36 echo;
37 echo
38 Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE
39 FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW
40 CREATE PROCEDURE, SHOW CREATE FUNCTION, SHOW CREATE PROCEDURE STATUS, SHOW
41 CREATE FUNCTION STATUS, and CALL statements:;
42 echo --------------------------------------------------------------------------------;
45 # ------------------------------------------------------------------------------
46 echo;
47 echo
48 Testcase 4.1.1:
49 ---------------
50 Ensure that all clauses that should be supported are supported
51 CREATE PROCEDURE;
52 echo --------------------------------------------------------------------------------;
54 USE db_storedproc;
56 --disable_warnings
57 --error ER_TOO_LONG_IDENT
58 DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
59 --enable_warnings
61 --error ER_TOO_LONG_IDENT
62 CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934 (f1 char(20) )
63             SELECT * from t1 where f2 = f1;
64 --error ER_TOO_LONG_IDENT
65 CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934('aaaa');
67 --disable_warnings
68 --error ER_TOO_LONG_IDENT
69 DROP PROCEDURE IF EXISTS sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
70 --enable_warnings
72 delimiter //;
73 --error ER_TOO_LONG_IDENT
74 CREATE PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( f1 TINYTEXT )
75    LANGUAGE SQL DETERMINISTIC SQL SECURITY DEFINER COMMENT 'this is simple'
76 BEGIN
77    SET @v1 = f1;
78    SELECT @v1, @v1;
79 END//
80 delimiter ;//
82 --error ER_TOO_LONG_IDENT
83 CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' );
85 --replace_column 5 <modified> 6 <created>
86 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
88 --disable_warnings
89 DROP PROCEDURE IF EXISTS sp1;
90 --enable_warnings
92 delimiter //;
93 CREATE PROCEDURE sp1( f1 BINARY )
94    LANGUAGE SQL DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
95 BEGIN
96    SET @v1 = f1;
97    SELECT @v1;
98 END//
99 delimiter ;//
101 CALL sp1( 34 );
103 --replace_column 5 <modified> 6 <created>
104 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
106 --disable_warnings
107 DROP PROCEDURE IF EXISTS sp1;
108 --enable_warnings
110 delimiter //;
111 CREATE PROCEDURE sp1( f1 BLOB )
112    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
113 BEGIN
114    set @v1 = f1;
115    SELECT @v1;
116 END//
117 delimiter ;//
119 CALL sp1( 34 );
121 --replace_column 5 <modified> 6 <created>
122 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
124 --disable_warnings
125 DROP PROCEDURE IF EXISTS sp1;
126 --enable_warnings
128 delimiter //;
129 CREATE PROCEDURE sp1( f1 INT )
130    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
131 BEGIN
132    SET @v1 = f1;
133    SELECT @v1;
134 END//
135 delimiter ;//
137 CALL sp1( 34 );
139 --replace_column 5 <modified> 6 <created>
140 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
142 --disable_warnings
143 DROP PROCEDURE IF EXISTS sp1;
144 --enable_warnings
146 delimiter //;
147 --error ER_TOO_BIG_PRECISION
148 CREATE PROCEDURE sp1( f1 DECIMAL(256, 30) )
149    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
150 BEGIN
151    SET @v1 = f1;
152    SELECT @v1;
153 END//
154 DROP PROCEDURE IF EXISTS sp1//
156 --error ER_TOO_BIG_PRECISION
157 CREATE PROCEDURE sp1( f1 DECIMAL(66, 30) )
158    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
159 BEGIN
160    SET @v1 = f1;
161    SELECT @v1;
162 END//
163 DROP PROCEDURE IF EXISTS sp1//
164 delimiter ;//
167 # Check assignment of float values to DECIMAL(65, 30) parameters of
168 # PRODDUREs and FUNCTIONs.
169 ###########################################################################
170 # - The assignment of float values causes that conversions with OS/compiler
171 #   specific math libraries are involved.
172 #   --> The content depends on the testing box and simple printing
173 #       of content will often lead to differences.
174 # - We have the same conversions when assigning float values to columns
175 #   of tables.
176 # --> Reveal that we have a consistent behaviour per testing box.
178 # Checks that floating point values assigned to objects of type DECIMAL
179 # end up with correct DECIMAL values (truncated to a border of the DECIMAL
180 # value range or reasonable nearby the floating point value) must be done
181 # in other tests.
182 ###########################################################################
183 --disable_warnings
184 DROP TABLE IF EXISTS t1_aux;
185 DROP PROCEDURE IF EXISTS sproc_1;
186 DROP FUNCTION IF EXISTS func_1;
187 --enable_warnings
188 CREATE TABLE t1_aux ( f1 DECIMAL(65, 30) );
189 INSERT INTO t1_aux SET f1 = NULL;
190 delimiter //;
191 CREATE PROCEDURE sproc_1(f1 DECIMAL(65, 30), OUT f2 DECIMAL(65, 30))
192    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
193 BEGIN
194    SET f2 = NULL;
195    SET f2 = f1;
196    SET @v2_proc = f1;
197 END//
198 CREATE FUNCTION func_1(f1 DECIMAL(65, 30)) RETURNS DECIMAL(65,30)
199    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
200 BEGIN
201     RETURN f1;
202 END//
203 delimiter ;//
204 --replace_column 5 <modified> 6 <created>
205 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
206 --replace_column 5 <modified> 6 <created>
207 SHOW FUNCTION STATUS WHERE db = 'db_storedproc';
209 let $test_value = 1.7976931348623157493578e+308;
210 --source suite/funcs_1/storedproc/param_check.inc
212 # Check all ...E+nnn
213 let digits= 100;
214 let $run= 1;
215 while ($run)
217    let $test_value = 0.1234567890987654321e+$digits;
218    --source suite/funcs_1/storedproc/param_check.inc
219    let $run = `SELECT $digits > 0`;
220    if ($run)
221    {
222       dec $digits;
223    }
225 # Check all ...E-nnn
226 let digits= 100;
227 let $run= 1;
228 while ($run)
230    let $test_value = 0.1234567890987654321e-$digits;
231    --source suite/funcs_1/storedproc/param_check.inc
232    let $run = `SELECT $digits > 0`;
233    if ($run)
234    {
235       dec $digits;
236    }
239 # Cleanup
240 DROP PROCEDURE sproc_1;
241 DROP FUNCTION  func_1;
242 DROP TABLE     t1_aux;
244 --disable_warnings
245 DROP PROCEDURE IF EXISTS sp1;
246 --enable_warnings
248 delimiter //;
249 CREATE PROCEDURE sp1( f1 ENUM("value1", "value1") )
250    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
251 BEGIN
252    SELECT f1;
253 END//
254 delimiter ;//
256 CALL sp1( "value1" );
258 --replace_column 5 <modified> 6 <created>
259 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
261 --disable_warnings
262 DROP PROCEDURE IF EXISTS sp1;
263 --enable_warnings
265 delimiter //;
266 CREATE PROCEDURE sp1( f1 SET("value1", "value1") )
267    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
268 BEGIN
269    SELECT f1;
270 END//
271 delimiter ;//
273 CALL sp1( "value1, value1" );
275 --replace_column 5 <modified> 6 <created>
276 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
278 --disable_warnings
279 DROP PROCEDURE IF EXISTS sp1;
280 --enable_warnings
282 delimiter //;
283 CREATE PROCEDURE sp1( f1 ENUM("value1", "value1") )
284    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
285 BEGIN
286    SELECT f1;
287 END//
288 delimiter ;//
290 CALL sp1( "value1" );
292 --replace_column 5 <modified> 6 <created>
293 SHOW PROCEDURE STATUS WHERE db = 'db_storedproc';
295 --disable_warnings
296 DROP PROCEDURE IF EXISTS sp1;
297 --enable_warnings
299 CREATE PROCEDURE sp1( f1 TEXT ) LANGUAGE SQL SELECT f1;
301 CALL sp1( 'abc' );
303 --replace_column 5 <modified> 6 <created>
304 SHOW PROCEDURE STATUS LIKE 'sp1';
306 --disable_warnings
307 DROP PROCEDURE IF EXISTS sp1;
308 --enable_warnings
310 CREATE PROCEDURE sp1( f1 text ) deterministic SELECT f1;
311 CALL sp1( 'abc' );
313 --replace_column 5 <modified> 6 <created>
314 SHOW PROCEDURE STATUS LIKE 'sp1';
316 --disable_warnings
317 DROP PROCEDURE IF EXISTS sp1;
318 --enable_warnings
320 CREATE PROCEDURE sp1( f1 TEXT ) NOT DETERMINISTIC SELECT f1;
321 CALL sp1( 'abc' );
323 --replace_column 5 <modified> 6 <created>
324 SHOW PROCEDURE STATUS LIKE 'sp1';
326 --disable_warnings
327 DROP PROCEDURE IF EXISTS sp1;
328 --enable_warnings
330 CREATE PROCEDURE sp1( f1 TEXT ) SQL SECURITY DEFINER SELECT f1;
331 CALL sp1( 'abc' );
333 --replace_column 5 <modified> 6 <created>
334 SHOW PROCEDURE STATUS LIKE 'sp1';
336 --disable_warnings
337 DROP PROCEDURE IF EXISTS sp1;
338 --enable_warnings
340 CREATE PROCEDURE sp1( f1 TEXT ) SQL SECURITY INVOKER SELECT f1;
341 CALL sp1( 'abc' );
343 --replace_column 5 <modified> 6 <created>
344 SHOW PROCEDURE STATUS LIKE 'sp1';
346 --disable_warnings
347 DROP PROCEDURE IF EXISTS sp1;
348 --enable_warnings
350 CREATE PROCEDURE sp1( f1 TEXT ) COMMENT 'this is simple' SELECT f1;
351 CALL sp1( 'abc' );
353 --replace_column 5 <modified> 6 <created>
354 SHOW PROCEDURE STATUS LIKE 'sp1';
356 # cleanup
357 DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongname234872934;
358 DROP PROCEDURE sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde;
359 DROP PROCEDURE sp1;
361 # ------------------------------------------------------------------------------
362 let $message= Testcase 4.1.2:
363               ---------------
364               Ensure that all clauses that should be supported are supported
365               CREATE FUNCTION;
366 --source include/show_msg80.inc
369 --disable_warnings
370 DROP FUNCTION IF EXISTS fn1;
371 --enable_warnings
373 CREATE FUNCTION fn1 (s CHAR(20)) RETURNS CHAR(50)
374    RETURN CONCAT('hello, ', s, '!');
375 SELECT fn1('world');
377 --disable_warnings
378 DROP FUNCTION IF EXISTS fn1;
379 --enable_warnings
381 delimiter //;
382 CREATE FUNCTION fn1( f1 MEDIUMTEXT ) RETURNS MEDIUMTEXT
383    LANGUAGE SQL DETERMINISTIC SQL SECURITY DEFINER COMMENT 'this is simple'
384 BEGIN
385    SET @v1 = 'hello';
386    SET f1 = CONCAT( @v1, f1 );
387    RETURN f1;
388 END//
389 delimiter ;//
391 SELECT fn1( ' world');
393 --replace_column 5 <modified> 6 <created>
394 SHOW FUNCTION STATUS LIKE 'fn1';
396 --disable_warnings
397 DROP FUNCTION IF EXISTS fn1;
398 --enable_warnings
400 delimiter //;
401 CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT
402    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
403 BEGIN
404    SET f1 = 1 + f1;
405    RETURN f1;
406 END//
407 delimiter ;//
409 SELECT fn1( 126 );
411 --replace_column 5 <modified> 6 <created>
412 SHOW FUNCTION STATUS LIKE 'fn1';
414 --disable_warnings
415 DROP FUNCTION IF EXISTS fn1;
416 --enable_warnings
418 delimiter //;
419 # 1425: Too big scale 63 specified for column ''. Maximum is 30.
420 --error ER_TOO_BIG_SCALE
421 CREATE FUNCTION fn1( f1 DECIMAL(63, 31) ) RETURNS DECIMAL(63, 31)
422    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
423 BEGIN
424    SET f1 = 1000000 + f1;
425    RETURN f1;
426 END//
427 delimiter ;//
429 --error ER_SP_DOES_NOT_EXIST
430 SELECT fn1( 1.3326e+8 );
432 delimiter //;
433 CREATE FUNCTION fn1( f1 DECIMAL(63, 30) ) RETURNS DECIMAL(63, 30)
434    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
435 BEGIN
436    SET f1 = 1000000 + f1;
437    RETURN f1;
438 END//
439 delimiter ;//
441 SELECT fn1( 1.3326e+8 );
443 --replace_column 5 <modified> 6 <created>
444 SHOW FUNCTION STATUS LIKE 'fn1';
446 --disable_warnings
447 DROP FUNCTION IF EXISTS fn1;
448 --enable_warnings
450 delimiter //;
451 CREATE FUNCTION fn1( f1 ENUM("value1", "value1") ) RETURNS DECIMAL(63, 30)
452    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
453 BEGIN
454    RETURN f1;
455 END//
456 delimiter ;//
458 # warnings for this select disabled due to diffs with/without --ps-protocol:
459 # without ps-protocol the following warning is shown:
460 # +Note   1291    Column '' has duplicated value 'value1' in SET
461 # +Warning        1265    Data truncated for column 'f1' at row 1
462 # Reported as BUG#33396
463 --disable_warnings
464 SELECT fn1( "value1" );
465 --enable_warnings
467 --replace_column 5 <modified> 6 <created>
468 SHOW FUNCTION STATUS LIKE 'fn1';
470 --disable_warnings
471 DROP FUNCTION IF EXISTS fn1;
472 --enable_warnings
474 delimiter //;
475 CREATE FUNCTION fn1( f1 SET("value1", "value1") ) RETURNS DECIMAL(63, 30)
476    LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple'
477 BEGIN
478    RETURN f1;
479 END//
480 delimiter ;//
482 # warnings for this select disabled due to diffs with/without --ps-protocol:
483 # without ps-protocol the following warning is shown:
484 # +Note   1291    Column '' has duplicated value 'value1' in SET
485 # +Warning        1265    Data truncated for column 'f1' at row 1
486 # Reported as BUG#33396
487 --disable_warnings
488 SELECT fn1( "value1, value1" );
489 --enable_warnings
491 --replace_column 5 <modified> 6 <created>
492 SHOW FUNCTION STATUS LIKE 'fn1';
494 --disable_warnings
495 DROP FUNCTION IF EXISTS fn1;
496 --enable_warnings
498 delimiter //;
499 CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT LANGUAGE SQL
500 BEGIN
501    SET f1 = 1 + f1;
502    RETURN f1;
503 END//
504 delimiter ;//
506 SELECT fn1( 126 );
508 --replace_column 5 <modified> 6 <created>
509 SHOW FUNCTION STATUS LIKE 'fn1';
511 --disable_warnings
512 DROP FUNCTION IF EXISTS fn1;
513 --enable_warnings
515 delimiter //;
516 CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT DETERMINISTIC
517 BEGIN
518    SET f1 = 1 + f1;
519    RETURN f1;
520 END//
521 delimiter ;//
523 SELECT fn1( 126 );
525 --replace_column 5 <modified> 6 <created>
526 SHOW FUNCTION STATUS LIKE 'fn1';
528 --disable_warnings
529 DROP FUNCTION IF EXISTS fn1;
530 --enable_warnings
532 delimiter //;
533 CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT NOT DETERMINISTIC
534 BEGIN
535    SET f1 = 1 + f1;
536    RETURN f1;
537 END//
538 delimiter ;//
540 SELECT fn1( 126 );
542 --replace_column 5 <modified> 6 <created>
543 SHOW FUNCTION STATUS LIKE 'fn1';
545 --disable_warnings
546 DROP FUNCTION IF EXISTS fn1;
547 --enable_warnings
549 delimiter //;
550 CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT SQL SECURITY DEFINER
551 BEGIN
552    SET f1 = 1 + f1;
553    RETURN f1;
554 END//
555 delimiter ;//
557 SELECT fn1( 126 );
559 --replace_column 5 <modified> 6 <created>
560 SHOW FUNCTION STATUS LIKE 'fn1';
562 --disable_warnings
563 DROP FUNCTION IF EXISTS fn1;
564 --enable_warnings
566 delimiter //;
567 CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT SQL SECURITY INVOKER
568 BEGIN
569   SET f1 = 1 + f1;
570   RETURN f1;
571 END//
572 delimiter ;//
574 SELECT fn1( 126 );
576 --replace_column 5 <modified> 6 <created>
577 SHOW FUNCTION STATUS LIKE 'fn1';
579 --disable_warnings
580 DROP FUNCTION IF EXISTS fn1;
581 --enable_warnings
583 delimiter //;
584 CREATE FUNCTION fn1( f1 SMALLINT ) RETURNS SMALLINT COMMENT 'this is simple'
585 BEGIN
586    SET f1 = 1 + f1;
587    RETURN f1;
588 END//
589 delimiter ;//
591 SELECT fn1( 126 );
593 --replace_column 5 <modified> 6 <created>
594 SHOW FUNCTION STATUS LIKE 'fn1';
596 # cleanup
597 DROP FUNCTION fn1;
599 # ------------------------------------------------------------------------------
600 let $message= Testcase 4.1.3:
601               ---------------
602               Ensure that all clauses that should be supported are supported
603               SHOW CREATE PROC;
604 --source include/show_msg80.inc
606 --disable_warnings
607 DROP PROCEDURE IF EXISTS sp1;
608 --enable_warnings
610 CREATE PROCEDURE sp1 (f1 char(20) )
611     SELECT * from t1 where f2 = f1;
613 --replace_column 5 <modified> 6 <created>
614 show CREATE PROCEDURE sp1;
616 # cleanup
617 DROP PROCEDURE sp1;
619 # ------------------------------------------------------------------------------
620 let $message= Testcase 4.1.4:
621               ---------------
622 show create function;
623 --source include/show_msg80.inc
625 --disable_warnings
626 DROP FUNCTION IF EXISTS fn1;
627 --enable_warnings
629 CREATE FUNCTION fn1 (s char(20)) returns char(50)
630    return concat('hello, ', s, '!');
632 --replace_column 5 <modified> 6 <created>
633 show CREATE FUNCTION fn1;
635 # cleanup
636 DROP FUNCTION fn1;
638 # ------------------------------------------------------------------------------
639 let $message= Testcase 4.1.5:
640               ---------------
641 SHOW PROCEDURE status;
642 --source include/show_msg80.inc
645 CREATE PROCEDURE sp5()
646    SELECT * from t1;
648 --replace_column 5 <modified> 6 <created>
649 SHOW PROCEDURE status like 'sp5';
651 # cleanup
652 DROP PROCEDURE sp5;
654 # ------------------------------------------------------------------------------
655 let $message= Testcase 4.1.6:
656               ---------------
657 show function status;
658 --source include/show_msg80.inc
661 delimiter //;
662 CREATE FUNCTION fn5(a int) returns int
663 BEGIN
664    set @b = 0.9 * a;
665    return @b;
666 END//
667 delimiter ;//
669 --replace_column 5 <modified> 6 <created>
670 SHOW FUNCTION STATUS LIKE 'fn5';
672 # cleanup
673 DROP FUNCTION fn5;
675 # ------------------------------------------------------------------------------
676 let $message= Testcase 4.1.7:
677               ---------------
678 CALL procedure;
679 --source include/show_msg80.inc
681 --disable_warnings
682 DROP PROCEDURE IF EXISTS sp7a;
683 DROP PROCEDURE IF EXISTS sp7b;
684 DROP PROCEDURE IF EXISTS sp7c;
685 --enable_warnings
687 CREATE PROCEDURE sp7a(a char(20))
688     SELECT * from t1 where t1.f2 = a;
690 CALL sp7a( 'xyz' );
692 CREATE PROCEDURE sp7b (a char (20), out b char(20))
693     SELECT f1 into b from t1 where t1.f2= a;
695 CALL sp7b('xyz', @out_param);
696 SELECT @out_param;
698 delimiter //;
699 CREATE PROCEDURE sp7c (a char (20), out b char(20), inout c int)
700 BEGIN
701 SELECT f1 into b from t1 where t1.f2=a;
702    update t1 set t1.f2=999 where t1.f4=c;
703 SELECT f2 into c from t1 where t1.f2=999;
704 END//
705 delimiter ;//
707 --disable_warnings
708 set @c=1;
709 CALL sp7c('xyz', @out_param, @c);
710 SELECT @out_param;
711 SELECT @c;
712 --enable_warnings
714 # cleanup
715 DROP PROCEDURE sp7a;
716 DROP PROCEDURE sp7b;
717 DROP PROCEDURE sp7c;
720 # ------------------------------------------------------------------------------
721 let $message= Testcase 4.1.8:
722               ---------------
723 calling function;
724 --source include/show_msg80.inc
727 CREATE FUNCTION fn8(a char(20)) returns char(50)
728 return concat('hello, ', a, '!');
729 SELECT fn8('world');
731 # cleanup
732 DROP FUNCTION fn8;
734 # ------------------------------------------------------------------------------
735 let $message= Testcase 4.1.9:
736               ---------------
737 drop procedure;
738 --source include/show_msg80.inc
740 --sorted_result
741 --replace_column 13 created 14 modified
742 SELECT * from mysql.proc where specific_name='sp9';
744 --disable_warnings
745 DROP PROCEDURE IF EXISTS sp9;
746 --enable_warnings
748 --sorted_result
749 --replace_column 13 created 14 modified
750 SELECT * from mysql.proc where specific_name='sp9';
752 CREATE PROCEDURE sp9()SELECT * from t1;
754 --sorted_result
755 --replace_column 13 created 14 modified
756 SELECT * from mysql.proc where specific_name='sp9';
758 DROP PROCEDURE sp9;
760 --sorted_result
761 --replace_column 13 created 14 modified
762 SELECT * from mysql.proc where specific_name='sp9';
764 CREATE PROCEDURE sp9()SELECT * from t1;
766 --sorted_result
767 --replace_column 13 created 14 modified
768 SELECT * from mysql.proc where specific_name='sp9';
770 DROP PROCEDURE IF EXISTS sp9;
772 --sorted_result
773 --replace_column 13 created 14 modified
774 SELECT * from mysql.proc where specific_name='sp9';
776 # ------------------------------------------------------------------------------
777 let $message= Testcase 4.1.10:
778               ----------------
779 DROP FUNCTION;
780 --source include/show_msg80.inc
782 --replace_column 13 created 14 modified
783 SELECT * from mysql.proc where specific_name='fn10' and type='function';
785 --disable_warnings
786 DROP FUNCTION IF EXISTS fn10;
787 --enable_warnings
789 --replace_column 13 created 14 modified
790 SELECT * from mysql.proc where specific_name='fn10' and type='function';
793 CREATE FUNCTION fn10() returns int return 100;
795 --replace_column 13 created 14 modified
796 SELECT * from mysql.proc where specific_name='fn10' and type='function';
798 DROP FUNCTION fn10;
800 --replace_column 13 created 14 modified
801 SELECT * from mysql.proc where specific_name='fn10' and type='function';
803 CREATE FUNCTION fn10() returns int return 100;
805 --replace_column 13 created 14 modified
806 SELECT * from mysql.proc where specific_name='fn10' and type='function';
808 DROP FUNCTION IF EXISTS fn10;
810 --replace_column 13 created 14 modified
811 SELECT * from mysql.proc where specific_name='fn10' and type='function';
814 # ------------------------------------------------------------------------------
815 let $message= Testcase 4.1.11:
816               ----------------
817 alter proc;
818 --source include/show_msg80.inc
821 create user 'user_1'@'localhost';
822 grant execute on db_storedproc.* to 'user_1'@'localhost';
823 flush privileges;
824 drop table IF EXISTS mysql.t1;
825 create table mysql.t1( f1 char );
826 DROP PROCEDURE IF EXISTS sp11;
827 CREATE PROCEDURE sp11() insert into mysql.t1 values('a');
828 --replace_column 13 created 14 modified
829 SELECT security_type from mysql.proc where specific_name='sp11';
831 --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
832 connect (u_1, localhost, user_1, , db_storedproc);
833 --source suite/funcs_1/include/show_connection.inc
835 CALL sp11();
837 connection default;
838 USE db_storedproc;
839 --source suite/funcs_1/include/show_connection.inc
841 alter procedure sp11 sql security invoker;
842 --replace_column 13 created 14 modified
843 SELECT security_type from mysql.proc where specific_name='sp11';
845 --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
846 connection u_1;
847 --source suite/funcs_1/include/show_connection.inc
848 USE db_storedproc;
850 --error ER_TABLEACCESS_DENIED_ERROR
851 CALL sp11();
853 commit work;
854 disconnect u_1;
855 connection default;
856 --source suite/funcs_1/include/show_connection.inc
858 alter procedure sp11 sql security DEFINER;
859 --replace_column 13 created 14 modified
860 SELECT security_type from mysql.proc where specific_name='sp11';
861 CALL sp11();
863 # cleanup
864 DROP USER 'user_1'@'localhost';
865 DROP PROCEDURE sp11;
866 drop table mysql.t1;
869 # ------------------------------------------------------------------------------
870 let $message= Testcase 4.1.12:
871               ----------------
872 alter function;
873 --source include/show_msg80.inc
876 CREATE FUNCTION fn12() returns int
877  return 100;
878 SELECT security_type from mysql.proc where specific_name='fn12';
879 --replace_column 13 created 14 modified
880 SELECT fn12();
882 alter function fn12 sql security invoker;
883 SELECT security_type from mysql.proc where specific_name='fn12';
884 --replace_column 13 created 14 modified
885 SELECT fn12();
887 alter function fn12 sql security DEFINER;
888 SELECT security_type from mysql.proc where specific_name='fn12';
889 --replace_column 13 created 14 modified
890 SELECT fn12();
892 # cleanup
893 DROP FUNCTION fn12;
896 # ------------------------------------------------------------------------------
897 let $message= Testcase 4.1.13:
898               ----------------
899 alter proc;
900 --source include/show_msg80.inc
903 DROP PROCEDURE IF EXISTS sp11;
904 CREATE PROCEDURE sp11()
905    SELECT * from t1;
907 SELECT comment from mysql.proc where specific_name='sp11';
908 --replace_column 13 created 14 modified
909 alter procedure sp11 comment 'this is simple';
910 SELECT comment from mysql.proc where specific_name='sp11';
911 --replace_column 13 created 14 modified
913 # cleanup
914 DROP PROCEDURE sp11;
917 # ------------------------------------------------------------------------------
918 let $message= Testcase 4.1.14:
919               ----------------
920 alter function;
921 --source include/show_msg80.inc
923 DROP FUNCTION IF EXISTS fn12;
924 CREATE FUNCTION fn12() returns int
925     return 100;
926   SELECT comment from mysql.proc where specific_name='fn12';
927 --replace_column 13 created 14 modified
929   alter function fn12 comment 'this is simple';
930   SELECT comment from mysql.proc where specific_name='fn12';
931 --replace_column 13 created 14 modified
933 # cleanup
934 DROP FUNCTION fn12;
937 # ------------------------------------------------------------------------------
938 let $message= Testcase 4.1.15:
939               ----------------
940 Ensure that any invalid stored procedure name is never accepted, and that an
941 appropriate error message is returned when the name is rejected;
942 --source include/show_msg80.inc
945 --error ER_SP_NO_DROP_SP
946 CREATE PROCEDURE sp1()
947 DROP PROCEDURE sp1;
949 --error ER_PARSE_ERROR
950 CREATE PROCEDURE !_sp1( f1 char(20) )
951 SELECT * from t1 where f2 = f1;
953 CREATE PROCEDURE function()
954    SELECT * from t1 where f2=f1;
955 DROP PROCEDURE function;
957 --error ER_PARSE_ERROR
958 CREATE PROCEDURE accessible()
959    SELECT * from t1 where f2=f1;
961 --error ER_PARSE_ERROR
962 CREATE PROCEDURE add()
963    SELECT * from t1 where f2=f1;
965 --error ER_PARSE_ERROR
966 CREATE PROCEDURE all()
967    SELECT * from t1 where f2=f1;
969 --error ER_PARSE_ERROR
970 CREATE PROCEDURE alter()
971    SELECT * from t1 where f2=f1;
973 --error ER_PARSE_ERROR
974 CREATE PROCEDURE analyze()
975    SELECT * from t1 where f2=f1;
977 --error ER_PARSE_ERROR
978 CREATE PROCEDURE and()
979    SELECT * from t1 where f2=f1;
981 --error ER_PARSE_ERROR
982 CREATE PROCEDURE as()
983    SELECT * from t1 where f2=f1;
985 --error ER_PARSE_ERROR
986 CREATE PROCEDURE asc()
987    SELECT * from t1 where f2=f1;
989 --error ER_PARSE_ERROR
990 CREATE PROCEDURE asensitive()
991    SELECT * from t1 where f2=f1;
993 --error ER_PARSE_ERROR
994 CREATE PROCEDURE before()
995    SELECT * from t1 where f2=f1;
997 --error ER_PARSE_ERROR
998 CREATE PROCEDURE between()
999    SELECT * from t1 where f2=f1;
1001 --error ER_PARSE_ERROR
1002 CREATE PROCEDURE bigint()
1003    SELECT * from t1 where f2=f1;
1005 --error ER_PARSE_ERROR
1006 CREATE PROCEDURE binary()
1007    SELECT * from t1 where f2=f1;
1009 --error ER_PARSE_ERROR
1010 CREATE PROCEDURE blob()
1011    SELECT * from t1 where f2=f1;
1013 --error ER_PARSE_ERROR
1014 CREATE PROCEDURE both()
1015    SELECT * from t1 where f2=f1;
1017 --error ER_PARSE_ERROR
1018 CREATE PROCEDURE by()
1019    SELECT * from t1 where f2=f1;
1021 --error ER_PARSE_ERROR
1022 CREATE PROCEDURE call()
1023    SELECT * from t1 where f2=f1;
1025 --error ER_PARSE_ERROR
1026 CREATE PROCEDURE cascade()
1027    SELECT * from t1 where f2=f1;
1029 --error ER_PARSE_ERROR
1030 CREATE PROCEDURE case()
1031    SELECT * from t1 where f2=f1;
1033 --error ER_PARSE_ERROR
1034 CREATE PROCEDURE change()
1035    SELECT * from t1 where f2=f1;
1037 --error ER_PARSE_ERROR
1038 CREATE PROCEDURE char()
1039    SELECT * from t1 where f2=f1;
1041 --error ER_PARSE_ERROR
1042 CREATE PROCEDURE character()
1043    SELECT * from t1 where f2=f1;
1045 --error ER_PARSE_ERROR
1046 CREATE PROCEDURE check()
1047    SELECT * from t1 where f2=f1;
1049 --error ER_PARSE_ERROR
1050 CREATE PROCEDURE collate()
1051    SELECT * from t1 where f2=f1;
1053 --error ER_PARSE_ERROR
1054 CREATE PROCEDURE column()
1055    SELECT * from t1 where f2=f1;
1057 --error ER_PARSE_ERROR
1058 CREATE PROCEDURE condition()
1059    SELECT * from t1 where f2=f1;
1061 --error ER_PARSE_ERROR
1062 CREATE PROCEDURE constraint()
1063    SELECT * from t1 where f2=f1;
1065 --error ER_PARSE_ERROR
1066 CREATE PROCEDURE continue()
1067    SELECT * from t1 where f2=f1;
1069 --error ER_PARSE_ERROR
1070 CREATE PROCEDURE convert()
1071    SELECT * from t1 where f2=f1;
1073 --error ER_PARSE_ERROR
1074 CREATE PROCEDURE create()
1075    SELECT * from t1 where f2=f1;
1077 --error ER_PARSE_ERROR
1078 CREATE PROCEDURE cross()
1079    SELECT * from t1 where f2=f1;
1081 --error ER_PARSE_ERROR
1082 CREATE PROCEDURE current_date()
1083   SELECT * from t1 where f2=f1;
1085 --error ER_PARSE_ERROR
1086 CREATE PROCEDURE current_time()
1087    SELECT * from t1 where f2=f1;
1089 --error ER_PARSE_ERROR
1090 CREATE PROCEDURE current_timestamp()
1091    SELECT * from t1 where f2=f1;
1093 --error ER_PARSE_ERROR
1094 CREATE PROCEDURE current_user()
1095    SELECT * from t1 where f2=f1;
1097 --error ER_PARSE_ERROR
1098 CREATE PROCEDURE cursor()
1099   SELECT * from t1 where f2=f1;
1101 --error ER_PARSE_ERROR
1102 CREATE PROCEDURE database()
1103    SELECT * from t1 where f2=f1;
1105 --error ER_PARSE_ERROR
1106 CREATE PROCEDURE databases()
1107    SELECT * from t1 where f2=f1;
1109 --error ER_PARSE_ERROR
1110 CREATE PROCEDURE day_hour()
1111    SELECT * from t1 where f2=f1;
1113 --error ER_PARSE_ERROR
1114 CREATE PROCEDURE day_microsecond()
1115    SELECT * from t1 where f2=f1;
1117 --error ER_PARSE_ERROR
1118 CREATE PROCEDURE day_minute()
1119    SELECT * from t1 where f2=f1;
1121 --error ER_PARSE_ERROR
1122 CREATE PROCEDURE day_second()
1123    SELECT * from t1 where f2=f1;
1125 --error ER_PARSE_ERROR
1126 CREATE PROCEDURE dec()
1127    SELECT * from t1 where f2=f1;
1129 --error ER_PARSE_ERROR
1130 CREATE PROCEDURE decimal()
1131    SELECT * from t1 where f2=f1;
1133 --error ER_PARSE_ERROR
1134 CREATE PROCEDURE declare()
1135    SELECT * from t1 where f2=f1;
1137 --error ER_PARSE_ERROR
1138 CREATE PROCEDURE default()
1139    SELECT * from t1 where f2=f1;
1141 --error ER_PARSE_ERROR
1142 CREATE PROCEDURE delayed()
1143    SELECT * from t1 where f2=f1;
1145 --error ER_PARSE_ERROR
1146 CREATE PROCEDURE delete()
1147    SELECT * from t1 where f2=f1;
1149 --error ER_PARSE_ERROR
1150 CREATE PROCEDURE desc()
1151    SELECT * from t1 where f2=f1;
1153 --error ER_PARSE_ERROR
1154 CREATE PROCEDURE describe()
1155    SELECT * from t1 where f2=f1;
1157 --error ER_PARSE_ERROR
1158 CREATE PROCEDURE deterministic()
1159    SELECT * from t1 where f2=f1;
1161 --error ER_PARSE_ERROR
1162 CREATE PROCEDURE distinct()
1163    SELECT * from t1 where f2=f1;
1165 --error ER_PARSE_ERROR
1166 CREATE PROCEDURE distinctrow()
1167    SELECT * from t1 where f2=f1;
1169 --error ER_PARSE_ERROR
1170 CREATE PROCEDURE div()
1171    SELECT * from t1 where f2=f1;
1173 --error ER_PARSE_ERROR
1174 CREATE PROCEDURE double()
1175    SELECT * from t1 where f2=f1;
1177 --error ER_PARSE_ERROR
1178 CREATE PROCEDURE drop()
1179    SELECT * from t1 where f2=f1;
1181 --error ER_PARSE_ERROR
1182 CREATE PROCEDURE dual()
1183    SELECT * from t1 where f2=f1;
1185 --error ER_PARSE_ERROR
1186 CREATE PROCEDURE each()
1187    SELECT * from t1 where f2=f1;
1189 --error ER_PARSE_ERROR
1190 CREATE PROCEDURE else()
1191    SELECT * from t1 where f2=f1;
1193 --error ER_PARSE_ERROR
1194 CREATE PROCEDURE elseif()
1195    SELECT * from t1 where f2=f1;
1197 --error ER_PARSE_ERROR
1198 CREATE PROCEDURE enclosed()
1199    SELECT * from t1 where f2=f1;
1201 --error ER_PARSE_ERROR
1202 CREATE PROCEDURE escaped()
1203    SELECT * from t1 where f2=f1;
1205 --error ER_PARSE_ERROR
1206 CREATE PROCEDURE exists()
1207    SELECT * from t1 where f2=f1;
1209 --error ER_PARSE_ERROR
1210 CREATE PROCEDURE exit()
1211    SELECT * from t1 where f2=f1;
1213 --error ER_PARSE_ERROR
1214 CREATE PROCEDURE explain()
1215    SELECT * from t1 where f2=f1;
1217 --error ER_PARSE_ERROR
1218 CREATE PROCEDURE false()
1219    SELECT * from t1 where f2=f1;
1221 --error ER_PARSE_ERROR
1222 CREATE PROCEDURE fetch()
1223    SELECT * from t1 where f2=f1;
1225 #--error ER_PARSE_ERROR
1226 CREATE PROCEDURE fields()
1227    SELECT * from t1 where f2=f1;
1228 DROP PROCEDURE fields;
1230 --error ER_PARSE_ERROR
1231 CREATE PROCEDURE float()
1232    SELECT * from t1 where f2=f1;
1234 --error ER_PARSE_ERROR
1235 CREATE PROCEDURE for()
1236    SELECT * from t1 where f2=f1;
1238 --error ER_PARSE_ERROR
1239 CREATE PROCEDURE force()
1240    SELECT * from t1 where f2=f1;
1242 --error ER_PARSE_ERROR
1243 CREATE PROCEDURE foreign()
1244    SELECT * from t1 where f2=f1;
1246 --error ER_PARSE_ERROR
1247 CREATE PROCEDURE from()
1248    SELECT * from t1 where f2=f1;
1250 --error ER_PARSE_ERROR
1251 CREATE PROCEDURE fulltext()
1252    SELECT * from t1 where f2=f1;
1254 --error ER_PARSE_ERROR
1255 CREATE PROCEDURE grant()
1256    SELECT * from t1 where f2=f1;
1258 --error ER_PARSE_ERROR
1259 CREATE PROCEDURE group()
1260    SELECT * from t1 where f2=f1;
1262 --error ER_PARSE_ERROR
1263 CREATE PROCEDURE having()
1264    SELECT * from t1 where f2=f1;
1266 --error ER_PARSE_ERROR
1267 CREATE PROCEDURE high_priority()
1268    SELECT * from t1 where f2=f1;
1270 --error ER_PARSE_ERROR
1271 CREATE PROCEDURE hour_microsecond()
1272    SELECT * from t1 where f2=f1;
1274 --error ER_PARSE_ERROR
1275 CREATE PROCEDURE hour_minute()
1276    SELECT * from t1 where f2=f1;
1278 --error ER_PARSE_ERROR
1279 CREATE PROCEDURE hour_second()
1280    SELECT * from t1 where f2=f1;
1282 --error ER_PARSE_ERROR
1283 CREATE PROCEDURE if()
1284    SELECT * from t1 where f2=f1;
1286 --error ER_PARSE_ERROR
1287 CREATE PROCEDURE ignore()
1288    SELECT * from t1 where f2=f1;
1290 --error ER_PARSE_ERROR
1291 CREATE PROCEDURE in()
1292    SELECT * from t1 where f2=f1;
1294 --error ER_PARSE_ERROR
1295 CREATE PROCEDURE index()
1296    SELECT * from t1 where f2=f1;
1298 --error ER_PARSE_ERROR
1299 CREATE PROCEDURE infile()
1300    SELECT * from t1 where f2=f1;
1302 --error ER_PARSE_ERROR
1303 CREATE PROCEDURE inner()
1304    SELECT * from t1 where f2=f1;
1306 --error ER_PARSE_ERROR
1307 CREATE PROCEDURE inout()
1308    SELECT * from t1 where f2=f1;
1310 --error ER_PARSE_ERROR
1311 CREATE PROCEDURE insensitive()
1312    SELECT * from t1 where f2=f1;
1314 --error ER_PARSE_ERROR
1315 CREATE PROCEDURE insert()
1316    SELECT * from t1 where f2=f1;
1318 --error ER_PARSE_ERROR
1319 CREATE PROCEDURE int()
1320    SELECT * from t1 where f2=f1;
1322 --error ER_PARSE_ERROR
1323 CREATE PROCEDURE int1()
1324    SELECT * from t1 where f2=f1;
1326 --error ER_PARSE_ERROR
1327 CREATE PROCEDURE int2()
1328    SELECT * from t1 where f2=f1;
1330 --error ER_PARSE_ERROR
1331 CREATE PROCEDURE int3()
1332    SELECT * from t1 where f2=f1;
1334 --error ER_PARSE_ERROR
1335 CREATE PROCEDURE int4()
1336    SELECT * from t1 where f2=f1;
1338 --error ER_PARSE_ERROR
1339 CREATE PROCEDURE int8()
1340    SELECT * from t1 where f2=f1;
1342 --error ER_PARSE_ERROR
1343 CREATE PROCEDURE integer()
1344    SELECT * from t1 where f2=f1;
1346 --error ER_PARSE_ERROR
1347 CREATE PROCEDURE interval()
1348    SELECT * from t1 where f2=f1;
1350 --error ER_PARSE_ERROR
1351 CREATE PROCEDURE into()
1352    SELECT * from t1 where f2=f1;
1354 --error ER_PARSE_ERROR
1355 CREATE PROCEDURE is()
1356    SELECT * from t1 where f2=f1;
1358 --error ER_PARSE_ERROR
1359 CREATE PROCEDURE iterate()
1360    SELECT * from t1 where f2=f1;
1362 --error ER_PARSE_ERROR
1363 CREATE PROCEDURE join()
1364    SELECT * from t1 where f2=f1;
1366 --error ER_PARSE_ERROR
1367 CREATE PROCEDURE key()
1368    SELECT * from t1 where f2=f1;
1370 --error ER_PARSE_ERROR
1371 CREATE PROCEDURE keys()
1372    SELECT * from t1 where f2=f1;
1374 --error ER_PARSE_ERROR
1375 CREATE PROCEDURE kill()
1376    SELECT * from t1 where f2=f1;
1378 --error ER_PARSE_ERROR
1379 CREATE PROCEDURE leading()
1380    SELECT * from t1 where f2=f1;
1382 --error ER_PARSE_ERROR
1383 CREATE PROCEDURE leave()
1384    SELECT * from t1 where f2=f1;
1386 --error ER_PARSE_ERROR
1387 CREATE PROCEDURE left()
1388    SELECT * from t1 where f2=f1;
1390 --error ER_PARSE_ERROR
1391 CREATE PROCEDURE like()
1392    SELECT * from t1 where f2=f1;
1394 --error ER_PARSE_ERROR
1395 CREATE PROCEDURE limit()
1396    SELECT * from t1 where f2=f1;
1398 --error ER_PARSE_ERROR
1399 CREATE PROCEDURE linear()
1400    SELECT * from t1 where f2=f1;
1402 --error ER_PARSE_ERROR
1403 CREATE PROCEDURE lines()
1404    SELECT * from t1 where f2=f1;
1406 --error ER_PARSE_ERROR
1407 CREATE PROCEDURE load()
1408    SELECT * from t1 where f2=f1;
1410 --error ER_PARSE_ERROR
1411 CREATE PROCEDURE localtime()
1412    SELECT * from t1 where f2=f1;
1414 --error ER_PARSE_ERROR
1415 CREATE PROCEDURE localtimestamp()
1416    SELECT * from t1 where f2=f1;
1418 --error ER_PARSE_ERROR
1419 CREATE PROCEDURE lock()
1420    SELECT * from t1 where f2=f1;
1422 --error ER_PARSE_ERROR
1423 CREATE PROCEDURE long()
1424    SELECT * from t1 where f2=f1;
1426 --error ER_PARSE_ERROR
1427 CREATE PROCEDURE longblob()
1428    SELECT * from t1 where f2=f1;
1430 --error ER_PARSE_ERROR
1431 CREATE PROCEDURE longtext()
1432    SELECT * from t1 where f2=f1;
1434 --error ER_PARSE_ERROR
1435 CREATE PROCEDURE loop()
1436    SELECT * from t1 where f2=f1;
1438 --error ER_PARSE_ERROR
1439 CREATE PROCEDURE low_priority()
1440    SELECT * from t1 where f2=f1;
1442 --error ER_PARSE_ERROR
1443 CREATE PROCEDURE master_ssl_verify_server_cert()
1444    SELECT * from t1 where f2=f1;
1446 --error ER_PARSE_ERROR
1447 CREATE PROCEDURE match()
1448    SELECT * from t1 where f2=f1;
1450 --error ER_PARSE_ERROR
1451 CREATE PROCEDURE mediumblob()
1452    SELECT * from t1 where f2=f1;
1454 --error ER_PARSE_ERROR
1455 CREATE PROCEDURE mediumint()
1456    SELECT * from t1 where f2=f1;
1458 --error ER_PARSE_ERROR
1459 CREATE PROCEDURE mediumtext()
1460    SELECT * from t1 where f2=f1;
1462 --error ER_PARSE_ERROR
1463 CREATE PROCEDURE middleint()
1464    SELECT * from t1 where f2=f1;
1466 --error ER_PARSE_ERROR
1467 CREATE PROCEDURE minute_microsecond()
1468    SELECT * from t1 where f2=f1;
1470 --error ER_PARSE_ERROR
1471 CREATE PROCEDURE minute_second()
1472    SELECT * from t1 where f2=f1;
1474 --error ER_PARSE_ERROR
1475 CREATE PROCEDURE mod()
1476    SELECT * from t1 where f2=f1;
1478 --error ER_PARSE_ERROR
1479 CREATE PROCEDURE modifies()
1480    SELECT * from t1 where f2=f1;
1482 --error ER_PARSE_ERROR
1483 CREATE PROCEDURE natural()
1484    SELECT * from t1 where f2=f1;
1486 --error ER_PARSE_ERROR
1487 CREATE PROCEDURE not()
1488    SELECT * from t1 where f2=f1;
1490 --error ER_PARSE_ERROR
1491 CREATE PROCEDURE no_write_to_binlog()
1492    SELECT * from t1 where f2=f1;
1494 --error ER_PARSE_ERROR
1495 CREATE PROCEDURE null()
1496    SELECT * from t1 where f2=f1;
1498 --error ER_PARSE_ERROR
1499 CREATE PROCEDURE numeric()
1500    SELECT * from t1 where f2=f1;
1502 --error ER_PARSE_ERROR
1503 CREATE PROCEDURE on()
1504    SELECT * from t1 where f2=f1;
1506 --error ER_PARSE_ERROR
1507 CREATE PROCEDURE optimize()
1508    SELECT * from t1 where f2=f1;
1510 --error ER_PARSE_ERROR
1511 CREATE PROCEDURE option()
1512    SELECT * from t1 where f2=f1;
1514 --error ER_PARSE_ERROR
1515 CREATE PROCEDURE optionally()
1516    SELECT * from t1 where f2=f1;
1518 --error ER_PARSE_ERROR
1519 CREATE PROCEDURE or()
1520    SELECT * from t1 where f2=f1;
1522 --error ER_PARSE_ERROR
1523 CREATE PROCEDURE order()
1524    SELECT * from t1 where f2=f1;
1526 --error ER_PARSE_ERROR
1527 CREATE PROCEDURE out()
1528    SELECT * from t1 where f2=f1;
1530 --error ER_PARSE_ERROR
1531 CREATE PROCEDURE outer()
1532    SELECT * from t1 where f2=f1;
1534 --error ER_PARSE_ERROR
1535 CREATE PROCEDURE outfile()
1536    SELECT * from t1 where f2=f1;
1538 --error ER_PARSE_ERROR
1539 CREATE PROCEDURE precision()
1540    SELECT * from t1 where f2=f1;
1542 --error ER_PARSE_ERROR
1543 CREATE PROCEDURE primary()
1544    SELECT * from t1 where f2=f1;
1546 --error ER_PARSE_ERROR
1547 CREATE PROCEDURE procedure()
1548    SELECT * from t1 where f2=f1;
1550 --error ER_PARSE_ERROR
1551 CREATE PROCEDURE purge()
1552    SELECT * from t1 where f2=f1;
1554 --error ER_PARSE_ERROR
1555 CREATE PROCEDURE range()
1556    SELECT * from t1 where f2=f1;
1558 --error ER_PARSE_ERROR
1559 CREATE PROCEDURE read()
1560    SELECT * from t1 where f2=f1;
1562 --error ER_PARSE_ERROR
1563 CREATE PROCEDURE reads()
1564    SELECT * from t1 where f2=f1;
1566 --error ER_PARSE_ERROR
1567 CREATE PROCEDURE real()
1568    SELECT * from t1 where f2=f1;
1570 --error ER_PARSE_ERROR
1571 CREATE PROCEDURE references()
1572    SELECT * from t1 where f2=f1;
1574 --error ER_PARSE_ERROR
1575 CREATE PROCEDURE regexp()
1576    SELECT * from t1 where f2=f1;
1578 --error ER_PARSE_ERROR
1579 CREATE PROCEDURE release()
1580    SELECT * from t1 where f2=f1;
1582 --error ER_PARSE_ERROR
1583 CREATE PROCEDURE rename()
1584    SELECT * from t1 where f2=f1;
1586 --error ER_PARSE_ERROR
1587 CREATE PROCEDURE repeat()
1588    SELECT * from t1 where f2=f1;
1590 --error ER_PARSE_ERROR
1591 CREATE PROCEDURE replace()
1592    SELECT * from t1 where f2=f1;
1594 --error ER_PARSE_ERROR
1595 CREATE PROCEDURE require()
1596    SELECT * from t1 where f2=f1;
1598 --error ER_PARSE_ERROR
1599 CREATE PROCEDURE restrict()
1600    SELECT * from t1 where f2=f1;
1602 --error ER_PARSE_ERROR
1603 CREATE PROCEDURE return()
1604    SELECT * from t1 where f2=f1;
1606 --error ER_PARSE_ERROR
1607 CREATE PROCEDURE revoke()
1608    SELECT * from t1 where f2=f1;
1610 --error ER_PARSE_ERROR
1611 CREATE PROCEDURE right()
1612    SELECT * from t1 where f2=f1;
1614 --error ER_PARSE_ERROR
1615 CREATE PROCEDURE rlike()
1616    SELECT * from t1 where f2=f1;
1618 --error ER_PARSE_ERROR
1619 CREATE PROCEDURE schema()
1620    SELECT * from t1 where f2=f1;
1622 --error ER_PARSE_ERROR
1623 CREATE PROCEDURE schemas()
1624    SELECT * from t1 where f2=f1;
1626 --error ER_PARSE_ERROR
1627 CREATE PROCEDURE second_microsecond()
1628    SELECT * from t1 where f2=f1;
1630 --error ER_PARSE_ERROR
1631 CREATE PROCEDURE select()
1632    SELECT * from t1 where f2=f1;
1634 --error ER_PARSE_ERROR
1635 CREATE PROCEDURE sensitive()
1636    SELECT * from t1 where f2=f1;
1638 --error ER_PARSE_ERROR
1639 CREATE PROCEDURE separator()
1640    SELECT * from t1 where f2=f1;
1642 --error ER_PARSE_ERROR
1643 CREATE PROCEDURE set()
1644    SELECT * from t1 where f2=f1;
1646 --error ER_PARSE_ERROR
1647 CREATE PROCEDURE show()
1648    SELECT * from t1 where f2=f1;
1650 --error ER_PARSE_ERROR
1651 CREATE PROCEDURE smallint()
1652    SELECT * from t1 where f2=f1;
1654 --error ER_PARSE_ERROR
1655 CREATE PROCEDURE spatial()
1656    SELECT * from t1 where f2=f1;
1658 --error ER_PARSE_ERROR
1659 CREATE PROCEDURE specific()
1660    SELECT * from t1 where f2=f1;
1662 --error ER_PARSE_ERROR
1663 CREATE PROCEDURE sql()
1664    SELECT * from t1 where f2=f1;
1666 --error ER_PARSE_ERROR
1667 CREATE PROCEDURE sqlexception()
1668    SELECT * from t1 where f2=f1;
1670 --error ER_PARSE_ERROR
1671 CREATE PROCEDURE sqlstate()
1672    SELECT * from t1 where f2=f1;
1674 --error ER_PARSE_ERROR
1675 CREATE PROCEDURE sqlwarning()
1676    SELECT * from t1 where f2=f1;
1678 --error ER_PARSE_ERROR
1679 CREATE PROCEDURE sql_big_result()
1680    SELECT * from t1 where f2=f1;
1682 --error ER_PARSE_ERROR
1683 CREATE PROCEDURE sql_calc_found_rows()
1684    SELECT * from t1 where f2=f1;
1686 --error ER_PARSE_ERROR
1687 CREATE PROCEDURE sql_small_result()
1688    SELECT * from t1 where f2=f1;
1690 --error ER_PARSE_ERROR
1691 CREATE PROCEDURE ssl()
1692    SELECT * from t1 where f2=f1;
1694 --error ER_PARSE_ERROR
1695 CREATE PROCEDURE starting()
1696    SELECT * from t1 where f2=f1;
1698 --error ER_PARSE_ERROR
1699 CREATE PROCEDURE straight_join()
1700    SELECT * from t1 where f2=f1;
1702 --error ER_PARSE_ERROR
1703 CREATE PROCEDURE table()
1704    SELECT * from t1 where f2=f1;
1706 --error ER_PARSE_ERROR
1707 CREATE PROCEDURE terminated()
1708    SELECT * from t1 where f2=f1;
1710 --error ER_PARSE_ERROR
1711 CREATE PROCEDURE then()
1712    SELECT * from t1 where f2=f1;
1714 --error ER_PARSE_ERROR
1715 CREATE PROCEDURE tinyblob()
1716    SELECT * from t1 where f2=f1;
1718 --error ER_PARSE_ERROR
1719 CREATE PROCEDURE tinyint()
1720    SELECT * from t1 where f2=f1;
1722 --error ER_PARSE_ERROR
1723 CREATE PROCEDURE tinytext()
1724    SELECT * from t1 where f2=f1;
1726 --error ER_PARSE_ERROR
1727 CREATE PROCEDURE to()
1728    SELECT * from t1 where f2=f1;
1730 --error ER_PARSE_ERROR
1731 CREATE PROCEDURE trailing()
1732    SELECT * from t1 where f2=f1;
1734 --error ER_PARSE_ERROR
1735 CREATE PROCEDURE trigger()
1736    SELECT * from t1 where f2=f1;
1738 --error ER_PARSE_ERROR
1739 CREATE PROCEDURE true()
1740    SELECT * from t1 where f2=f1;
1742 --error ER_PARSE_ERROR
1743 CREATE PROCEDURE undo()
1744    SELECT * from t1 where f2=f1;
1746 --error ER_PARSE_ERROR
1747 CREATE PROCEDURE union()
1748    SELECT * from t1 where f2=f1;
1750 --error ER_PARSE_ERROR
1751 CREATE PROCEDURE unique()
1752    SELECT * from t1 where f2=f1;
1754 --error ER_PARSE_ERROR
1755 CREATE PROCEDURE unlock()
1756    SELECT * from t1 where f2=f1;
1758 --error ER_PARSE_ERROR
1759 CREATE PROCEDURE unsigned()
1760    SELECT * from t1 where f2=f1;
1762 --error ER_PARSE_ERROR
1763 CREATE PROCEDURE update()
1764    SELECT * from t1 where f2=f1;
1766 --error ER_PARSE_ERROR
1767 CREATE PROCEDURE usage()
1768    SELECT * from t1 where f2=f1;
1770 --error ER_PARSE_ERROR
1771 CREATE PROCEDURE use()
1772    SELECT * from t1 where f2=f1;
1774 --error ER_PARSE_ERROR
1775 CREATE PROCEDURE using()
1776    SELECT * from t1 where f2=f1;
1778 --error ER_PARSE_ERROR
1779 CREATE PROCEDURE utc_date()
1780    SELECT * from t1 where f2=f1;
1782 --error ER_PARSE_ERROR
1783 CREATE PROCEDURE utc_time()
1784    SELECT * from t1 where f2=f1;
1786 --error ER_PARSE_ERROR
1787 CREATE PROCEDURE utc_timestamp()
1788    SELECT * from t1 where f2=f1;
1790 --error ER_PARSE_ERROR
1791 CREATE PROCEDURE values()
1792    SELECT * from t1 where f2=f1;
1794 --error ER_PARSE_ERROR
1795 CREATE PROCEDURE varbinary()
1796    SELECT * from t1 where f2=f1;
1798 --error ER_PARSE_ERROR
1799 CREATE PROCEDURE varchar()
1800    SELECT * from t1 where f2=f1;
1802 --error ER_PARSE_ERROR
1803 CREATE PROCEDURE varcharacter()
1804    SELECT * from t1 where f2=f1;
1806 --error ER_PARSE_ERROR
1807 CREATE PROCEDURE varying()
1808    SELECT * from t1 where f2=f1;
1810 --error ER_PARSE_ERROR
1811 CREATE PROCEDURE when()
1812    SELECT * from t1 where f2=f1;
1814 --error ER_PARSE_ERROR
1815 CREATE PROCEDURE where()
1816    SELECT * from t1 where f2=f1;
1818 --error ER_PARSE_ERROR
1819 CREATE PROCEDURE while()
1820    SELECT * from t1 where f2=f1;
1822 --error ER_PARSE_ERROR
1823 CREATE PROCEDURE with()
1824    SELECT * from t1 where f2=f1;
1826 --error ER_PARSE_ERROR
1827 CREATE PROCEDURE write()
1828    SELECT * from t1 where f2=f1;
1830 --error ER_PARSE_ERROR
1831 CREATE PROCEDURE xor()
1832    SELECT * from t1 where f2=f1;
1834 --error ER_PARSE_ERROR
1835 CREATE PROCEDURE year_month()
1836    SELECT * from t1 where f2=f1;
1838 --error ER_PARSE_ERROR
1839 CREATE PROCEDURE zerofill()
1840    SELECT * from t1 where f2=f1;
1843 # ------------------------------------------------------------------------------
1844 let $message= Testcase 4.1.15:
1845               ----------------
1846 Ensure that any invalid function name is never accepted, and that an appropriate
1847 error message is returned when the name is rejected;
1848 --source include/show_msg80.inc
1851 --error ER_PARSE_ERROR
1852 CREATE FUNCTION !_fn1(f1 char) returns char
1853     return f1;
1855 --disable_warnings
1856 --error ER_PARSE_ERROR
1857 CREATE FUNCTION char(f1 char) returns char
1858     return f1;
1860 --error ER_PARSE_ERROR
1861 CREATE FUNCTION char binary(f1 char binary) returns char binary
1862     return f1;
1863 --error ER_PARSE_ERROR
1864 CREATE FUNCTION char ascii(f1 char ascii) returns char ascii
1865     return f1;
1867 --error ER_PARSE_ERROR
1868 CREATE FUNCTION char not null(f1 char not null) returns char not null
1869     return f1;
1871 --error ER_PARSE_ERROR
1872 CREATE FUNCTION char binary not null(f1 char binary not null) returns char binary not null
1873     return f1;
1875 --error ER_PARSE_ERROR
1876 CREATE FUNCTION char ascii not null(f1 char ascii not null) returns char ascii not null
1877     return f1;
1879 --error ER_PARSE_ERROR
1880 CREATE FUNCTION tinytext(f1 tinytext) returns tinytext
1881     return f1;
1883 #--error ER_PARSE_ERROR
1884 CREATE FUNCTION text(f1 text) returns text
1885     return f1;
1886   DROP FUNCTION text;
1888 --error ER_PARSE_ERROR
1889 CREATE FUNCTION mediumtext(f1 mediumtext) returns mediumtext
1890     return f1;
1892 --error ER_PARSE_ERROR
1893 CREATE FUNCTION longtext(f1 longtext) returns longtext
1894     return f1;
1896 --error ER_PARSE_ERROR
1897 CREATE FUNCTION tinytext not null(f1 tinytext not null) returns tinytext not null
1898     return f1;
1900 --error ER_PARSE_ERROR
1901 CREATE FUNCTION text not null(f1 text not null) returns text not null
1902     return f1;
1904 --error ER_PARSE_ERROR
1905 CREATE FUNCTION mediumtext not null(f1 mediumtext not null) returns mediumtext not null
1906     return f1;
1908 --error ER_PARSE_ERROR
1909 CREATE FUNCTION longtext not null(f1 longtext not null) returns longtext not null
1910     return f1;
1912 --error ER_PARSE_ERROR
1913 CREATE FUNCTION tinyblob(f1 tinyblob) returns tinyblob
1914     return f1;
1916 --error ER_PARSE_ERROR
1917 CREATE FUNCTION blob(f1 blob) returns blob
1918     return f1;
1920 --error ER_PARSE_ERROR
1921 CREATE FUNCTION mediumblob(f1 mediumblob) returns mediumblob
1922     return f1;
1924 --error ER_PARSE_ERROR
1925 CREATE FUNCTION longblob(f1 longblob) returns longblob
1926     return f1;
1928 --error ER_PARSE_ERROR
1929 CREATE FUNCTION tinyblob not null(f1 tinyblob not null) returns tinyblob not null
1930     return f1;
1932 --error ER_PARSE_ERROR
1933 CREATE FUNCTION blob not null(f1 blob not null) returns blob not null
1934     return f1;
1936 --error ER_PARSE_ERROR
1937 CREATE FUNCTION mediumblob not null(f1 mediumblob not null) returns mediumblob not null
1938     return f1;
1940 --error ER_PARSE_ERROR
1941 CREATE FUNCTION longblob not null(f1 longblob not null) returns longblob not null
1942     return f1;
1944 --error ER_PARSE_ERROR
1945 CREATE FUNCTION binary(f1 binary) returns binary
1946     return f1;
1948 --error ER_PARSE_ERROR
1949 CREATE FUNCTION binary not null(f1 binary not null) returns binary not null
1950     return f1;
1952 --error ER_PARSE_ERROR
1953 CREATE FUNCTION tinyint(f1 tinyint) returns tinyint
1954     return f1;
1956 --error ER_PARSE_ERROR
1957 CREATE FUNCTION tinyint unsigned(f1 tinyint unsigned) returns tinyint unsigned
1958     return f1;
1960 --error ER_PARSE_ERROR
1961 CREATE FUNCTION tinyint zerofill(f1 tinyint zerofill) returns tinyint zerofill
1962     return f1;
1964 --error ER_PARSE_ERROR
1965 CREATE FUNCTION tinyint unsigned zerofill(f1 tinyint unsigned zerofill) returns tinyint unsigned zerofill
1966     return f1;
1968 --error ER_PARSE_ERROR
1969 CREATE FUNCTION smallint(f1 smallint) returns smallint
1970     return f1;
1972 --error ER_PARSE_ERROR
1973 CREATE FUNCTION smallint unsigned(f1 smallint unsigned) returns smallint unsigned
1974     return f1;
1976 --error ER_PARSE_ERROR
1977 CREATE FUNCTION smallint zerofill(f1 smallint zerofill) returns smallint zerofill
1978     return f1;
1980 --error ER_PARSE_ERROR
1981 CREATE FUNCTION smallint unsigned zerofill(f1 smallint unsigned zerofill) returns smallint unsigned zerofill
1982     return f1;
1984 --error ER_PARSE_ERROR
1985 CREATE FUNCTION mediumint(f1 mediumint) returns mediumint
1986     return f1;
1988 --error ER_PARSE_ERROR
1989 CREATE FUNCTION mediumint unsigned(f1 mediumint unsigned) returns mediumint unsigned
1990     return f1;
1992 --error ER_PARSE_ERROR
1993 CREATE FUNCTION mediumint zerofill(f1 mediumint zerofill) returns mediumint zerofill
1994     return f1;
1996 --error ER_PARSE_ERROR
1997 CREATE FUNCTION mediumint unsigned zerofill(f1 mediumint unsigned zerofill) returns mediumint unsigned zerofill
1998     return f1;
2000 --error ER_PARSE_ERROR
2001 CREATE FUNCTION int(f1 int) returns int
2002     return f1;
2004 --error ER_PARSE_ERROR
2005 CREATE FUNCTION int1(f1 int1) returns int1
2006     return f1;
2008 --error ER_PARSE_ERROR
2009 CREATE FUNCTION int2(f1 int2) returns int2
2010     return f1;
2012 --error ER_PARSE_ERROR
2013 CREATE FUNCTION int3(f1 int3) returns int3
2014     return f1;
2016 --error ER_PARSE_ERROR
2017 CREATE FUNCTION int4(f1 int4) returns int4
2018     return f1;
2020 --error ER_PARSE_ERROR
2021 CREATE FUNCTION int8(f1 int8) returns int8
2022     return f1;
2024 --error ER_PARSE_ERROR
2025 CREATE FUNCTION int unsigned(f1 int unsigned) returns int unsigned
2026     return f1;
2028 --error ER_PARSE_ERROR
2029 CREATE FUNCTION int zerofill(f1 int zerofill) returns int zerofill
2030     return f1;
2032 --error ER_PARSE_ERROR
2033 CREATE FUNCTION int unsigned zerofill(f1 int unsigned zerofill) returns int unsigned zerofill
2034     return f1;
2036 --error ER_PARSE_ERROR
2037 CREATE FUNCTION bigint(f1 bigint) returns bigint
2038     return f1;
2040 --error ER_PARSE_ERROR
2041 CREATE FUNCTION bigint unsigned(f1 bigint unsigned) returns bigint unsigned
2042     return f1;
2044 --error ER_PARSE_ERROR
2045 CREATE FUNCTION bigint zerofill(f1 bigint zerofill) returns bigint zerofill
2046     return f1;
2048 --error ER_PARSE_ERROR
2049 CREATE FUNCTION bigint unsigned zerofill(f1 bigint unsigned zerofill) returns bigint unsigned zerofill
2050     return f1;
2052 --error ER_PARSE_ERROR
2053 CREATE FUNCTION decimal(f1 decimal) returns decimal
2054     return f1;
2056 --error ER_PARSE_ERROR
2057 CREATE FUNCTION decimal unsigned(f1 decimal unsigned) returns decimal unsigned
2058     return f1;
2060 --error ER_PARSE_ERROR
2061 CREATE FUNCTION decimal zerofill(f1 decimal zerofill) returns decimal zerofill
2062     return f1;
2064 --error ER_PARSE_ERROR
2065 CREATE FUNCTION decimal unsigned zerofill(f1 decimal unsigned zerofill) returns decimal unsigned zerofill
2066     return f1;
2068 --error ER_PARSE_ERROR
2069 CREATE FUNCTION numeric(f1 numeric) returns numeric
2070     return f1;
2072 --error ER_PARSE_ERROR
2073 CREATE FUNCTION numeric unsigned(f1 numeric unsigned) returns numeric unsigned
2074     return f1;
2076 --error ER_PARSE_ERROR
2077 CREATE FUNCTION numeric zerofill(f1 numeric zerofill) returns numeric zerofill
2078     return f1;
2080 --error ER_PARSE_ERROR
2081 CREATE FUNCTION numeric unsigned zerofill(f1 numeric unsigned zerofill) returns numeric unsigned zerofill
2082     return f1;
2084 --error ER_PARSE_ERROR
2085 CREATE FUNCTION real(f1 real) returns real
2086     return f1;
2088 --error ER_PARSE_ERROR
2089 CREATE FUNCTION real unsigned(f1 real unsigned) returns real unsigned
2090     return f1;
2092 --error ER_PARSE_ERROR
2093 CREATE FUNCTION real zerofill(f1 real zerofill) returns real zerofill
2094     return f1;
2096 --error ER_PARSE_ERROR
2097 CREATE FUNCTION real unsigned zerofill(f1 real unsigned zerofill) returns real unsigned zerofill
2098     return f1;
2100 --error ER_PARSE_ERROR
2101 CREATE FUNCTION float(f1 float) returns float
2102     return f1;
2104 --error ER_PARSE_ERROR
2105 CREATE FUNCTION float unsigned(f1 float unsigned) returns float unsigned
2106     return f1;
2108 --error ER_PARSE_ERROR
2109 CREATE FUNCTION float zerofill(f1 float zerofill) returns float zerofill
2110     return f1;
2112 --error ER_PARSE_ERROR
2113 CREATE FUNCTION float unsigned zerofill(f1 float unsigned zerofill) returns float unsigned zerofill
2114     return f1;
2116 CREATE FUNCTION date(f1 date) returns date
2117     return f1;
2118 DROP FUNCTION date;
2120 CREATE FUNCTION time(f1 time) returns time
2121     return f1;
2122 DROP FUNCTION time;
2124 CREATE FUNCTION datetime(f1 datetime) returns datetime
2125     return f1;
2126 DROP FUNCTION datetime;
2128 CREATE FUNCTION timestamp(f1 timestamp) returns timestamp
2129     return f1;
2130 DROP FUNCTION timestamp;
2132 CREATE FUNCTION year(f1 year) returns year
2133     return f1;
2134 DROP FUNCTION year;
2136 --error ER_PARSE_ERROR
2137 CREATE FUNCTION year(3)(f1 year(3)) returns year(3)
2138     return f1;
2140 --error ER_PARSE_ERROR
2141 CREATE FUNCTION year(4)(f1 year(4)) returns year(4)
2142     return f1;
2144 --error ER_PARSE_ERROR
2145 CREATE FUNCTION enum("1enum", "2enum")(f1 enum("1enum", "2enum")) returns enum("1enum", "2enum")
2146     return f1;
2148 --error ER_PARSE_ERROR
2149 CREATE FUNCTION set("1set", "2set")(f1 set("1set", "2set")) returns set("1set", "2set")
2150     return f1;
2151 --enable_warnings
2153 DROP FUNCTION IF EXISTS fn1;
2154 CREATE FUNCTION fn1(f1 char ) returns char
2155     return f1;
2157 DROP FUNCTION IF EXISTS fn1;
2158 --error ER_NOT_SUPPORTED_YET
2159 CREATE FUNCTION fn1(f1 char binary ) returns char binary
2160     return f1;
2162 DROP FUNCTION IF EXISTS fn1;
2163 CREATE FUNCTION fn1(f1 char ascii ) returns char ascii
2164     return f1;
2166 DROP FUNCTION IF EXISTS fn1;
2167 --error ER_PARSE_ERROR
2168 CREATE FUNCTION fn1(f1 char not null ) returns char not null
2169     return f1;
2171 DROP FUNCTION IF EXISTS fn1;
2172 --error ER_PARSE_ERROR
2173 CREATE FUNCTION fn1(f1 char binary not null ) returns char binary not null
2174     return f1;
2176 DROP FUNCTION IF EXISTS fn1;
2177 --error ER_PARSE_ERROR
2178 CREATE FUNCTION fn1(f1 char ascii not null ) returns char ascii not null
2179     return f1;
2181 DROP FUNCTION IF EXISTS fn1;
2182 CREATE FUNCTION fn1(f1 tinytext ) returns tinytext
2183     return f1;
2185 DROP FUNCTION IF EXISTS fn1;
2186 CREATE FUNCTION fn1(f1 text ) returns text
2187     return f1;
2189 DROP FUNCTION IF EXISTS fn1;
2190 CREATE FUNCTION fn1(f1 mediumtext ) returns mediumtext
2191     return f1;
2193 DROP FUNCTION IF EXISTS fn1;
2194 CREATE FUNCTION fn1(f1 longtext ) returns longtext
2195     return f1;
2197 DROP FUNCTION IF EXISTS fn1;
2198 --error ER_PARSE_ERROR
2199 CREATE FUNCTION fn1(f1 tinytext not null ) returns tinytext not null
2200     return f1;
2202 DROP FUNCTION IF EXISTS fn1;
2203 --error ER_PARSE_ERROR
2204 CREATE FUNCTION fn1(f1 text not null ) returns text not null
2205     return f1;
2207 DROP FUNCTION IF EXISTS fn1;
2208 --error ER_PARSE_ERROR
2209 CREATE FUNCTION fn1(f1 mediumtext not null ) returns mediumtext not null
2210     return f1;
2212 DROP FUNCTION IF EXISTS fn1;
2213 --error ER_PARSE_ERROR
2214 CREATE FUNCTION fn1(f1 longtext not null ) returns longtext not null
2215     return f1;
2217 DROP FUNCTION IF EXISTS fn1;
2218 CREATE FUNCTION fn1(f1 tinyblob ) returns tinyblob
2219     return f1;
2221 DROP FUNCTION IF EXISTS fn1;
2222 CREATE FUNCTION fn1(f1 blob ) returns blob
2223     return f1;
2225 DROP FUNCTION IF EXISTS fn1;
2226 CREATE FUNCTION fn1(f1 mediumblob ) returns mediumblob
2227     return f1;
2229 DROP FUNCTION IF EXISTS fn1;
2230 CREATE FUNCTION fn1(f1 longblob ) returns longblob
2231     return f1;
2233 DROP FUNCTION IF EXISTS fn1;
2234 --error ER_PARSE_ERROR
2235 CREATE FUNCTION fn1(f1 tinyblob not null ) returns tinyblob not null
2236     return f1;
2238 DROP FUNCTION IF EXISTS fn1;
2239 --error ER_PARSE_ERROR
2240 CREATE FUNCTION fn1(f1 blob not null ) returns blob not null
2241     return f1;
2243 DROP FUNCTION IF EXISTS fn1;
2244 --error ER_PARSE_ERROR
2245 CREATE FUNCTION fn1(f1 mediumblob not null ) returns mediumblob not null
2246     return f1;
2248 DROP FUNCTION IF EXISTS fn1;
2249 --error ER_PARSE_ERROR
2250 CREATE FUNCTION fn1(f1 longblob not null ) returns longblob not null
2251     return f1;
2253 DROP FUNCTION IF EXISTS fn1;
2254 CREATE FUNCTION fn1(f1 binary ) returns binary
2255     return f1;
2257 DROP FUNCTION IF EXISTS fn1;
2258 --error ER_PARSE_ERROR
2259 CREATE FUNCTION fn1(f1 binary not null ) returns binary not null
2260     return f1;
2262 DROP FUNCTION IF EXISTS fn1;
2263 CREATE FUNCTION fn1(f1 tinyint ) returns tinyint
2264     return f1;
2266 DROP FUNCTION IF EXISTS fn1;
2267 CREATE FUNCTION fn1(f1 tinyint unsigned ) returns tinyint unsigned
2268     return f1;
2270 DROP FUNCTION IF EXISTS fn1;
2271 CREATE FUNCTION fn1(f1 tinyint zerofill ) returns tinyint zerofill
2272     return f1;
2274 DROP FUNCTION IF EXISTS fn1;
2275 CREATE FUNCTION fn1(f1 tinyint unsigned zerofill ) returns tinyint unsigned zerofill
2276     return f1;
2278 DROP FUNCTION IF EXISTS fn1;
2279 CREATE FUNCTION fn1(f1 smallint ) returns smallint
2280     return f1;
2282 DROP FUNCTION IF EXISTS fn1;
2283 CREATE FUNCTION fn1(f1 smallint unsigned ) returns smallint unsigned
2284     return f1;
2286 DROP FUNCTION IF EXISTS fn1;
2287 CREATE FUNCTION fn1(f1 smallint zerofill ) returns smallint zerofill
2288     return f1;
2290 DROP FUNCTION IF EXISTS fn1;
2291 CREATE FUNCTION fn1(f1 smallint unsigned zerofill ) returns smallint unsigned zerofill
2292     return f1;
2294 DROP FUNCTION IF EXISTS fn1;
2295 CREATE FUNCTION fn1(f1 mediumint ) returns mediumint
2296     return f1;
2298 DROP FUNCTION IF EXISTS fn1;
2299 CREATE FUNCTION fn1(f1 mediumint unsigned ) returns mediumint unsigned
2300     return f1;
2302 DROP FUNCTION IF EXISTS fn1;
2303 CREATE FUNCTION fn1(f1 mediumint zerofill ) returns mediumint zerofill
2304     return f1;
2306 DROP FUNCTION IF EXISTS fn1;
2307 CREATE FUNCTION fn1(f1 mediumint unsigned zerofill ) returns mediumint unsigned zerofill
2308     return f1;
2310 DROP FUNCTION IF EXISTS fn1;
2311 CREATE FUNCTION fn1(f1 int ) returns int
2312     return f1;
2314 DROP FUNCTION IF EXISTS fn1;
2315 CREATE FUNCTION fn1(f1 int unsigned ) returns int unsigned
2316     return f1;
2318 DROP FUNCTION IF EXISTS fn1;
2319 CREATE FUNCTION fn1(f1 int1 unsigned ) returns int1 unsigned
2320     return f1;
2322 DROP FUNCTION IF EXISTS fn1;
2323 CREATE FUNCTION fn1(f1 int2 unsigned ) returns int2 unsigned
2324     return f1;
2326 DROP FUNCTION IF EXISTS fn1;
2327 CREATE FUNCTION fn1(f1 int3 unsigned ) returns int3 unsigned
2328     return f1;
2330 DROP FUNCTION IF EXISTS fn1;
2331 CREATE FUNCTION fn1(f1 int4 unsigned ) returns int4 unsigned
2332     return f1;
2334 DROP FUNCTION IF EXISTS fn1;
2335 CREATE FUNCTION fn1(f1 int8 unsigned ) returns int8 unsigned
2336     return f1;
2338 DROP FUNCTION IF EXISTS fn1;
2339 CREATE FUNCTION fn1(f1 int zerofill ) returns int zerofill
2340     return f1;
2342 DROP FUNCTION IF EXISTS fn1;
2343 CREATE FUNCTION fn1(f1 int unsigned zerofill ) returns int unsigned zerofill
2344     return f1;
2346 DROP FUNCTION IF EXISTS fn1;
2347 CREATE FUNCTION fn1(f1 bigint ) returns bigint
2348     return f1;
2350 DROP FUNCTION IF EXISTS fn1;
2351 CREATE FUNCTION fn1(f1 bigint unsigned ) returns bigint unsigned
2352     return f1;
2354 DROP FUNCTION IF EXISTS fn1;
2355 CREATE FUNCTION fn1(f1 bigint zerofill ) returns bigint zerofill
2356     return f1;
2358 DROP FUNCTION IF EXISTS fn1;
2359 CREATE FUNCTION fn1(f1 bigint unsigned zerofill ) returns bigint unsigned zerofill
2360     return f1;
2362 DROP FUNCTION IF EXISTS fn1;
2363 CREATE FUNCTION fn1(f1 decimal ) returns decimal
2364     return f1;
2366 DROP FUNCTION IF EXISTS fn1;
2367 CREATE FUNCTION fn1(f1 decimal unsigned ) returns decimal unsigned
2368     return f1;
2370 DROP FUNCTION IF EXISTS fn1;
2371 CREATE FUNCTION fn1(f1 decimal zerofill ) returns decimal zerofill
2372     return f1;
2374 DROP FUNCTION IF EXISTS fn1;
2375 CREATE FUNCTION fn1(f1 decimal unsigned zerofill ) returns decimal unsigned zerofill
2376     return f1;
2378 DROP FUNCTION IF EXISTS fn1;
2379 CREATE FUNCTION fn1(f1 numeric ) returns numeric
2380     return f1;
2382 DROP FUNCTION IF EXISTS fn1;
2383 CREATE FUNCTION fn1(f1 numeric unsigned ) returns numeric unsigned
2384     return f1;
2386 DROP FUNCTION IF EXISTS fn1;
2387 CREATE FUNCTION fn1(f1 numeric zerofill ) returns numeric zerofill
2388     return f1;
2390 DROP FUNCTION IF EXISTS fn1;
2391 CREATE FUNCTION fn1(f1 numeric unsigned zerofill ) returns numeric unsigned zerofill
2392     return f1;
2394 DROP FUNCTION IF EXISTS fn1;
2395 CREATE FUNCTION fn1(f1 real ) returns real
2396     return f1;
2398 DROP FUNCTION IF EXISTS fn1;
2399 CREATE FUNCTION fn1(f1 real unsigned ) returns real unsigned
2400     return f1;
2402 DROP FUNCTION IF EXISTS fn1;
2403 CREATE FUNCTION fn1(f1 real zerofill ) returns real zerofill
2404     return f1;
2406 DROP FUNCTION IF EXISTS fn1;
2407 CREATE FUNCTION fn1(f1 real unsigned zerofill ) returns real unsigned zerofill
2408     return f1;
2410 DROP FUNCTION IF EXISTS fn1;
2411 CREATE FUNCTION fn1(f1 float ) returns float
2412     return f1;
2414 DROP FUNCTION IF EXISTS fn1;
2415 CREATE FUNCTION fn1(f1 float unsigned ) returns float unsigned
2416     return f1;
2418 DROP FUNCTION IF EXISTS fn1;
2419 CREATE FUNCTION fn1(f1 float zerofill ) returns float zerofill
2420     return f1;
2422 DROP FUNCTION IF EXISTS fn1;
2423 CREATE FUNCTION fn1(f1 float unsigned zerofill ) returns float unsigned zerofill
2424     return f1;
2426 DROP FUNCTION IF EXISTS fn1;
2427 CREATE FUNCTION fn1(f1 date ) returns date
2428     return f1;
2430 DROP FUNCTION IF EXISTS fn1;
2431 CREATE FUNCTION fn1(f1 time ) returns time
2432     return f1;
2434 DROP FUNCTION IF EXISTS fn1;
2435 CREATE FUNCTION fn1(f1 datetime ) returns datetime
2436     return f1;
2438 DROP FUNCTION IF EXISTS fn1;
2439 CREATE FUNCTION fn1(f1 timestamp ) returns timestamp
2440     return f1;
2442 DROP FUNCTION IF EXISTS fn1;
2443 CREATE FUNCTION fn1(f1 year ) returns year
2444     return f1;
2446 DROP FUNCTION IF EXISTS fn1;
2447 --error ER_PARSE_ERROR
2448 CREATE FUNCTION fn1(f1 year(f1 3) ) returns year(3)
2449     return f1;
2451 DROP FUNCTION IF EXISTS fn1;
2452 --error ER_PARSE_ERROR
2453 CREATE FUNCTION fn1(f1 year(f1 4) ) returns year(4)
2454     return f1;
2456 DROP FUNCTION IF EXISTS fn1;
2457 --error ER_PARSE_ERROR
2458 CREATE FUNCTION fn1(f1 enum(f1 "1enum", "2enum") ) returns enum("1enum", "2enum")
2459     return f1;
2461 DROP FUNCTION IF EXISTS fn1;
2462 --error ER_PARSE_ERROR
2463 CREATE FUNCTION fn1(f1 set(f1 "1set", "2set") ) returns set("1set", "2set")
2464     return f1;
2467 # ------------------------------------------------------------------------------
2468 let $message= Testcase 4.1.16:
2469               ----------------
2470 Ensure that a reference to a non-existent stored procedure is rejected with an
2471 appropriate error message;
2472 --source include/show_msg80.inc
2474 DROP PROCEDURE IF EXISTS sp16;
2476 --error ER_SP_DOES_NOT_EXIST
2477 CALL sp16( 'xyz' );
2479 CREATE DATABASE db1;
2480 USE db1;
2482 delimiter //;
2483 CREATE PROCEDURE sp16()
2484 BEGIN
2485     set @var1 = 1;
2486     SELECT @var1;
2487 END//
2488 delimiter ;//
2490 --error ER_SP_DOES_NOT_EXIST
2491 CALL db_storedproc.sp16();
2493 # cleanup
2494 USE db_storedproc;
2495 DROP PROCEDURE db1.sp16;
2496 DROP DATABASE db1;
2499 # ------------------------------------------------------------------------------
2500 let $message= Testcase 4.1.17:
2501               ----------------
2502 Ensure that it is possible to drop, create and CALL/execute a procedure and a
2503 function with the same name, even in the same database;
2504 --source include/show_msg80.inc
2506 USE db_storedproc;
2507 DROP FUNCTION IF EXISTS sp1;
2508 DROP PROCEDURE IF EXISTS sp1;
2510 delimiter //;
2511 CREATE PROCEDURE sp1 ()
2512 BEGIN
2513     declare x enum( 'db1', 'test' ) default 'test';
2514     SELECT x;
2515 END//
2516 delimiter ;//
2518 CALL sp1();
2521 CREATE FUNCTION sp1 (y char) returns char return y;
2522   SELECT sp1( 'a' );
2524 DROP DATABASE IF EXISTS db1;
2525 CREATE DATABASE db1;
2526 USE db1;
2527 CALL db_storedproc.sp1( );
2528 SELECT db_storedproc.sp1( 'a' );
2530 DROP FUNCTION db_storedproc.sp1;
2531 USE db_storedproc;
2533 --error ER_SP_DOES_NOT_EXIST
2534 SELECT sp1('a');
2536 DROP PROCEDURE sp1;
2538 --error ER_SP_DOES_NOT_EXIST
2539 CALL sp1();
2541 --error ER_SP_DOES_NOT_EXIST
2542 SELECT sp1('a');
2544 # cleanup
2545 USE db_storedproc;
2546 DROP DATABASE db1;
2549 # ------------------------------------------------------------------------------
2550 let $message= Testcase 4.1.18:
2551               ----------------
2552 Ensure that it is possible to alter a procedure and
2553 a function with the same name, in the same database;
2554 --source include/show_msg80.inc
2557 USE db_storedproc;
2558 DROP PROCEDURE IF EXISTS sp1;
2559 DROP FUNCTION IF EXISTS sp1;
2560 set @x=null; set @y=null;
2562 delimiter //;
2563 CREATE PROCEDURE sp1()
2564 BEGIN
2565     set @x= 1;
2566     SELECT @x;
2567 END//
2568 delimiter ;//
2570 CREATE FUNCTION sp1 () returns int return 2.2;
2571 CALL db_storedproc.sp1();
2572 SELECT db_storedproc.sp1();
2574 DROP DATABASE IF EXISTS db1;
2575 CREATE DATABASE db1;
2576 USE db1;
2577 alter procedure db_storedproc.sp1 sql security invoker;
2578 --sorted_result
2579 SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
2581 alter function db_storedproc.sp1 sql security invoker;
2582 --sorted_result
2583 SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
2585 CALL db_storedproc.sp1();
2587 SELECT db_storedproc.sp1();
2589 USE db_storedproc;
2590 alter procedure sp1 sql security DEFINER;
2591 CALL db_storedproc.sp1();
2593 SELECT db_storedproc.sp1();
2595 alter function sp1 sql security DEFINER;
2596 --sorted_result
2597 SELECT name, type, security_type from mysql.proc where db LIKE 'db_storedproc%' and specific_name='sp1';
2598 CALL db_storedproc.sp1();
2600 SELECT db_storedproc.sp1();
2602 # cleanup
2603 USE db_storedproc;
2604 DROP DATABASE db1;
2605 DROP PROCEDURE db_storedproc.sp1;
2606 DROP FUNCTION db_storedproc.sp1;
2608 # ------------------------------------------------------------------------------
2609 let $message= Testcase 4.1.19:
2610               ----------------
2611 verify altering procedure and function with the same name, does not affect
2612 properties of a procedure and a function with the same name in the different
2613 database.;
2614 --source include/show_msg80.inc
2617 --disable_warnings
2618 DROP DATABASE IF EXISTS db_storedproc_3122;
2619 --enable_warnings
2621 CREATE DATABASE db_storedproc_3122;
2622 USE db_storedproc;
2623 SET @x = NULL;
2624 SET @y = NULL;
2625 DROP PROCEDURE IF EXISTS sp1;
2626 DROP FUNCTION IF EXISTS sp1;
2627 DROP PROCEDURE IF EXISTS db_storedproc_3122.sp1;
2628 DROP FUNCTION IF EXISTS db_storedproc_3122.sp1;
2629 delimiter //;
2630 CREATE PROCEDURE sp1()
2631 BEGIN
2632     SET @x = 1;
2633     SELECT @x;
2634 END//
2635 delimiter ;//
2637 # FIXME ps-protocol vs. normal difference when returning float instead of double
2638 CREATE FUNCTION db_storedproc_3122.sp1() RETURNS DOUBLE RETURN 2.2;
2639 CALL sp1();
2640   SELECT db_storedproc_3122.sp1();
2641   USE db_storedproc_3122;
2643 delimiter //;
2644 CREATE PROCEDURE sp1 ()
2645 BEGIN
2646     SET @x = 3;
2647     SELECT @x;
2648 END//
2649 delimiter ;//
2651 CREATE FUNCTION db_storedproc.sp1() RETURNS DOUBLE RETURN 4.4;
2652 CALL sp1();
2653 SELECT db_storedproc.sp1();
2655 ALTER PROCEDURE db_storedproc_3122.sp1 SQL SECURITY INVOKER;
2656 ALTER FUNCTION sp1 SQL SECURITY INVOKER;
2658 --sorted_result
2659 SELECT db, name, type, security_type FROM mysql.proc WHERE db LIKE 'db_storedproc%' AND specific_name='sp1';
2661 CALL db_storedproc.sp1();
2663 SELECT db_storedproc.sp1();
2664 CALL db_storedproc_3122.sp1();
2665 SELECT db_storedproc_3122.sp1();
2667 # clean up
2668 USE db_storedproc;
2669 DROP DATABASE db_storedproc_3122;
2670 DROP FUNCTION db_storedproc.sp1;
2671 DROP PROCEDURE db_storedproc.sp1;
2674 # ------------------------------------------------------------------------------
2675 let $message= Testcase 4.1.20:
2676               ----------------
2677 Ensure that it is possible to alter the comment of a procedure
2678 and a function with the same name, even in the same database;
2679 --source include/show_msg80.inc
2682 USE db_storedproc;
2683 set @x=null;
2685 --disable_warnings
2686 DROP PROCEDURE IF EXISTS sp1;
2687 DROP FUNCTION IF EXISTS sp1;
2688 --enable_warnings
2690 CREATE PROCEDURE sp1 () set @x= 1;
2691 CREATE FUNCTION sp1 () returns int return 2;
2693 DROP DATABASE IF EXISTS db_storedproc_3122;
2694 CREATE DATABASE db_storedproc_3122;
2695 USE db_storedproc_3122;
2697 CREATE PROCEDURE sp1 () set @x= 3;
2698 CREATE FUNCTION sp1 () returns int return 4;
2700 alter procedure sp1 sql security invoker comment 'this is a procedure';
2701 alter function sp1 sql security invoker comment 'this is a function';
2703 alter procedure sp1 sql security DEFINER;
2704 alter function sp1 sql security DEFINER;
2705 --replace_column 5 <modified> 6 <created>
2706 show CREATE PROCEDURE sp1;
2707 --replace_column 5 <modified> 6 <created>
2708 show CREATE FUNCTION sp1;
2710 # clean up
2711 USE db_storedproc;
2712 DROP DATABASE db_storedproc_3122;
2713 DROP FUNCTION db_storedproc.sp1;
2714 DROP PROCEDURE db_storedproc.sp1;
2717 # ------------------------------------------------------------------------------
2718 let $message= Testcase 4.1.21:
2719               ----------------
2720 Ensure that it is not possible to create two procedures with same name
2721 in same database;
2722 --source include/show_msg80.inc
2724 USE db_storedproc;
2725 set @x=null;
2726 set @y=null;
2728 --disable_warnings
2729 DROP DATABASE IF EXISTS db1;
2730 --enable_warnings
2732 CREATE DATABASE db1;
2733 DROP PROCEDURE IF EXISTS sp1;
2734 CREATE PROCEDURE sp1 () set @x=1;
2736 --error ER_SP_ALREADY_EXISTS
2737 CREATE PROCEDURE sp1 () set @x=2;
2739 CALL sp1();
2740 SELECT @x;
2741 USE db1;
2742 --error ER_SP_ALREADY_EXISTS
2743 CREATE PROCEDURE db_storedproc.sp1 () set @x=3;
2744 CALL db_storedproc.sp1();
2745   SELECT @x;
2747 DROP PROCEDURE IF EXISTS db_storedproc.sp1;
2748 CREATE PROCEDURE db_storedproc.sp1 () set @x=1;
2749 --error ER_SP_ALREADY_EXISTS
2750 CREATE PROCEDURE db_storedproc.sp1 () set @x=2;
2751 CALL db_storedproc.sp1();
2752 SELECT @x;
2754 # clean up
2755 USE db_storedproc;
2756 DROP DATABASE db1;
2757 DROP PROCEDURE db_storedproc.sp1;
2761 # ------------------------------------------------------------------------------
2762 let $message= Testcase 4.1.22:
2763               ----------------
2764 Ensure that it is not possible to create two functions with same name in the
2765 same database;
2766 --source include/show_msg80.inc
2768 USE db_storedproc;
2769 DROP DATABASE IF EXISTS db1;
2770 CREATE DATABASE db1;
2771 DROP FUNCTION IF EXISTS fn1;
2772 CREATE FUNCTION fn1 () returns int return 1;
2773 --error ER_SP_ALREADY_EXISTS
2774 CREATE FUNCTION fn1 () returns int return 2;
2775 SELECT fn1();
2776 USE db1;
2777 --error ER_SP_ALREADY_EXISTS
2778 CREATE FUNCTION db_storedproc.fn1 () returns int return 3;
2779 SELECT db_storedproc.fn1();
2780 DROP FUNCTION IF EXISTS db_storedproc.fn1;
2781 CREATE FUNCTION db_storedproc.fn1 () returns int return 1;
2782 --error ER_SP_ALREADY_EXISTS
2783 CREATE FUNCTION db_storedproc.fn1 () returns int return 2;
2784 SELECT db_storedproc.fn1();
2786 # clean up
2787 USE db_storedproc;
2788 DROP DATABASE db1;
2789 DROP FUNCTION db_storedproc.fn1;
2792 # ------------------------------------------------------------------------------
2793 let $message= Testcase 4.1.23:
2794               ----------------
2795 Ensure that it is possible to create two or more procedures with the same name,
2796 providing each resides in different databases;
2797 --source include/show_msg80.inc
2800 USE db_storedproc;
2801 set @x=null;
2802 set @y=null;
2803 DROP PROCEDURE IF EXISTS sp1;
2804 CREATE PROCEDURE sp1 () set @x= 1;
2805 DROP DATABASE IF EXISTS test3124;
2806 CREATE DATABASE test3124;
2807 USE test3124;
2808 CREATE PROCEDURE sp1 () set @y= 2;
2809 CALL sp1();
2810 SELECT @x, @y;
2811 USE db_storedproc;
2812 CALL sp1();
2813 SELECT @x, @y;
2815 # clean up
2816 USE db_storedproc;
2817 DROP DATABASE test3124;
2818 DROP PROCEDURE db_storedproc.sp1;
2821 # ------------------------------------------------------------------------------
2822 let $message= Testcase 4.1.24:
2823               ----------------
2824 Ensure that it is possible to create two or more functions with the same name,
2825 providing each resides in different databases.;
2826 --source include/show_msg80.inc
2829 USE db_storedproc;
2830 DROP FUNCTION IF EXISTS f1;
2831 CREATE FUNCTION f1 () returns int return 1;
2832 DROP DATABASE IF EXISTS test3125;
2833 CREATE DATABASE test3125;
2834 USE test3125; CREATE FUNCTION f1 () returns int return 2;
2835 SELECT f1();
2836 USE db_storedproc;
2837 SELECT f1();
2839 # clean up
2840 USE db_storedproc;
2841 DROP DATABASE test3125;
2842 DROP FUNCTION db_storedproc.f1;
2845 # ------------------------------------------------------------------------------
2846 let $message= Testcase 4.1.25:
2847               ----------------
2848 Ensure that any invalid function name is never accepted, and that an appropriate
2849 error message is returned when the name is rejected. (invalid func name);
2850 --source include/show_msg80.inc
2852 delimiter //;
2853 --error ER_PARSE_ERROR
2854 CREATE FUNCTION !_fn1( f1 char(20) ) returns int
2855 BEGIN
2856    SELECT * from t1 where f2 = f1;
2857    return 1;
2858 END//
2859 delimiter ;//
2861 delimiter //;
2862 --error ER_PARSE_ERROR
2863 CREATE FUNCTION fn1( f1 char(20) ) return int
2864 BEGIN
2865    SELECT * from t1 where f2 = f1;
2866    return 1;
2867 END//
2868 delimiter ;//
2870 CREATE FUNCTION fn1() returns int
2871   return 'a';
2873 --error ER_PARSE_ERROR
2874 CREATE FUNCTION procedure() returns int
2875   return 1;
2877 --error ER_PARSE_ERROR
2878 CREATE FUNCTION fn1(a char) returns int lang sql return 1;
2880 --error ER_PARSE_ERROR
2881 CREATE FUNCTION fn1(a char) returns int deterministic( return 1);
2883 --error ER_PARSE_ERROR
2884 CREATE FUNCTION fn1(a char) returns int non deterministic return 1;
2886 --error ER_PARSE_ERROR
2887 CREATE FUNCTION fn1(a char) returns int not deterministic comment 'abc' language sql sql security refiner return 1;
2889 # clean up
2890 --disable_warnings
2891 DROP FUNCTION IF EXISTS fn1;
2892 --enable_warnings
2895 # ==============================================================================
2897 # test plan section: 4.2 - syntax checks for programming statements - 1
2899 # ==============================================================================
2901 # ------------------------------------------------------------------------------
2902 let $message= Testcase 4.1.1:
2903               ---------------
2904               Ensure that all clauses that should be supported are supported.
2905               CREATE PROCEDURE;
2906 --source include/show_msg80.inc
2909 USE db_storedproc;
2911   set @count = 0;
2913 --disable_warnings
2914 DROP PROCEDURE IF EXISTS sp1;
2915 --enable_warnings
2917 delimiter //;
2918 CREATE PROCEDURE sp1(cnt int(20))
2919 BEGIN
2920     SELECT count(*) into cnt from t2;
2921     set @count = cnt;
2922 END//
2923 delimiter ;//
2925 CALL sp1( 10 );
2927   SELECT @count;
2929 # clean up
2930 DROP PROCEDURE sp1;
2932 # ------------------------------------------------------------------------------
2933 let $message= Testcase 4.2.2:
2934 BEGINend;
2935 --source include/show_msg80.inc
2938 --disable_warnings
2939 DROP PROCEDURE IF EXISTS sp1;
2940 --enable_warnings
2942 delimiter //;
2943 CREATE PROCEDURE sp1( cnt int(20) )
2944 BEGIN
2945     SELECT count(*) into cnt from t2;
2946     set @count = cnt;
2947     SELECT @count;
2948 END//
2949 delimiter ;//
2951 CALL sp1( 10 );
2953 --disable_warnings
2954 DROP PROCEDURE IF EXISTS sp1;
2955 --enable_warnings
2957 # missing BEGIN
2958 # PLEASE NOTE:
2959 # this test client has the MULTI_QUERY capability,
2960 # so that the following request (starting at 'CREATE' and ending at the //
2961 # delimiter) is interpreted as follows:
2962 # 1) it's a multi query
2963 # 2) the first query is a valid CREATE PROCEDURE statement, and the
2964 # procedure consist of only one SELECT statement
2965 # 3) the second query is a SET statement, which is broken since it's
2966 # referencing an unknown column 'cnt'
2967 # 4) the next query (SELECT @count) is not parsed or executed, since 3)
2968 # failed
2970 delimiter //;
2971 --error ER_BAD_FIELD_ERROR
2972 CREATE PROCEDURE sp1( cnt int(20) )
2973     SELECT count(*) into cnt from t2;
2974     set @count = cnt;
2975     SELECT @count;
2976 END//
2977 delimiter ;//
2979 CALL sp1( 10 );
2981 --disable_warnings
2982 DROP PROCEDURE sp1;
2983 --enable_warnings
2985 # wrong order of BEGIN and END
2986 delimiter //;
2987 --error ER_PARSE_ERROR
2988 CREATE PROCEDURE sp1( cnt int(20) )
2990     SELECT count(*) into cnt from t2;
2991     set @count = cnt;
2992     SELECT @count;
2993 BEGIN//
2994 delimiter ;//
2996 --error ER_SP_DOES_NOT_EXIST
2997 CALL sp1( 10 );
2999 --disable_warnings
3000 DROP PROCEDURE IF EXISTS sp1;
3001 --enable_warnings
3003 # invalid usage of BEGIN + END
3004 delimiter //;
3005 --error ER_PARSE_ERROR
3006 CREATE PROCEDURE sp1( cnt int(20) )
3007 BEGIN
3008    SELECT count(*) into cnt from t2;
3009    BEGIN
3010       BEGIN END;
3011    BEGIN
3012    END;
3013    set @count = cnt;
3014    SELECT @count;
3015 END//
3016 delimiter ;//
3018 # ------------------------------------------------------------------------------
3019 let $message= Testcase 4.2.4:
3020               ---------------
3021 Ensure that every BEGIN statement is coupled with a terminating END statement.
3022 (BEGIN with no END);
3023 --source include/show_msg80.inc
3025 --disable_warnings
3026 DROP PROCEDURE IF EXISTS sp1;
3027 --enable_warnings
3029 delimiter //;
3030 CREATE PROCEDURE sp1( )
3031 BEGIN
3032     declare x char;
3033     declare y char;
3034     SELECT f1, f2 into x, y from t2 limit 1;
3035 END//
3036 delimiter ;//
3038 # ------------------------------------------------------------------------------
3039 let $message= Testcase ....:
3040               --------------
3042 --source include/show_msg80.inc
3044 --disable_warnings
3045 DROP PROCEDURE IF EXISTS sp1;
3046 --enable_warnings
3048 delimiter //;
3049 --error ER_PARSE_ERROR
3050 CREATE PROCEDURE sp1()
3051   accessible:BEGIN
3052     SELECT @x;
3053 END//
3054 delimiter ;//
3056 --disable_warnings
3057 DROP PROCEDURE IF EXISTS sp1;
3058 --enable_warnings
3060 delimiter //;
3061 --error ER_PARSE_ERROR
3062 CREATE PROCEDURE sp1()
3063   add:BEGIN
3064     SELECT @x;
3065 END//
3066 delimiter ;//
3068 --disable_warnings
3069 DROP PROCEDURE IF EXISTS sp1;
3070 --enable_warnings
3072 delimiter //;
3073 --error ER_PARSE_ERROR
3074 CREATE PROCEDURE sp1()
3075   all:BEGIN
3076     SELECT @x;
3077 END//
3078 delimiter ;//
3080 --disable_warnings
3081 DROP PROCEDURE IF EXISTS sp1;
3082 --enable_warnings
3084 delimiter //;
3085 --error ER_SP_BADSTATEMENT
3086 CREATE PROCEDURE sp1()
3087   alter:BEGIN
3088     SELECT @x;
3089 END//
3090 delimiter ;//
3092 --disable_warnings
3093 DROP PROCEDURE IF EXISTS sp1;
3094 --enable_warnings
3096 delimiter //;
3097 --error ER_PARSE_ERROR
3098 CREATE PROCEDURE sp1()
3099   analyze:BEGIN
3100     SELECT @x;
3101 END//
3102 delimiter ;//
3104 --disable_warnings
3105 DROP PROCEDURE IF EXISTS sp1;
3106 --enable_warnings
3108 delimiter //;
3109 --error ER_PARSE_ERROR
3110 CREATE PROCEDURE sp1()
3111   and:BEGIN
3112     SELECT @x;
3113 END//
3114 delimiter ;//
3116 --disable_warnings
3117 DROP PROCEDURE IF EXISTS sp1;
3118 --enable_warnings
3120 delimiter //;
3121 --error ER_PARSE_ERROR
3122 CREATE PROCEDURE sp1()
3123   as:BEGIN
3124     SELECT @x;
3125 END//
3126 delimiter ;//
3128 --disable_warnings
3129 DROP PROCEDURE IF EXISTS sp1;
3130 --enable_warnings
3132 delimiter //;
3133 --error ER_PARSE_ERROR
3134 CREATE PROCEDURE sp1()
3135   asc:BEGIN
3136     SELECT @x;
3137 END//
3138 delimiter ;//
3140 --disable_warnings
3141 DROP PROCEDURE IF EXISTS sp1;
3142 --enable_warnings
3144 delimiter //;
3145 --error ER_PARSE_ERROR
3146 CREATE PROCEDURE sp1()
3147   asensitive:BEGIN
3148     SELECT @x;
3149 END//
3150 delimiter ;//
3152 --disable_warnings
3153 DROP PROCEDURE IF EXISTS sp1;
3154 --enable_warnings
3156 delimiter //;
3157 --error ER_PARSE_ERROR
3158 CREATE PROCEDURE sp1()
3159   before:BEGIN
3160     SELECT @x;
3161 END//
3162 delimiter ;//
3164 --disable_warnings
3165 DROP PROCEDURE IF EXISTS sp1;
3166 --enable_warnings
3168 delimiter //;
3169 --error ER_PARSE_ERROR
3170 CREATE PROCEDURE sp1()
3171   between:BEGIN
3172     SELECT @x;
3173 END//
3174 delimiter ;//
3176 --disable_warnings
3177 DROP PROCEDURE IF EXISTS sp1;
3178 --enable_warnings
3180 delimiter //;
3181 --error ER_PARSE_ERROR
3182 CREATE PROCEDURE sp1()
3183   bigint:BEGIN
3184     SELECT @x;
3185 END//
3186 delimiter ;//
3188 --disable_warnings
3189 DROP PROCEDURE IF EXISTS sp1;
3190 --enable_warnings
3192 delimiter //;
3193 --error ER_PARSE_ERROR
3194 CREATE PROCEDURE sp1()
3195   binary:BEGIN
3196     SELECT @x;
3197 END//
3198 delimiter ;//
3200 --disable_warnings
3201 DROP PROCEDURE IF EXISTS sp1;
3202 --enable_warnings
3204 delimiter //;
3205 --error ER_PARSE_ERROR
3206 CREATE PROCEDURE sp1()
3207   blob:BEGIN
3208     SELECT @x;
3209 END//
3210 delimiter ;//
3212 --disable_warnings
3213 DROP PROCEDURE IF EXISTS sp1;
3214 --enable_warnings
3216 delimiter //;
3217 --error ER_PARSE_ERROR
3218 CREATE PROCEDURE sp1()
3219   both:BEGIN
3220     SELECT @x;
3221 END//
3222 delimiter ;//
3224 --disable_warnings
3225 DROP PROCEDURE IF EXISTS sp1;
3226 --enable_warnings
3228 delimiter //;
3229 --error ER_PARSE_ERROR
3230 CREATE PROCEDURE sp1()
3231   by:BEGIN
3232     SELECT @x;
3233 END//
3234 delimiter ;//
3236 --disable_warnings
3237 DROP PROCEDURE IF EXISTS sp1;
3238 --enable_warnings
3240 delimiter //;
3241 --error ER_PARSE_ERROR
3242 CREATE PROCEDURE sp1()
3243   call:BEGIN
3244     SELECT @x;
3245 END//
3246 delimiter ;//
3248 --disable_warnings
3249 DROP PROCEDURE IF EXISTS sp1;
3250 --enable_warnings
3252 delimiter //;
3253 --error ER_PARSE_ERROR
3254 CREATE PROCEDURE sp1()
3255   cascade:BEGIN
3256     SELECT @x;
3257 END//
3258 delimiter ;//
3260 --disable_warnings
3261 DROP PROCEDURE IF EXISTS sp1;
3262 --enable_warnings
3264 delimiter //;
3265 --error ER_PARSE_ERROR
3266 CREATE PROCEDURE sp1()
3267   case:BEGIN
3268     SELECT @x;
3269 END//
3270 delimiter ;//
3272 --disable_warnings
3273 DROP PROCEDURE IF EXISTS sp1;
3274 --enable_warnings
3276 delimiter //;
3277 --error ER_PARSE_ERROR
3278 CREATE PROCEDURE sp1()
3279   change:BEGIN
3280     SELECT @x;
3281 END//
3282 delimiter ;//
3284 --disable_warnings
3285 DROP PROCEDURE IF EXISTS sp1;
3286 --enable_warnings
3288 delimiter //;
3289 --error ER_PARSE_ERROR
3290 CREATE PROCEDURE sp1()
3291   char:BEGIN
3292     SELECT @x;
3293 END//
3294 delimiter ;//
3296 --disable_warnings
3297 DROP PROCEDURE IF EXISTS sp1;
3298 --enable_warnings
3300 delimiter //;
3301 --error ER_PARSE_ERROR
3302 CREATE PROCEDURE sp1()
3303   character:BEGIN
3304     SELECT @x;
3305 END//
3306 delimiter ;//
3308 --disable_warnings
3309 DROP PROCEDURE IF EXISTS sp1;
3310 --enable_warnings
3312 delimiter //;
3313 --error ER_PARSE_ERROR
3314 CREATE PROCEDURE sp1()
3315   check:BEGIN
3316     SELECT @x;
3317 END//
3318 delimiter ;//
3320 --disable_warnings
3321 DROP PROCEDURE IF EXISTS sp1;
3322 --enable_warnings
3324 delimiter //;
3325 --error ER_PARSE_ERROR
3326 CREATE PROCEDURE sp1()
3327   collate:BEGIN
3328     SELECT @x;
3329 END//
3330 delimiter ;//
3332 --disable_warnings
3333 DROP PROCEDURE IF EXISTS sp1;
3334 --enable_warnings
3336 delimiter //;
3337 --error ER_PARSE_ERROR
3338 CREATE PROCEDURE sp1()
3339   column:BEGIN
3340     SELECT @x;
3341 END//
3342 delimiter ;//
3344 --disable_warnings
3345 DROP PROCEDURE IF EXISTS sp1;
3346 --enable_warnings
3348 delimiter //;
3349 --error ER_PARSE_ERROR
3350 CREATE PROCEDURE sp1()
3351   condition:BEGIN
3352     SELECT @x;
3353 END//
3354 delimiter ;//
3356 --disable_warnings
3357 DROP PROCEDURE IF EXISTS sp1;
3358 --enable_warnings
3360 delimiter //;
3361 --error ER_PARSE_ERROR
3362 CREATE PROCEDURE sp1()
3363   constraint:BEGIN
3364     SELECT @x;
3365 END//
3366 delimiter ;//
3368 --disable_warnings
3369 DROP PROCEDURE IF EXISTS sp1;
3370 --enable_warnings
3372 delimiter //;
3373 --error ER_PARSE_ERROR
3374 CREATE PROCEDURE sp1()
3375   continue:BEGIN
3376     SELECT @x;
3377 END//
3378 delimiter ;//
3380 --disable_warnings
3381 DROP PROCEDURE IF EXISTS sp1;
3382 --enable_warnings
3384 delimiter //;
3385 --error ER_PARSE_ERROR
3386 CREATE PROCEDURE sp1()
3387   convert:BEGIN
3388     SELECT @x;
3389 END//
3390 delimiter ;//
3392 --disable_warnings
3393 DROP PROCEDURE IF EXISTS sp1;
3394 --enable_warnings
3396 delimiter //;
3397 --error ER_PARSE_ERROR
3398 CREATE PROCEDURE sp1()
3399   create:BEGIN
3400     SELECT @x;
3401 END//
3402 delimiter ;//
3404 --disable_warnings
3405 DROP PROCEDURE IF EXISTS sp1;
3406 --enable_warnings
3408 delimiter //;
3409 --error ER_PARSE_ERROR
3410 CREATE PROCEDURE sp1()
3411   cross:BEGIN
3412     SELECT @x;
3413 END//
3414 delimiter ;//
3416 --disable_warnings
3417 DROP PROCEDURE IF EXISTS sp1;
3418 --enable_warnings
3420 delimiter //;
3421 --error ER_PARSE_ERROR
3422 CREATE PROCEDURE sp1()
3423   current_date:BEGIN
3424     SELECT @x;
3425 END//
3426 delimiter ;//
3428 --disable_warnings
3429 DROP PROCEDURE IF EXISTS sp1;
3430 --enable_warnings
3432 delimiter //;
3433 --error ER_PARSE_ERROR
3434 CREATE PROCEDURE sp1()
3435   current_time:BEGIN
3436     SELECT @x;
3437 END//
3438 delimiter ;//
3440 --disable_warnings
3441 DROP PROCEDURE IF EXISTS sp1;
3442 --enable_warnings
3444 delimiter //;
3445 --error ER_PARSE_ERROR
3446 CREATE PROCEDURE sp1()
3447   current_timestamp:BEGIN
3448     SELECT @x;
3449 END//
3450 delimiter ;//
3452 --disable_warnings
3453 DROP PROCEDURE IF EXISTS sp1;
3454 --enable_warnings
3456 delimiter //;
3457 --error ER_PARSE_ERROR
3458 CREATE PROCEDURE sp1()
3459   current_user:BEGIN
3460     SELECT @x;
3461 END//
3462 delimiter ;//
3464 --disable_warnings
3465 DROP PROCEDURE IF EXISTS sp1;
3466 --enable_warnings
3468 delimiter //;
3469 --error ER_PARSE_ERROR
3470 CREATE PROCEDURE sp1()
3471   cursor:BEGIN
3472     SELECT @x;
3473 END//
3474 delimiter ;//
3476 --disable_warnings
3477 DROP PROCEDURE IF EXISTS sp1;
3478 --enable_warnings
3480 delimiter //;
3481 --error ER_PARSE_ERROR
3482 CREATE PROCEDURE sp1()
3483   database:BEGIN
3484     SELECT @x;
3485 END//
3486 delimiter ;//
3488 --disable_warnings
3489 DROP PROCEDURE IF EXISTS sp1;
3490 --enable_warnings
3492 delimiter //;
3493 --error ER_PARSE_ERROR
3494 CREATE PROCEDURE sp1()
3495   databases:BEGIN
3496     SELECT @x;
3497 END//
3498 delimiter ;//
3500 --disable_warnings
3501 DROP PROCEDURE IF EXISTS sp1;
3502 --enable_warnings
3504 delimiter //;
3505 --error ER_PARSE_ERROR
3506 CREATE PROCEDURE sp1()
3507   day_hour:BEGIN
3508     SELECT @x;
3509 END//
3510 delimiter ;//
3512 --disable_warnings
3513 DROP PROCEDURE IF EXISTS sp1;
3514 --enable_warnings
3516 delimiter //;
3517 --error ER_PARSE_ERROR
3518 CREATE PROCEDURE sp1()
3519   day_microsecond:BEGIN
3520     SELECT @x;
3521 END//
3522 delimiter ;//
3524 --disable_warnings
3525 DROP PROCEDURE IF EXISTS sp1;
3526 --enable_warnings
3528 delimiter //;
3529 --error ER_PARSE_ERROR
3530 CREATE PROCEDURE sp1()
3531   day_minute:BEGIN
3532     SELECT @x;
3533 END//
3534 delimiter ;//
3536 --disable_warnings
3537 DROP PROCEDURE IF EXISTS sp1;
3538 --enable_warnings
3540 delimiter //;
3541 --error ER_PARSE_ERROR
3542 CREATE PROCEDURE sp1()
3543   day_second:BEGIN
3544     SELECT @x;
3545 END//
3546 delimiter ;//
3548 --disable_warnings
3549 DROP PROCEDURE IF EXISTS sp1;
3550 --enable_warnings
3552 delimiter //;
3553 --error ER_PARSE_ERROR
3554 CREATE PROCEDURE sp1()
3555   dec:BEGIN
3556     SELECT @x;
3557 END//
3558 delimiter ;//
3560 --disable_warnings
3561 DROP PROCEDURE IF EXISTS sp1;
3562 --enable_warnings
3564 delimiter //;
3565 --error ER_PARSE_ERROR
3566 CREATE PROCEDURE sp1()
3567   decimal:BEGIN
3568     SELECT @x;
3569 END//
3570 delimiter ;//
3572 --disable_warnings
3573 DROP PROCEDURE IF EXISTS sp1;
3574 --enable_warnings
3576 delimiter //;
3577 --error ER_PARSE_ERROR
3578 CREATE PROCEDURE sp1()
3579   declare:BEGIN
3580     SELECT @x;
3581 END//
3582 delimiter ;//
3584 --disable_warnings
3585 DROP PROCEDURE IF EXISTS sp1;
3586 --enable_warnings
3588 delimiter //;
3589 --error ER_PARSE_ERROR
3590 CREATE PROCEDURE sp1()
3591   default:BEGIN
3592     SELECT @x;
3593 END//
3594 delimiter ;//
3596 --disable_warnings
3597 DROP PROCEDURE IF EXISTS sp1;
3598 --enable_warnings
3600 delimiter //;
3601 --error ER_PARSE_ERROR
3602 CREATE PROCEDURE sp1()
3603   delayed:BEGIN
3604     SELECT @x;
3605 END//
3606 delimiter ;//
3608 --disable_warnings
3609 DROP PROCEDURE IF EXISTS sp1;
3610 --enable_warnings
3612 delimiter //;
3613 --error ER_PARSE_ERROR
3614 CREATE PROCEDURE sp1()
3615   delete:BEGIN
3616     SELECT @x;
3617 END//
3618 delimiter ;//
3620 --disable_warnings
3621 DROP PROCEDURE IF EXISTS sp1;
3622 --enable_warnings
3624 delimiter //;
3625 --error ER_PARSE_ERROR
3626 CREATE PROCEDURE sp1()
3627   desc:BEGIN
3628     SELECT @x;
3629 END//
3630 delimiter ;//
3632 --disable_warnings
3633 DROP PROCEDURE IF EXISTS sp1;
3634 --enable_warnings
3636 delimiter //;
3637 --error ER_PARSE_ERROR
3638 CREATE PROCEDURE sp1()
3639   describe:BEGIN
3640     SELECT @x;
3641 END//
3642 delimiter ;//
3644 --disable_warnings
3645 DROP PROCEDURE IF EXISTS sp1;
3646 --enable_warnings
3648 delimiter //;
3649 --error ER_PARSE_ERROR
3650 CREATE PROCEDURE sp1()
3651   deterministic:BEGIN
3652     SELECT @x;
3653 END//
3654 delimiter ;//
3656 --disable_warnings
3657 DROP PROCEDURE IF EXISTS sp1;
3658 --enable_warnings
3660 delimiter //;
3661 --error ER_PARSE_ERROR
3662 CREATE PROCEDURE sp1()
3663   distinct:BEGIN
3664     SELECT @x;
3665 END//
3666 delimiter ;//
3668 --disable_warnings
3669 DROP PROCEDURE IF EXISTS sp1;
3670 --enable_warnings
3672 delimiter //;
3673 --error ER_PARSE_ERROR
3674 CREATE PROCEDURE sp1()
3675   distinctrow:BEGIN
3676     SELECT @x;
3677 END//
3678 delimiter ;//
3680 --disable_warnings
3681 DROP PROCEDURE IF EXISTS sp1;
3682 --enable_warnings
3684 delimiter //;
3685 --error ER_PARSE_ERROR
3686 CREATE PROCEDURE sp1()
3687   div:BEGIN
3688     SELECT @x;
3689 END//
3690 delimiter ;//
3692 --disable_warnings
3693 DROP PROCEDURE IF EXISTS sp1;
3694 --enable_warnings
3696 delimiter //;
3697 --error ER_PARSE_ERROR
3698 CREATE PROCEDURE sp1()
3699   double:BEGIN
3700     SELECT @x;
3701 END//
3702 delimiter ;//
3704 --disable_warnings
3705 DROP PROCEDURE IF EXISTS sp1;
3706 --enable_warnings
3708 delimiter //;
3709 --error ER_PARSE_ERROR
3710 CREATE PROCEDURE sp1()
3711 drop:BEGIN
3712     SELECT @x;
3713 END//
3714 delimiter ;//
3716 --disable_warnings
3717 DROP PROCEDURE IF EXISTS sp1;
3718 --enable_warnings
3720 delimiter //;
3721 --error ER_PARSE_ERROR
3722 CREATE PROCEDURE sp1()
3723   dual:BEGIN
3724     SELECT @x;
3725 END//
3726 delimiter ;//
3728 --disable_warnings
3729 DROP PROCEDURE IF EXISTS sp1;
3730 --enable_warnings
3732 delimiter //;
3733 --error ER_PARSE_ERROR
3734 CREATE PROCEDURE sp1()
3735   each:BEGIN
3736     SELECT @x;
3737 END//
3738 delimiter ;//
3740 --disable_warnings
3741 DROP PROCEDURE IF EXISTS sp1;
3742 --enable_warnings
3744 delimiter //;
3745 --error ER_PARSE_ERROR
3746 CREATE PROCEDURE sp1()
3747   else:BEGIN
3748     SELECT @x;
3749 END//
3750 delimiter ;//
3752 --disable_warnings
3753 DROP PROCEDURE IF EXISTS sp1;
3754 --enable_warnings
3756 delimiter //;
3757 --error ER_PARSE_ERROR
3758 CREATE PROCEDURE sp1()
3759   elseif:BEGIN
3760     SELECT @x;
3761 END//
3762 delimiter ;//
3764 --disable_warnings
3765 DROP PROCEDURE IF EXISTS sp1;
3766 --enable_warnings
3768 delimiter //;
3769 --error ER_PARSE_ERROR
3770 CREATE PROCEDURE sp1()
3771   enclosed:BEGIN
3772     SELECT @x;
3773 END//
3774 delimiter ;//
3776 --disable_warnings
3777 DROP PROCEDURE IF EXISTS sp1;
3778 --enable_warnings
3780 delimiter //;
3781 --error ER_PARSE_ERROR
3782 CREATE PROCEDURE sp1()
3783   escaped:BEGIN
3784     SELECT @x;
3785 END//
3786 delimiter ;//
3788 --disable_warnings
3789 DROP PROCEDURE IF EXISTS sp1;
3790 --enable_warnings
3792 delimiter //;
3793 --error ER_PARSE_ERROR
3794 CREATE PROCEDURE sp1()
3795   exists:BEGIN
3796     SELECT @x;
3797 END//
3798 delimiter ;//
3800 --disable_warnings
3801 DROP PROCEDURE IF EXISTS sp1;
3802 --enable_warnings
3804 delimiter //;
3805 --error ER_PARSE_ERROR
3806 CREATE PROCEDURE sp1()
3807   exit:BEGIN
3808     SELECT @x;
3809 END//
3810 delimiter ;//
3812 --disable_warnings
3813 DROP PROCEDURE IF EXISTS sp1;
3814 --enable_warnings
3816 delimiter //;
3817 --error ER_PARSE_ERROR
3818 CREATE PROCEDURE sp1()
3819   explain:BEGIN
3820     SELECT @x;
3821 END//
3822 delimiter ;//
3824 --disable_warnings
3825 DROP PROCEDURE IF EXISTS sp1;
3826 --enable_warnings
3828 delimiter //;
3829 --error ER_PARSE_ERROR
3830 CREATE PROCEDURE sp1()
3831   false:BEGIN
3832     SELECT @x;
3833 END//
3834 delimiter ;//
3836 --disable_warnings
3837 DROP PROCEDURE IF EXISTS sp1;
3838 --enable_warnings
3840 delimiter //;
3841 --error ER_PARSE_ERROR
3842 CREATE PROCEDURE sp1()
3843   fetch:BEGIN
3844     SELECT @x;
3845 END//
3846 delimiter ;//
3848 --disable_warnings
3849 DROP PROCEDURE IF EXISTS sp1;
3850 --enable_warnings
3852 delimiter //;
3853 --error ER_PARSE_ERROR
3854 CREATE PROCEDURE sp1()
3855   float:BEGIN
3856     SELECT @x;
3857 END//
3858 delimiter ;//
3860 --disable_warnings
3861 DROP PROCEDURE IF EXISTS sp1;
3862 --enable_warnings
3864 delimiter //;
3865 --error ER_PARSE_ERROR
3866 CREATE PROCEDURE sp1()
3867   float4:BEGIN
3868     SELECT @x;
3869 END//
3870 delimiter ;//
3872 --disable_warnings
3873 DROP PROCEDURE IF EXISTS sp1;
3874 --enable_warnings
3876 delimiter //;
3877 --error ER_PARSE_ERROR
3878 CREATE PROCEDURE sp1()
3879   float8:BEGIN
3880     SELECT @x;
3881 END//
3882 delimiter ;//
3884 --disable_warnings
3885 DROP PROCEDURE IF EXISTS sp1;
3886 --enable_warnings
3888 delimiter //;
3889 --error ER_PARSE_ERROR
3890 CREATE PROCEDURE sp1()
3891   for:BEGIN
3892     SELECT @x;
3893 END//
3894 delimiter ;//
3896 --disable_warnings
3897 DROP PROCEDURE IF EXISTS sp1;
3898 --enable_warnings
3900 delimiter //;
3901 --error ER_PARSE_ERROR
3902 CREATE PROCEDURE sp1()
3903   force:BEGIN
3904     SELECT @x;
3905 END//
3906 delimiter ;//
3908 --disable_warnings
3909 DROP PROCEDURE IF EXISTS sp1;
3910 --enable_warnings
3912 delimiter //;
3913 --error ER_PARSE_ERROR
3914 CREATE PROCEDURE sp1()
3915   foreign:BEGIN
3916     SELECT @x;
3917 END//
3918 delimiter ;//
3920 --disable_warnings
3921 DROP PROCEDURE IF EXISTS sp1;
3922 --enable_warnings
3924 delimiter //;
3925 --error ER_PARSE_ERROR
3926 CREATE PROCEDURE sp1()
3927   from:BEGIN
3928     SELECT @x;
3929 END//
3930 delimiter ;//
3932 --disable_warnings
3933 DROP PROCEDURE IF EXISTS sp1;
3934 --enable_warnings
3936 delimiter //;
3937 --error ER_PARSE_ERROR
3938 CREATE PROCEDURE sp1()
3939   fulltext:BEGIN
3940     SELECT @x;
3941 END//
3942 delimiter ;//
3944 --disable_warnings
3945 DROP PROCEDURE IF EXISTS sp1;
3946 --enable_warnings
3948 delimiter //;
3949 --error ER_PARSE_ERROR
3950 CREATE PROCEDURE sp1()
3951   grant:BEGIN
3952     SELECT @x;
3953 END//
3954 delimiter ;//
3956 --disable_warnings
3957 DROP PROCEDURE IF EXISTS sp1;
3958 --enable_warnings
3960 delimiter //;
3961 --error ER_PARSE_ERROR
3962 CREATE PROCEDURE sp1()
3963   group:BEGIN
3964     SELECT @x;
3965 END//
3966 delimiter ;//
3968 --disable_warnings
3969 DROP PROCEDURE IF EXISTS sp1;
3970 --enable_warnings
3972 delimiter //;
3973 --error ER_PARSE_ERROR
3974 CREATE PROCEDURE sp1()
3975   having:BEGIN
3976     SELECT @x;
3977 END//
3978 delimiter ;//
3980 --disable_warnings
3981 DROP PROCEDURE IF EXISTS sp1;
3982 --enable_warnings
3984 delimiter //;
3985 --error ER_PARSE_ERROR
3986 CREATE PROCEDURE sp1()
3987   high_priority:BEGIN
3988     SELECT @x;
3989 END//
3990 delimiter ;//
3992 --disable_warnings
3993 DROP PROCEDURE IF EXISTS sp1;
3994 --enable_warnings
3996 delimiter //;
3997 --error ER_PARSE_ERROR
3998 CREATE PROCEDURE sp1()
3999   hour_microsecond:BEGIN
4000     SELECT @x;
4001 END//
4002 delimiter ;//
4004 --disable_warnings
4005 DROP PROCEDURE IF EXISTS sp1;
4006 --enable_warnings
4008 delimiter //;
4009 --error ER_PARSE_ERROR
4010 CREATE PROCEDURE sp1()
4011   hour_minute:BEGIN
4012     SELECT @x;
4013 END//
4014 delimiter ;//
4016 --disable_warnings
4017 DROP PROCEDURE IF EXISTS sp1;
4018 --enable_warnings
4020 delimiter //;
4021 --error ER_PARSE_ERROR
4022 CREATE PROCEDURE sp1()
4023   hour_second:BEGIN
4024     SELECT @x;
4025 END//
4026 delimiter ;//
4028 --disable_warnings
4029 DROP PROCEDURE IF EXISTS sp1;
4030 --enable_warnings
4032 delimiter //;
4033 --error ER_PARSE_ERROR
4034 CREATE PROCEDURE sp1()
4035   if:BEGIN
4036     SELECT @x;
4037 END//
4038 delimiter ;//
4040 --disable_warnings
4041 DROP PROCEDURE IF EXISTS sp1;
4042 --enable_warnings
4044 delimiter //;
4045 --error ER_PARSE_ERROR
4046 CREATE PROCEDURE sp1()
4047   ignore:BEGIN
4048     SELECT @x;
4049 END//
4050 delimiter ;//
4052 --disable_warnings
4053 DROP PROCEDURE IF EXISTS sp1;
4054 --enable_warnings
4056 delimiter //;
4057 --error ER_PARSE_ERROR
4058 CREATE PROCEDURE sp1()
4059   in:BEGIN
4060     SELECT @x;
4061 END//
4062 delimiter ;//
4064 --disable_warnings
4065 DROP PROCEDURE IF EXISTS sp1;
4066 --enable_warnings
4068 delimiter //;
4069 --error ER_PARSE_ERROR
4070 CREATE PROCEDURE sp1()
4071   index:BEGIN
4072     SELECT @x;
4073 END//
4074 delimiter ;//
4076 --disable_warnings
4077 DROP PROCEDURE IF EXISTS sp1;
4078 --enable_warnings
4080 delimiter //;
4081 --error ER_PARSE_ERROR
4082 CREATE PROCEDURE sp1()
4083   infile:BEGIN
4084     SELECT @x;
4085 END//
4086 delimiter ;//
4088 --disable_warnings
4089 DROP PROCEDURE IF EXISTS sp1;
4090 --enable_warnings
4092 delimiter //;
4093 --error ER_PARSE_ERROR
4094 CREATE PROCEDURE sp1()
4095   inner:BEGIN
4096     SELECT @x;
4097 END//
4098 delimiter ;//
4100 --disable_warnings
4101 DROP PROCEDURE IF EXISTS sp1;
4102 --enable_warnings
4104 delimiter //;
4105 --error ER_PARSE_ERROR
4106 CREATE PROCEDURE sp1()
4107   inout:BEGIN
4108     SELECT @x;
4109 END//
4110 delimiter ;//
4112 --disable_warnings
4113 DROP PROCEDURE IF EXISTS sp1;
4114 --enable_warnings
4116 delimiter //;
4117 --error ER_PARSE_ERROR
4118 CREATE PROCEDURE sp1()
4119   insensitive:BEGIN
4120     SELECT @x;
4121 END//
4122 delimiter ;//
4124 --disable_warnings
4125 DROP PROCEDURE IF EXISTS sp1;
4126 --enable_warnings
4128 delimiter //;
4129 --error ER_PARSE_ERROR
4130 CREATE PROCEDURE sp1()
4131   insert:BEGIN
4132     SELECT @x;
4133 END//
4134 delimiter ;//
4136 --disable_warnings
4137 DROP PROCEDURE IF EXISTS sp1;
4138 --enable_warnings
4140 delimiter //;
4141 --error ER_PARSE_ERROR
4142 CREATE PROCEDURE sp1()
4143   int:BEGIN
4144     SELECT @x;
4145 END//
4146 delimiter ;//
4148 --disable_warnings
4149 DROP PROCEDURE IF EXISTS sp1;
4150 --enable_warnings
4152 delimiter //;
4153 --error ER_PARSE_ERROR
4154 CREATE PROCEDURE sp1()
4155   int1:BEGIN
4156     SELECT @x;
4157 END//
4158 delimiter ;//
4160 --disable_warnings
4161 DROP PROCEDURE IF EXISTS sp1;
4162 --enable_warnings
4164 delimiter //;
4165 --error ER_PARSE_ERROR
4166 CREATE PROCEDURE sp1()
4167   int2:BEGIN
4168     SELECT @x;
4169 END//
4170 delimiter ;//
4172 --disable_warnings
4173 DROP PROCEDURE IF EXISTS sp1;
4174 --enable_warnings
4176 delimiter //;
4177 --error ER_PARSE_ERROR
4178 CREATE PROCEDURE sp1()
4179   int3:BEGIN
4180     SELECT @x;
4181 END//
4182 delimiter ;//
4184 --disable_warnings
4185 DROP PROCEDURE IF EXISTS sp1;
4186 --enable_warnings
4188 delimiter //;
4189 --error ER_PARSE_ERROR
4190 CREATE PROCEDURE sp1()
4191   int4:BEGIN
4192     SELECT @x;
4193 END//
4194 delimiter ;//
4196 --disable_warnings
4197 DROP PROCEDURE IF EXISTS sp1;
4198 --enable_warnings
4200 delimiter //;
4201 --error ER_PARSE_ERROR
4202 CREATE PROCEDURE sp1()
4203   int8:BEGIN
4204     SELECT @x;
4205 END//
4206 delimiter ;//
4208 --disable_warnings
4209 DROP PROCEDURE IF EXISTS sp1;
4210 --enable_warnings
4212 delimiter //;
4213 --error ER_PARSE_ERROR
4214 CREATE PROCEDURE sp1()
4215   integer:BEGIN
4216     SELECT @x;
4217 END//
4218 delimiter ;//
4220 --disable_warnings
4221 DROP PROCEDURE IF EXISTS sp1;
4222 --enable_warnings
4224 delimiter //;
4225 --error ER_PARSE_ERROR
4226 CREATE PROCEDURE sp1()
4227   interval:BEGIN
4228     SELECT @x;
4229 END//
4230 delimiter ;//
4232 --disable_warnings
4233 DROP PROCEDURE IF EXISTS sp1;
4234 --enable_warnings
4236 delimiter //;
4237 --error ER_PARSE_ERROR
4238 CREATE PROCEDURE sp1()
4239   into:BEGIN
4240     SELECT @x;
4241 END//
4242 delimiter ;//
4244 --disable_warnings
4245 DROP PROCEDURE IF EXISTS sp1;
4246 --enable_warnings
4248 delimiter //;
4249 --error ER_PARSE_ERROR
4250 CREATE PROCEDURE sp1()
4251   is:BEGIN
4252     SELECT @x;
4253 END//
4254 delimiter ;//
4256 --disable_warnings
4257 DROP PROCEDURE IF EXISTS sp1;
4258 --enable_warnings
4260 delimiter //;
4261 --error ER_PARSE_ERROR
4262 CREATE PROCEDURE sp1()
4263   iterate:BEGIN
4264     SELECT @x;
4265 END//
4266 delimiter ;//
4268 --disable_warnings
4269 DROP PROCEDURE IF EXISTS sp1;
4270 --enable_warnings
4272 delimiter //;
4273 --error ER_PARSE_ERROR
4274 CREATE PROCEDURE sp1()
4275   join:BEGIN
4276     SELECT @x;
4277 END//
4278 delimiter ;//
4280 --disable_warnings
4281 DROP PROCEDURE IF EXISTS sp1;
4282 --enable_warnings
4284 delimiter //;
4285 --error ER_PARSE_ERROR
4286 CREATE PROCEDURE sp1()
4287   key:BEGIN
4288     SELECT @x;
4289 END//
4290 delimiter ;//
4292 --disable_warnings
4293 DROP PROCEDURE IF EXISTS sp1;
4294 --enable_warnings
4296 delimiter //;
4297 --error ER_PARSE_ERROR
4298 CREATE PROCEDURE sp1()
4299   keys:BEGIN
4300     SELECT @x;
4301 END//
4302 delimiter ;//
4304 --disable_warnings
4305 DROP PROCEDURE IF EXISTS sp1;
4306 --enable_warnings
4308 delimiter //;
4309 --error ER_PARSE_ERROR
4310 CREATE PROCEDURE sp1()
4311   kill:BEGIN
4312     SELECT @x;
4313 END//
4314 delimiter ;//
4316 --disable_warnings
4317 DROP PROCEDURE IF EXISTS sp1;
4318 --enable_warnings
4320 delimiter //;
4321 --error ER_PARSE_ERROR
4322 CREATE PROCEDURE sp1()
4323   leading:BEGIN
4324     SELECT @x;
4325 END//
4326 delimiter ;//
4328 --disable_warnings
4329 DROP PROCEDURE IF EXISTS sp1;
4330 --enable_warnings
4332 delimiter //;
4333 --error ER_PARSE_ERROR
4334 CREATE PROCEDURE sp1()
4335   leave:BEGIN
4336     SELECT @x;
4337 END//
4338 delimiter ;//
4340 --disable_warnings
4341 DROP PROCEDURE IF EXISTS sp1;
4342 --enable_warnings
4344 delimiter //;
4345 --error ER_PARSE_ERROR
4346 CREATE PROCEDURE sp1()
4347   left:BEGIN
4348     SELECT @x;
4349 END//
4350 delimiter ;//
4352 --disable_warnings
4353 DROP PROCEDURE IF EXISTS sp1;
4354 --enable_warnings
4356 delimiter //;
4357 --error ER_PARSE_ERROR
4358 CREATE PROCEDURE sp1()
4359   like:BEGIN
4360     SELECT @x;
4361 END//
4362 delimiter ;//
4364 --disable_warnings
4365 DROP PROCEDURE IF EXISTS sp1;
4366 --enable_warnings
4368 delimiter //;
4369 --error ER_PARSE_ERROR
4370 CREATE PROCEDURE sp1()
4371   limit:BEGIN
4372     SELECT @x;
4373 END//
4374 delimiter ;//
4376 --disable_warnings
4377 DROP PROCEDURE IF EXISTS sp1;
4378 --enable_warnings
4380 delimiter //;
4381 --error ER_PARSE_ERROR
4382 CREATE PROCEDURE sp1()
4383   linear:BEGIN
4384     SELECT @x;
4385 END//
4386 delimiter ;//
4388 --disable_warnings
4389 DROP PROCEDURE IF EXISTS sp1;
4390 --enable_warnings
4392 delimiter //;
4393 --error ER_PARSE_ERROR
4394 CREATE PROCEDURE sp1()
4395   lines:BEGIN
4396     SELECT @x;
4397 END//
4398 delimiter ;//
4400 --disable_warnings
4401 DROP PROCEDURE IF EXISTS sp1;
4402 --enable_warnings
4404 delimiter //;
4405 --error ER_PARSE_ERROR
4406 CREATE PROCEDURE sp1()
4407   load:BEGIN
4408     SELECT @x;
4409 END//
4410 delimiter ;//
4412 --disable_warnings
4413 DROP PROCEDURE IF EXISTS sp1;
4414 --enable_warnings
4416 delimiter //;
4417 --error ER_PARSE_ERROR
4418 CREATE PROCEDURE sp1()
4419   localtime:BEGIN
4420     SELECT @x;
4421 END//
4422 delimiter ;//
4424 --disable_warnings
4425 DROP PROCEDURE IF EXISTS sp1;
4426 --enable_warnings
4428 delimiter //;
4429 --error ER_PARSE_ERROR
4430 CREATE PROCEDURE sp1()
4431   localtimestamp:BEGIN
4432     SELECT @x;
4433 END//
4434 delimiter ;//
4436 --disable_warnings
4437 DROP PROCEDURE IF EXISTS sp1;
4438 --enable_warnings
4440 delimiter //;
4441 --error ER_PARSE_ERROR
4442 CREATE PROCEDURE sp1()
4443   lock:BEGIN
4444     SELECT @x;
4445 END//
4446 delimiter ;//
4448 --disable_warnings
4449 DROP PROCEDURE IF EXISTS sp1;
4450 --enable_warnings
4452 delimiter //;
4453 --error ER_PARSE_ERROR
4454 CREATE PROCEDURE sp1()
4455   long:BEGIN
4456     SELECT @x;
4457 END//
4458 delimiter ;//
4460 --disable_warnings
4461 DROP PROCEDURE IF EXISTS sp1;
4462 --enable_warnings
4464 delimiter //;
4465 --error ER_PARSE_ERROR
4466 CREATE PROCEDURE sp1()
4467   longblob:BEGIN
4468     SELECT @x;
4469 END//
4470 delimiter ;//
4472 --disable_warnings
4473 DROP PROCEDURE IF EXISTS sp1;
4474 --enable_warnings
4476 delimiter //;
4477 --error ER_PARSE_ERROR
4478 CREATE PROCEDURE sp1()
4479   longtext:BEGIN
4480     SELECT @x;
4481 END//
4482 delimiter ;//
4484 --disable_warnings
4485 DROP PROCEDURE IF EXISTS sp1;
4486 --enable_warnings
4488 delimiter //;
4489 --error ER_PARSE_ERROR
4490 CREATE PROCEDURE sp1()
4491   loop:BEGIN
4492     SELECT @x;
4493 END//
4494 delimiter ;//
4496 --disable_warnings
4497 DROP PROCEDURE IF EXISTS sp1;
4498 --enable_warnings
4500 delimiter //;
4501 --error ER_PARSE_ERROR
4502 CREATE PROCEDURE sp1()
4503   low_priority:BEGIN
4504     SELECT @x;
4505 END//
4506 delimiter ;//
4508 --disable_warnings
4509 DROP PROCEDURE IF EXISTS sp1;
4510 --enable_warnings
4512 delimiter //;
4513 --error ER_PARSE_ERROR
4514 CREATE PROCEDURE sp1()
4515   master_ssl_verify_server_cert:BEGIN
4516     SELECT @x;
4517 END//
4518 delimiter ;//
4520 --disable_warnings
4521 DROP PROCEDURE IF EXISTS sp1;
4522 --enable_warnings
4524 delimiter //;
4525 --error ER_PARSE_ERROR
4526 CREATE PROCEDURE sp1()
4527   match:BEGIN
4528     SELECT @x;
4529 END//
4530 delimiter ;//
4532 --disable_warnings
4533 DROP PROCEDURE IF EXISTS sp1;
4534 --enable_warnings
4536 delimiter //;
4537 --error ER_PARSE_ERROR
4538 CREATE PROCEDURE sp1()
4539   mediumblob:BEGIN
4540     SELECT @x;
4541 END//
4542 delimiter ;//
4544 --disable_warnings
4545 DROP PROCEDURE IF EXISTS sp1;
4546 --enable_warnings
4548 delimiter //;
4549 --error ER_PARSE_ERROR
4550 CREATE PROCEDURE sp1()
4551   mediumint:BEGIN
4552     SELECT @x;
4553 END//
4554 delimiter ;//
4556 --disable_warnings
4557 DROP PROCEDURE IF EXISTS sp1;
4558 --enable_warnings
4560 delimiter //;
4561 --error ER_PARSE_ERROR
4562 CREATE PROCEDURE sp1()
4563   mediumtext:BEGIN
4564     SELECT @x;
4565 END//
4566 delimiter ;//
4568 --disable_warnings
4569 DROP PROCEDURE IF EXISTS sp1;
4570 --enable_warnings
4572 delimiter //;
4573 --error ER_PARSE_ERROR
4574 CREATE PROCEDURE sp1()
4575   middleint:BEGIN
4576     SELECT @x;
4577 END//
4578 delimiter ;//
4580 --disable_warnings
4581 DROP PROCEDURE IF EXISTS sp1;
4582 --enable_warnings
4584 delimiter //;
4585 --error ER_PARSE_ERROR
4586 CREATE PROCEDURE sp1()
4587   minute_microsecond:BEGIN
4588     SELECT @x;
4589 END//
4590 delimiter ;//
4592 --disable_warnings
4593 DROP PROCEDURE IF EXISTS sp1;
4594 --enable_warnings
4596 delimiter //;
4597 --error ER_PARSE_ERROR
4598 CREATE PROCEDURE sp1()
4599   minute_second:BEGIN
4600     SELECT @x;
4601 END//
4602 delimiter ;//
4604 --disable_warnings
4605 DROP PROCEDURE IF EXISTS sp1;
4606 --enable_warnings
4608 delimiter //;
4609 --error ER_PARSE_ERROR
4610 CREATE PROCEDURE sp1()
4611   mod:BEGIN
4612     SELECT @x;
4613 END//
4614 delimiter ;//
4616 --disable_warnings
4617 DROP PROCEDURE IF EXISTS sp1;
4618 --enable_warnings
4620 delimiter //;
4621 --error ER_PARSE_ERROR
4622 CREATE PROCEDURE sp1()
4623   modifies:BEGIN
4624     SELECT @x;
4625 END//
4626 delimiter ;//
4628 --disable_warnings
4629 DROP PROCEDURE IF EXISTS sp1;
4630 --enable_warnings
4632 delimiter //;
4633 --error ER_PARSE_ERROR
4634 CREATE PROCEDURE sp1()
4635   natural:BEGIN
4636     SELECT @x;
4637 END//
4638 delimiter ;//
4640 --disable_warnings
4641 DROP PROCEDURE IF EXISTS sp1;
4642 --enable_warnings
4644 delimiter //;
4645 --error ER_PARSE_ERROR
4646 CREATE PROCEDURE sp1()
4647   not:BEGIN
4648     SELECT @x;
4649 END//
4650 delimiter ;//
4652 --disable_warnings
4653 DROP PROCEDURE IF EXISTS sp1;
4654 --enable_warnings
4656 delimiter //;
4657 --error ER_PARSE_ERROR
4658 CREATE PROCEDURE sp1()
4659   no_write_to_binlog:BEGIN
4660     SELECT @x;
4661 END//
4662 delimiter ;//
4664 --disable_warnings
4665 DROP PROCEDURE IF EXISTS sp1;
4666 --enable_warnings
4668 delimiter //;
4669 --error ER_PARSE_ERROR
4670 CREATE PROCEDURE sp1()
4671   null:BEGIN
4672     SELECT @x;
4673 END//
4674 delimiter ;//
4676 --disable_warnings
4677 DROP PROCEDURE IF EXISTS sp1;
4678 --enable_warnings
4681 delimiter //;
4682 --error ER_PARSE_ERROR
4683 CREATE PROCEDURE sp1()
4684   numeric:BEGIN
4685     SELECT @x;
4686 END//
4687 delimiter ;//
4689 --disable_warnings
4690 DROP PROCEDURE IF EXISTS sp1;
4691 --enable_warnings
4693 delimiter //;
4694 --error ER_PARSE_ERROR
4695 CREATE PROCEDURE sp1()
4696   on:BEGIN
4697     SELECT @x;
4698 END//
4699 delimiter ;//
4701 --disable_warnings
4702 DROP PROCEDURE IF EXISTS sp1;
4703 --enable_warnings
4705 delimiter //;
4706 --error ER_PARSE_ERROR
4707 CREATE PROCEDURE sp1()
4708   optimize:BEGIN
4709     SELECT @x;
4710 END//
4711 delimiter ;//
4713 --disable_warnings
4714 DROP PROCEDURE IF EXISTS sp1;
4715 --enable_warnings
4717 delimiter //;
4718 --error ER_PARSE_ERROR
4719 CREATE PROCEDURE sp1()
4720   option:BEGIN
4721     SELECT @x;
4722 END//
4723 delimiter ;//
4725 --disable_warnings
4726 DROP PROCEDURE IF EXISTS sp1;
4727 --enable_warnings
4729 delimiter //;
4730 --error ER_PARSE_ERROR
4731 CREATE PROCEDURE sp1()
4732   optionally:BEGIN
4733     SELECT @x;
4734 END//
4735 delimiter ;//
4737 --disable_warnings
4738 DROP PROCEDURE IF EXISTS sp1;
4739 --enable_warnings
4741 delimiter //;
4742 --error ER_PARSE_ERROR
4743 CREATE PROCEDURE sp1()
4744   or:BEGIN
4745     SELECT @x;
4746 END//
4747 delimiter ;//
4749 --disable_warnings
4750 DROP PROCEDURE IF EXISTS sp1;
4751 --enable_warnings
4753 delimiter //;
4754 --error ER_PARSE_ERROR
4755 CREATE PROCEDURE sp1()
4756   order:BEGIN
4757     SELECT @x;
4758 END//
4759 delimiter ;//
4761 --disable_warnings
4762 DROP PROCEDURE IF EXISTS sp1;
4763 --enable_warnings
4765 delimiter //;
4766 --error ER_PARSE_ERROR
4767 CREATE PROCEDURE sp1()
4768   out:BEGIN
4769     SELECT @x;
4770 END//
4771 delimiter ;//
4773 --disable_warnings
4774 DROP PROCEDURE IF EXISTS sp1;
4775 --enable_warnings
4777 delimiter //;
4778 --error ER_PARSE_ERROR
4779 CREATE PROCEDURE sp1()
4780   outer:BEGIN
4781     SELECT @x;
4782 END//
4783 delimiter ;//
4785 --disable_warnings
4786 DROP PROCEDURE IF EXISTS sp1;
4787 --enable_warnings
4789 delimiter //;
4790 --error ER_PARSE_ERROR
4791 CREATE PROCEDURE sp1()
4792   outfile:BEGIN
4793     SELECT @x;
4794 END//
4795 delimiter ;//
4797 --disable_warnings
4798 DROP PROCEDURE IF EXISTS sp1;
4799 --enable_warnings
4801 delimiter //;
4802 --error ER_PARSE_ERROR
4803 CREATE PROCEDURE sp1()
4804   precision:BEGIN
4805     SELECT @x;
4806 END//
4807 delimiter ;//
4809 --disable_warnings
4810 DROP PROCEDURE IF EXISTS sp1;
4811 --enable_warnings
4813 delimiter //;
4814 --error ER_PARSE_ERROR
4815 CREATE PROCEDURE sp1()
4816   primary:BEGIN
4817     SELECT @x;
4818 END//
4819 delimiter ;//
4821 --disable_warnings
4822 DROP PROCEDURE IF EXISTS sp1;
4823 --enable_warnings
4825 delimiter //;
4826 --error ER_PARSE_ERROR
4827 CREATE PROCEDURE sp1()
4828   procedure:BEGIN
4829     SELECT @x;
4830 END//
4831 delimiter ;//
4833 --disable_warnings
4834 DROP PROCEDURE IF EXISTS sp1;
4835 --enable_warnings
4837 delimiter //;
4838 --error ER_PARSE_ERROR
4839 CREATE PROCEDURE sp1()
4840   purge:BEGIN
4841     SELECT @x;
4842 END//
4843 delimiter ;//
4845 --disable_warnings
4846 DROP PROCEDURE IF EXISTS sp1;
4847 --enable_warnings
4849 delimiter //;
4850 --error ER_PARSE_ERROR
4851 CREATE PROCEDURE sp1()
4852   range:BEGIN
4853     SELECT @x;
4854 END//
4855 delimiter ;//
4857 --disable_warnings
4858 DROP PROCEDURE IF EXISTS sp1;
4859 --enable_warnings
4861 delimiter //;
4862 --error ER_PARSE_ERROR
4863 CREATE PROCEDURE sp1()
4864   read:BEGIN
4865     SELECT @x;
4866 END//
4867 delimiter ;//
4869 --disable_warnings
4870 DROP PROCEDURE IF EXISTS sp1;
4871 --enable_warnings
4873 delimiter //;
4874 --error ER_PARSE_ERROR
4875 CREATE PROCEDURE sp1()
4876   reads:BEGIN
4877     SELECT @x;
4878 END//
4879 delimiter ;//
4881 --disable_warnings
4882 DROP PROCEDURE IF EXISTS sp1;
4883 --enable_warnings
4885 # delimiter //;
4886 # --error ER_PARSE_ERROR
4887 # CREATE PROCEDURE sp1()
4888 #   read_only:BEGIN
4889 #     SELECT @x;
4890 # END//
4891 # delimiter ;//
4893 --disable_warnings
4894 DROP PROCEDURE IF EXISTS sp1;
4895 --enable_warnings
4897 delimiter //;
4898 --error ER_PARSE_ERROR
4899 CREATE PROCEDURE sp1()
4900   read_write:BEGIN
4901     SELECT @x;
4902 END//
4903 delimiter ;//
4905 --disable_warnings
4906 DROP PROCEDURE IF EXISTS sp1;
4907 --enable_warnings
4909 delimiter //;
4910 --error ER_PARSE_ERROR
4911 CREATE PROCEDURE sp1()
4912   real:BEGIN
4913     SELECT @x;
4914 END//
4915 delimiter ;//
4917 --disable_warnings
4918 DROP PROCEDURE IF EXISTS sp1;
4919 --enable_warnings
4921 delimiter //;
4922 --error ER_PARSE_ERROR
4923 CREATE PROCEDURE sp1()
4924   references:BEGIN
4925     SELECT @x;
4926 END//
4927 delimiter ;//
4929 --disable_warnings
4930 DROP PROCEDURE IF EXISTS sp1;
4931 --enable_warnings
4933 delimiter //;
4934 --error ER_PARSE_ERROR
4935 CREATE PROCEDURE sp1()
4936   regexp:BEGIN
4937     SELECT @x;
4938 END//
4939 delimiter ;//
4941 --disable_warnings
4942 DROP PROCEDURE IF EXISTS sp1;
4943 --enable_warnings
4945 delimiter //;
4946 --error ER_PARSE_ERROR
4947 CREATE PROCEDURE sp1()
4948   release:BEGIN
4949     SELECT @x;
4950 END//
4951 delimiter ;//
4953 --disable_warnings
4954 DROP PROCEDURE IF EXISTS sp1;
4955 --enable_warnings
4957 delimiter //;
4958 --error ER_PARSE_ERROR
4959 CREATE PROCEDURE sp1()
4960   rename:BEGIN
4961     SELECT @x;
4962 END//
4963 delimiter ;//
4965 --disable_warnings
4966 DROP PROCEDURE IF EXISTS sp1;
4967 --enable_warnings
4969 delimiter //;
4970 --error ER_PARSE_ERROR
4971 CREATE PROCEDURE sp1()
4972   repeat:BEGIN
4973     SELECT @x;
4974 END//
4975 delimiter ;//
4977 --disable_warnings
4978 DROP PROCEDURE IF EXISTS sp1;
4979 --enable_warnings
4981 delimiter //;
4982 --error ER_PARSE_ERROR
4983 CREATE PROCEDURE sp1()
4984   replace:BEGIN
4985     SELECT @x;
4986 END//
4987 delimiter ;//
4989 --disable_warnings
4990 DROP PROCEDURE IF EXISTS sp1;
4991 --enable_warnings
4993 delimiter //;
4994 --error ER_PARSE_ERROR
4995 CREATE PROCEDURE sp1()
4996   require:BEGIN
4997     SELECT @x;
4998 END//
4999 delimiter ;//
5001 --disable_warnings
5002 DROP PROCEDURE IF EXISTS sp1;
5003 --enable_warnings
5005 delimiter //;
5006 --error ER_PARSE_ERROR
5007 CREATE PROCEDURE sp1()
5008   restrict:BEGIN
5009     SELECT @x;
5010 END//
5011 delimiter ;//
5013 --disable_warnings
5014 DROP PROCEDURE IF EXISTS sp1;
5015 --enable_warnings
5017 delimiter //;
5018 --error ER_PARSE_ERROR
5019 CREATE PROCEDURE sp1()
5020   return:BEGIN
5021     SELECT @x;
5022 END//
5023 delimiter ;//
5025 --disable_warnings
5026 DROP PROCEDURE IF EXISTS sp1;
5027 --enable_warnings
5029 delimiter //;
5030 --error ER_PARSE_ERROR
5031 CREATE PROCEDURE sp1()
5032   revoke:BEGIN
5033     SELECT @x;
5034 END//
5035 delimiter ;//
5037 --disable_warnings
5038 DROP PROCEDURE IF EXISTS sp1;
5039 --enable_warnings
5041 delimiter //;
5042 --error ER_PARSE_ERROR
5043 CREATE PROCEDURE sp1()
5044   right:BEGIN
5045     SELECT @x;
5046 END//
5047 delimiter ;//
5049 --disable_warnings
5050 DROP PROCEDURE IF EXISTS sp1;
5051 --enable_warnings
5053 delimiter //;
5054 --error ER_PARSE_ERROR
5055 CREATE PROCEDURE sp1()
5056   rlike:BEGIN
5057     SELECT @x;
5058 END//
5059 delimiter ;//
5061 --disable_warnings
5062 DROP PROCEDURE IF EXISTS sp1;
5063 --enable_warnings
5065 delimiter //;
5066 --error ER_PARSE_ERROR
5067 CREATE PROCEDURE sp1()
5068   schema:BEGIN
5069     SELECT @x;
5070 END//
5071 delimiter ;//
5073 --disable_warnings
5074 DROP PROCEDURE IF EXISTS sp1;
5075 --enable_warnings
5077 delimiter //;
5078 --error ER_PARSE_ERROR
5079 CREATE PROCEDURE sp1()
5080   schemas:BEGIN
5081     SELECT @x;
5082 END//
5083 delimiter ;//
5085 --disable_warnings
5086 DROP PROCEDURE IF EXISTS sp1;
5087 --enable_warnings
5089 delimiter //;
5090 --error ER_PARSE_ERROR
5091 CREATE PROCEDURE sp1()
5092   second_microsecond:BEGIN
5093     SELECT @x;
5094 END//
5095 delimiter ;//
5097 --disable_warnings
5098 DROP PROCEDURE IF EXISTS sp1;
5099 --enable_warnings
5101 delimiter //;
5102 --error ER_PARSE_ERROR
5103 CREATE PROCEDURE sp1()
5104   select:BEGIN
5105     SELECT @x;
5106 END//
5107 delimiter ;//
5109 --disable_warnings
5110 DROP PROCEDURE IF EXISTS sp1;
5111 --enable_warnings
5113 delimiter //;
5114 --error ER_PARSE_ERROR
5115 CREATE PROCEDURE sp1()
5116   sensitive:BEGIN
5117     SELECT @x;
5118 END//
5119 delimiter ;//
5121 --disable_warnings
5122 DROP PROCEDURE IF EXISTS sp1;
5123 --enable_warnings
5125 delimiter //;
5126 --error ER_PARSE_ERROR
5127 CREATE PROCEDURE sp1()
5128   separator:BEGIN
5129     SELECT @x;
5130 END//
5131 delimiter ;//
5133 --disable_warnings
5134 DROP PROCEDURE IF EXISTS sp1;
5135 --enable_warnings
5137 delimiter //;
5138 --error ER_PARSE_ERROR
5139 CREATE PROCEDURE sp1()
5140   set:BEGIN
5141     SELECT @x;
5142 END//
5143 delimiter ;//
5145 --disable_warnings
5146 DROP PROCEDURE IF EXISTS sp1;
5147 --enable_warnings
5149 delimiter //;
5150 --error ER_PARSE_ERROR
5151 CREATE PROCEDURE sp1()
5152   show:BEGIN
5153     SELECT @x;
5154 END//
5155 delimiter ;//
5157 --disable_warnings
5158 DROP PROCEDURE IF EXISTS sp1;
5159 --enable_warnings
5161 delimiter //;
5162 --error ER_PARSE_ERROR
5163 CREATE PROCEDURE sp1()
5164   smallint:BEGIN
5165     SELECT @x;
5166 END//
5167 delimiter ;//
5169 --disable_warnings
5170 DROP PROCEDURE IF EXISTS sp1;
5171 --enable_warnings
5173 delimiter //;
5174 --error ER_PARSE_ERROR
5175 CREATE PROCEDURE sp1()
5176   spatial:BEGIN
5177     SELECT @x;
5178 END//
5179 delimiter ;//
5181 --disable_warnings
5182 DROP PROCEDURE IF EXISTS sp1;
5183 --enable_warnings
5185 delimiter //;
5186 --error ER_PARSE_ERROR
5187 CREATE PROCEDURE sp1()
5188   specific:BEGIN
5189     SELECT @x;
5190 END//
5191 delimiter ;//
5193 --disable_warnings
5194 DROP PROCEDURE IF EXISTS sp1;
5195 --enable_warnings
5197 delimiter //;
5198 --error ER_PARSE_ERROR
5199 CREATE PROCEDURE sp1()
5200   sql:BEGIN
5201     SELECT @x;
5202 END//
5203 delimiter ;//
5205 --disable_warnings
5206 DROP PROCEDURE IF EXISTS sp1;
5207 --enable_warnings
5209 delimiter //;
5210 --error ER_PARSE_ERROR
5211 CREATE PROCEDURE sp1()
5212   sqlexception:BEGIN
5213     SELECT @x;
5214 END//
5215 delimiter ;//
5217 --disable_warnings
5218 DROP PROCEDURE IF EXISTS sp1;
5219 --enable_warnings
5221 delimiter //;
5222 --error ER_PARSE_ERROR
5223 CREATE PROCEDURE sp1()
5224   sqlstate:BEGIN
5225     SELECT @x;
5226 END//
5227 delimiter ;//
5229 --disable_warnings
5230 DROP PROCEDURE IF EXISTS sp1;
5231 --enable_warnings
5233 delimiter //;
5234 --error ER_PARSE_ERROR
5235 CREATE PROCEDURE sp1()
5236   sqlwarning:BEGIN
5237     SELECT @x;
5238 END//
5239 delimiter ;//
5241 --disable_warnings
5242 DROP PROCEDURE IF EXISTS sp1;
5243 --enable_warnings
5245 delimiter //;
5246 --error ER_PARSE_ERROR
5247 CREATE PROCEDURE sp1()
5248   sql_big_result:BEGIN
5249     SELECT @x;
5250 END//
5251 delimiter ;//
5253 --disable_warnings
5254 DROP PROCEDURE IF EXISTS sp1;
5255 --enable_warnings
5257 delimiter //;
5258 --error ER_PARSE_ERROR
5259 CREATE PROCEDURE sp1()
5260   sql_calc_found_rows:BEGIN
5261     SELECT @x;
5262 END//
5263 delimiter ;//
5265 --disable_warnings
5266 DROP PROCEDURE IF EXISTS sp1;
5267 --enable_warnings
5269 delimiter //;
5270 --error ER_PARSE_ERROR
5271 CREATE PROCEDURE sp1()
5272   sql_small_result:BEGIN
5273     SELECT @x;
5274 END//
5275 delimiter ;//
5277 --disable_warnings
5278 DROP PROCEDURE IF EXISTS sp1;
5279 --enable_warnings
5281 delimiter //;
5282 --error ER_PARSE_ERROR
5283 CREATE PROCEDURE sp1()
5284   ssl:BEGIN
5285     SELECT @x;
5286 END//
5287 delimiter ;//
5289 --disable_warnings
5290 DROP PROCEDURE IF EXISTS sp1;
5291 --enable_warnings
5293 delimiter //;
5294 --error ER_PARSE_ERROR
5295 CREATE PROCEDURE sp1()
5296   starting:BEGIN
5297     SELECT @x;
5298 END//
5299 delimiter ;//
5301 --disable_warnings
5302 DROP PROCEDURE IF EXISTS sp1;
5303 --enable_warnings
5305 delimiter //;
5306 --error ER_PARSE_ERROR
5307 CREATE PROCEDURE sp1()
5308   straight_join:BEGIN
5309     SELECT @x;
5310 END//
5311 delimiter ;//
5313 --disable_warnings
5314 DROP PROCEDURE IF EXISTS sp1;
5315 --enable_warnings
5317 delimiter //;
5318 --error ER_PARSE_ERROR
5319 CREATE PROCEDURE sp1()
5320   table:BEGIN
5321     SELECT @x;
5322 END//
5323 delimiter ;//
5325 --disable_warnings
5326 DROP PROCEDURE IF EXISTS sp1;
5327 --enable_warnings
5329 delimiter //;
5330 --error ER_PARSE_ERROR
5331 CREATE PROCEDURE sp1()
5332   terminated:BEGIN
5333     SELECT @x;
5334 END//
5335 delimiter ;//
5337 --disable_warnings
5338 DROP PROCEDURE IF EXISTS sp1;
5339 --enable_warnings
5341 delimiter //;
5342 --error ER_PARSE_ERROR
5343 CREATE PROCEDURE sp1()
5344   then:BEGIN
5345     SELECT @x;
5346 END//
5347 delimiter ;//
5349 --disable_warnings
5350 DROP PROCEDURE IF EXISTS sp1;
5351 --enable_warnings
5353 delimiter //;
5354 --error ER_PARSE_ERROR
5355 CREATE PROCEDURE sp1()
5356   tinyblob:BEGIN
5357     SELECT @x;
5358 END//
5359 delimiter ;//
5361 --disable_warnings
5362 DROP PROCEDURE IF EXISTS sp1;
5363 --enable_warnings
5365 delimiter //;
5366 --error ER_PARSE_ERROR
5367 CREATE PROCEDURE sp1()
5368   tinyint:BEGIN
5369     SELECT @x;
5370 END//
5371 delimiter ;//
5373 --disable_warnings
5374 DROP PROCEDURE IF EXISTS sp1;
5375 --enable_warnings
5377 delimiter //;
5378 --error ER_PARSE_ERROR
5379 CREATE PROCEDURE sp1()
5380   tinytext:BEGIN
5381     SELECT @x;
5382 END//
5383 delimiter ;//
5385 --disable_warnings
5386 DROP PROCEDURE IF EXISTS sp1;
5387 --enable_warnings
5389 delimiter //;
5390 --error ER_PARSE_ERROR
5391 CREATE PROCEDURE sp1()
5392   to:BEGIN
5393     SELECT @x;
5394 END//
5395 delimiter ;//
5397 --disable_warnings
5398 DROP PROCEDURE IF EXISTS sp1;
5399 --enable_warnings
5401 delimiter //;
5402 --error ER_PARSE_ERROR
5403 CREATE PROCEDURE sp1()
5404   trailing:BEGIN
5405     SELECT @x;
5406 END//
5407 delimiter ;//
5409 --disable_warnings
5410 DROP PROCEDURE IF EXISTS sp1;
5411 --enable_warnings
5413 delimiter //;
5414 --error ER_PARSE_ERROR
5415 CREATE PROCEDURE sp1()
5416   trigger:BEGIN
5417     SELECT @x;
5418 END//
5419 delimiter ;//
5421 --disable_warnings
5422 DROP PROCEDURE IF EXISTS sp1;
5423 --enable_warnings
5425 delimiter //;
5426 --error ER_PARSE_ERROR
5427 CREATE PROCEDURE sp1()
5428   true:BEGIN
5429     SELECT @x;
5430 END//
5431 delimiter ;//
5433 --disable_warnings
5434 DROP PROCEDURE IF EXISTS sp1;
5435 --enable_warnings
5437 delimiter //;
5438 --error ER_PARSE_ERROR
5439 CREATE PROCEDURE sp1()
5440   undo:BEGIN
5441     SELECT @x;
5442 END//
5443 delimiter ;//
5445 --disable_warnings
5446 DROP PROCEDURE IF EXISTS sp1;
5447 --enable_warnings
5449 delimiter //;
5450 --error ER_PARSE_ERROR
5451 CREATE PROCEDURE sp1()
5452   union:BEGIN
5453     SELECT @x;
5454 END//
5455 delimiter ;//
5457 --disable_warnings
5458 DROP PROCEDURE IF EXISTS sp1;
5459 --enable_warnings
5461 delimiter //;
5462 --error ER_PARSE_ERROR
5463 CREATE PROCEDURE sp1()
5464   unique:BEGIN
5465     SELECT @x;
5466 END//
5467 delimiter ;//
5469 --disable_warnings
5470 DROP PROCEDURE IF EXISTS sp1;
5471 --enable_warnings
5473 delimiter //;
5474 --error ER_SP_BADSTATEMENT
5475 CREATE PROCEDURE sp1()
5476   unlock:BEGIN
5477     SELECT @x;
5478 END//
5479 delimiter ;//
5481 --disable_warnings
5482 DROP PROCEDURE IF EXISTS sp1;
5483 --enable_warnings
5485 delimiter //;
5486 --error ER_PARSE_ERROR
5487 CREATE PROCEDURE sp1()
5488   unsigned:BEGIN
5489     SELECT @x;
5490 END//
5491 delimiter ;//
5493 --disable_warnings
5494 DROP PROCEDURE IF EXISTS sp1;
5495 --enable_warnings
5497 delimiter //;
5498 --error ER_PARSE_ERROR
5499 CREATE PROCEDURE sp1()
5500   update:BEGIN
5501     SELECT @x;
5502 END//
5503 delimiter ;//
5505 --disable_warnings
5506 DROP PROCEDURE IF EXISTS sp1;
5507 --enable_warnings
5509 delimiter //;
5510 --error ER_PARSE_ERROR
5511 CREATE PROCEDURE sp1()
5512   usage:BEGIN
5513     SELECT @x;
5514 END//
5515 delimiter ;//
5517 --disable_warnings
5518 DROP PROCEDURE IF EXISTS sp1;
5519 --enable_warnings
5521 delimiter //;
5522 --error ER_PARSE_ERROR
5523 CREATE PROCEDURE sp1()
5524   use:BEGIN
5525     SELECT @x;
5526 END//
5527 delimiter ;//
5529 --disable_warnings
5530 DROP PROCEDURE IF EXISTS sp1;
5531 --enable_warnings
5533 delimiter //;
5534 --error ER_PARSE_ERROR
5535 CREATE PROCEDURE sp1()
5536   using:BEGIN
5537     SELECT @x;
5538 END//
5539 delimiter ;//
5541 --disable_warnings
5542 DROP PROCEDURE IF EXISTS sp1;
5543 --enable_warnings
5545 delimiter //;
5546 --error ER_PARSE_ERROR
5547 CREATE PROCEDURE sp1()
5548   utc_date:BEGIN
5549     SELECT @x;
5550 END//
5551 delimiter ;//
5553 --disable_warnings
5554 DROP PROCEDURE IF EXISTS sp1;
5555 --enable_warnings
5557 delimiter //;
5558 --error ER_PARSE_ERROR
5559 CREATE PROCEDURE sp1()
5560   utc_time:BEGIN
5561     SELECT @x;
5562 END//
5563 delimiter ;//
5565 --disable_warnings
5566 DROP PROCEDURE IF EXISTS sp1;
5567 --enable_warnings
5569 delimiter //;
5570 --error ER_PARSE_ERROR
5571 CREATE PROCEDURE sp1()
5572   utc_timestamp:BEGIN
5573     SELECT @x;
5574 END//
5575 delimiter ;//
5577 --disable_warnings
5578 DROP PROCEDURE IF EXISTS sp1;
5579 --enable_warnings
5581 delimiter //;
5582 --error ER_PARSE_ERROR
5583 CREATE PROCEDURE sp1()
5584   values:BEGIN
5585     SELECT @x;
5586 END//
5587 delimiter ;//
5589 --disable_warnings
5590 DROP PROCEDURE IF EXISTS sp1;
5591 --enable_warnings
5593 delimiter //;
5594 --error ER_PARSE_ERROR
5595 CREATE PROCEDURE sp1()
5596   varbinary:BEGIN
5597     SELECT @x;
5598 END//
5599 delimiter ;//
5601 --disable_warnings
5602 DROP PROCEDURE IF EXISTS sp1;
5603 --enable_warnings
5605 delimiter //;
5606 --error ER_PARSE_ERROR
5607 CREATE PROCEDURE sp1()
5608   varchar:BEGIN
5609     SELECT @x;
5610 END//
5611 delimiter ;//
5613 --disable_warnings
5614 DROP PROCEDURE IF EXISTS sp1;
5615 --enable_warnings
5617 delimiter //;
5618 --error ER_PARSE_ERROR
5619 CREATE PROCEDURE sp1()
5620   varcharacter:BEGIN
5621     SELECT @x;
5622 END//
5623 delimiter ;//
5625 --disable_warnings
5626 DROP PROCEDURE IF EXISTS sp1;
5627 --enable_warnings
5629 delimiter //;
5630 --error ER_PARSE_ERROR
5631 CREATE PROCEDURE sp1()
5632   varying:BEGIN
5633     SELECT @x;
5634 END//
5635 delimiter ;//
5637 --disable_warnings
5638 DROP PROCEDURE IF EXISTS sp1;
5639 --enable_warnings
5641 delimiter //;
5642 --error ER_PARSE_ERROR
5643 CREATE PROCEDURE sp1()
5644   when:BEGIN
5645     SELECT @x;
5646 END//
5647 delimiter ;//
5649 --disable_warnings
5650 DROP PROCEDURE IF EXISTS sp1;
5651 --enable_warnings
5653 delimiter //;
5654 --error ER_PARSE_ERROR
5655 CREATE PROCEDURE sp1()
5656   where:BEGIN
5657     SELECT @x;
5658 END//
5659 delimiter ;//
5661 --disable_warnings
5662 DROP PROCEDURE IF EXISTS sp1;
5663 --enable_warnings
5665 delimiter //;
5666 --error ER_PARSE_ERROR
5667 CREATE PROCEDURE sp1()
5668   while:BEGIN
5669     SELECT @x;
5670 END//
5671 delimiter ;//
5673 --disable_warnings
5674 DROP PROCEDURE IF EXISTS sp1;
5675 --enable_warnings
5677 delimiter //;
5678 --error ER_PARSE_ERROR
5679 CREATE PROCEDURE sp1()
5680   with:BEGIN
5681     SELECT @x;
5682 END//
5683 delimiter ;//
5685 --disable_warnings
5686 DROP PROCEDURE IF EXISTS sp1;
5687 --enable_warnings
5689 delimiter //;
5690 --error ER_PARSE_ERROR
5691 CREATE PROCEDURE sp1()
5692   write:BEGIN
5693     SELECT @x;
5694 END//
5695 delimiter ;//
5697 --disable_warnings
5698 DROP PROCEDURE IF EXISTS sp1;
5699 --enable_warnings
5701 delimiter //;
5702 --error ER_PARSE_ERROR
5703 CREATE PROCEDURE sp1()
5704   xor:BEGIN
5705     SELECT @x;
5706 END//
5707 delimiter ;//
5709 --disable_warnings
5710 DROP PROCEDURE IF EXISTS sp1;
5711 --enable_warnings
5713 delimiter //;
5714 --error ER_PARSE_ERROR
5715 CREATE PROCEDURE sp1()
5716   year_month:BEGIN
5717     SELECT @x;
5718 END//
5719 delimiter ;//
5721 --disable_warnings
5722 DROP PROCEDURE IF EXISTS sp1;
5723 --enable_warnings
5725 delimiter //;
5726 --error ER_PARSE_ERROR
5727 CREATE PROCEDURE sp1()
5728   zerofill:BEGIN
5729     SELECT @x;
5730 END//
5731 delimiter ;//
5733 # ------------------------------------------------------------------------------
5734 let $message= Testcase 4.2.6:
5735               ---------------
5736 Ensure that the labels for multiple BEGIN an END work properly;
5737 --source include/show_msg80.inc
5739 --disable_warnings
5740 DROP PROCEDURE IF EXISTS sp1;
5741 --enable_warnings
5744 delimiter //;
5745 CREATE PROCEDURE sp1( )
5746 begin_label: BEGIN
5747     declare x char;
5748     declare y char;
5749     set x = '1';
5750     set y = '2';
5751     label1: BEGIN
5752       declare x char;
5753       declare y char;
5754       SELECT f1, f2 into x, y from t2 limit 1;
5755     END label1;
5756     set @v1 = x;
5757     set @v2 = y;
5758     SELECT @v1, @v2;
5759 END begin_label//
5760 delimiter ;//
5762 CALL sp1();
5764 # clean up
5765 DROP PROCEDURE sp1;
5767 # ------------------------------------------------------------------------------
5768 let $message= Testcase 4.2.7:
5769               ---------------
5770 Ensure that the labels enclosing each BEGIN/END compound statement must match.;
5771 --source include/show_msg80.inc
5773 --disable_warnings
5774 DROP PROCEDURE IF EXISTS sp1;
5775 --enable_warnings
5777 delimiter //;
5778 --error ER_SP_LABEL_MISMATCH
5779 CREATE PROCEDURE sp1( )
5780 begin1_label: BEGIN
5781     declare x char;
5782     declare y char;
5783     SELECT lf1, f1 into x, y from t2 limit 1;
5784     begin2_label: BEGIN
5785       declare x char;
5786       declare y char;
5787       SELECT f1, f2 into x, y from t2 limit 1;
5788     END begin2_changed;
5789 END begin1_changed//
5790 delimiter ;//
5792 # ------------------------------------------------------------------------------
5793 let $message= Testcase 4.2.8:
5794               ---------------
5795 Ensure that it is possible to put a beginning label at the start of a
5796 BEGIN/END compound statement without also requiring an ending label
5797 at the END of the same statement.;
5798 --source include/show_msg80.inc
5800 --disable_warnings
5801 DROP PROCEDURE IF EXISTS sp1;
5802 --enable_warnings
5804 delimiter //;
5805 CREATE PROCEDURE sp1( )
5806     begin_label: BEGIN
5807     declare x char;
5808     declare y char;
5809     SELECT f1, f2 into x, y from t2 limit 1;
5810 END//
5811 delimiter ;//
5813 CALL sp1();
5815 # clean up
5816 DROP PROCEDURE sp1;
5818 # ------------------------------------------------------------------------------
5819 let $message= Testcase 4.2.9:
5820               ---------------
5821 Ensure that it is not possible to put an ending label at the END of
5822 a BEGIN/END compound statement without also requiring a matching
5823 beginning label at the start of the same statement;
5824 --source include/show_msg80.inc
5826 --disable_warnings
5827 DROP PROCEDURE IF EXISTS sp1;
5828 --enable_warnings
5830 delimiter //;
5831 --error ER_PARSE_ERROR
5832 CREATE PROCEDURE sp1( )
5833 BEGIN
5834     declare x char;
5835     declare y char;
5836     SELECT f1, f2 into x, y from t2 limit 1;
5837 END begin_label//
5838 delimiter ;//
5840 # ------------------------------------------------------------------------------
5841 let $message= Testcase 4.2.10:
5842               ----------------
5843 Ensure that every beginning label must END with a colon(:);
5844 --source include/show_msg80.inc
5846 --disable_warnings
5847 DROP PROCEDURE IF EXISTS sp1;
5848 --enable_warnings
5850 delimiter //;
5851 --error ER_PARSE_ERROR
5852 CREATE PROCEDURE sp1( )
5853 begin_label BEGIN
5854    declare x char;
5855    declare y char;
5856    SELECT f1, f2 into x, y from t2 limit 1;
5857 END begin_label//
5858 delimiter ;//
5860 # ------------------------------------------------------------------------------
5861 let $message= Testcase 4.2.11:
5862               ----------------
5863 Ensure that every beginning label with the same scope must be unique. (same label names);
5864 --source include/show_msg80.inc
5867 --disable_warnings
5868 DROP PROCEDURE IF EXISTS sp6;
5869 --enable_warnings
5871 delimiter //;
5872 --error ER_SP_LABEL_REDEFINE
5873 CREATE PROCEDURE sp6( )
5874 begin_samelabel: BEGIN
5875     declare x char;
5876     declare y char;
5877     SELECT f1, f2 into x, y from t2 limit 1;
5878     begin_samelabel: BEGIN
5879       declare x char;
5880       declare y char;
5881       SELECT f1, f2 into x, y from t2 limit 1;
5882     END begin_samelabel;
5883     begin_samelabel: BEGIN
5884       declare x char;
5885       declare y char;
5886       SELECT f1, f2 into x, y from t2 limit 1;
5887     END begin_samelabel;
5888 END begin_samelabel//
5889 delimiter ;//
5892 # ------------------------------------------------------------------------------
5893 let $message= Testcase 4.2.12:
5894               ----------------
5895 Ensure that the variables, cursors, conditions, and handlers declared for
5896 a stored procedure (with the declare statement) may only be properly defined;
5897 --source include/show_msg80.inc
5899 --disable_warnings
5900 DROP PROCEDURE IF EXISTS sp6;
5901 --enable_warnings
5903 delimiter //;
5904 --error ER_TOO_BIG_SCALE
5905 CREATE PROCEDURE sp6( )
5906 BEGIN
5907     declare x char default 'a';
5908     declare y integer default 1;
5909     declare z float default 1.1;
5910     declare a enum("value1", "value2") default 'value1';
5911     declare b decimal(255, 255) default 1.2e+12;
5912     declare c mediumtext default 'mediumtext';
5913     declare d datetime default '2005-02-02 12:12:12';
5914     declare e char default 'b';
5915     declare cur1 cursor for SELECT f1 from db_storedproc.t2;
5916     declare continue handler for sqlstate '02000' set @x2 = 1;
5917     open cur1;
5918     fetch cur1 into e;
5919     SELECT x, y, z, a, b, c, d, e;
5920     close cur1;
5921 END//
5922 delimiter ;//
5924 CALL sp6();
5926 --disable_warnings
5927 DROP PROCEDURE IF EXISTS sp6;
5928 --enable_warnings
5930 delimiter //;
5931 CREATE PROCEDURE sp6( )
5932 BEGIN
5933     declare x12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 char default '0';
5934     SELECT x12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567;
5935 END//
5936 delimiter ;//
5938 CALL sp6();
5940 # clean up
5941 DROP PROCEDURE sp6;
5943 # ------------------------------------------------------------------------------
5944 let $message= Testcase 4.2.13:
5945               ----------------
5946 Ensure that the variables declared for a stored procedure (with the declare
5947 statement) may only be defined in the correct order.;
5948 --source include/show_msg80.inc
5950 --disable_warnings
5951 DROP PROCEDURE IF EXISTS sp6;
5952 --enable_warnings
5954 delimiter //;
5955 --error ER_PARSE_ERROR
5956 CREATE PROCEDURE sp6( )
5957 BEGIN
5958     declare x default '0' char;
5959     SELECT x;
5960 END//
5961 delimiter ;//
5963 --disable_warnings
5964 DROP PROCEDURE IF EXISTS sp6;
5965 --enable_warnings
5967 delimiter //;
5968 --error ER_PARSE_ERROR
5969 CREATE PROCEDURE sp6( )
5970 BEGIN
5971     declare x char, integer default '0';
5972     SELECT x;
5973 END//
5974 delimiter ;//
5976 --disable_warnings
5977 DROP PROCEDURE IF EXISTS sp6;
5978 --enable_warnings
5980 delimiter //;
5981 --error ER_PARSE_ERROR
5982 CREATE PROCEDURE sp6( )
5983 BEGIN
5984     declare x1, x2 char, integer default '0', 1;
5985     SELECT x;
5986 END//
5987 delimiter ;//
5989 --disable_warnings
5990 DROP PROCEDURE IF EXISTS sp6;
5991 --enable_warnings
5993 delimiter //;
5994 --error ER_PARSE_ERROR
5995 CREATE PROCEDURE sp1( )
5996 BEGIN
5997    declare char x;
5998    declare char y;
5999    SELECT f1, f2 into x, y from t2 limit 1;
6000 END//
6001 delimiter ;//
6003 --disable_warnings
6004 DROP PROCEDURE IF EXISTS sp6;
6005 --enable_warnings
6007 delimiter //;
6008 --error ER_PARSE_ERROR
6009 CREATE PROCEDURE sp1( )
6010 BEGIN
6011    declare char x, y1 integer default 0;
6012    declare char y;
6013    SELECT f1, f2 into x, y from t2 limit 1;
6014 END//
6015 delimiter ;//
6017 --disable_warnings
6018 DROP PROCEDURE IF EXISTS sp6;
6019 --enable_warnings
6021 delimiter //;
6022 --error ER_PARSE_ERROR
6023 CREATE PROCEDURE sp6( )
6024 BEGIN
6025     declare x default 'a' char;
6026 END//
6027 delimiter ;//
6029 --disable_warnings
6030 DROP PROCEDURE IF EXISTS sp6;
6031 --enable_warnings
6033 delimiter //;
6034 --error ER_PARSE_ERROR
6035 CREATE PROCEDURE sp6( )
6036 BEGIN
6037     declare condition notable for sqlstate '42s22';
6038 END//
6039 delimiter ;//
6041 --disable_warnings
6042 DROP PROCEDURE IF EXISTS sp6;
6043 --enable_warnings
6045 delimiter //;
6046 --error ER_PARSE_ERROR
6047 CREATE PROCEDURE sp6( )
6048 BEGIN
6049     declare condition for notable sqlstate '42s22';
6050 END//
6051 delimiter ;//
6053 --disable_warnings
6054 DROP PROCEDURE IF EXISTS sp6;
6055 --enable_warnings
6057 delimiter //;
6058 --error ER_PARSE_ERROR
6059 CREATE PROCEDURE sp6( )
6060 BEGIN
6061     declare condition for sqlstate notable '42s22';
6062 END//
6063 delimiter ;//
6065 --disable_warnings
6066 DROP PROCEDURE IF EXISTS sp6;
6067 --enable_warnings
6069 delimiter //;
6070 --error ER_PARSE_ERROR
6071 CREATE PROCEDURE sp6( )
6072 BEGIN
6073     declare condition for sqlstate '42s22' notable;
6074 END//
6075 delimiter ;//
6077 --disable_warnings
6078 DROP PROCEDURE IF EXISTS sp6;
6079 --enable_warnings
6081 delimiter //;
6082 --error ER_PARSE_ERROR
6083 CREATE PROCEDURE sp6( )
6084 BEGIN
6085     declare cursor cur1 for SELECT f1 from db_storedproc.t2;
6086 END//
6087 delimiter ;//
6089 --disable_warnings
6090 DROP PROCEDURE IF EXISTS sp6;
6091 --enable_warnings
6093 delimiter //;
6094 --error ER_PARSE_ERROR
6095 CREATE PROCEDURE sp6( )
6096 BEGIN
6097     declare cursor for cur1 SELECT f1 from db_storedproc.t2;
6098 END//
6099 delimiter ;//
6101 --disable_warnings
6102 DROP PROCEDURE IF EXISTS sp6;
6103 --enable_warnings
6105 delimiter //;
6106 --error ER_PARSE_ERROR
6107 CREATE PROCEDURE sp6( )
6108 BEGIN
6109     declare cursor for SELECT cur1 f1 from db_storedproc.t2;
6110 END//
6111 delimiter ;//
6113 --disable_warnings
6114 DROP PROCEDURE IF EXISTS sp6;
6115 --enable_warnings
6117 delimiter //;
6118 --error ER_PARSE_ERROR
6119 CREATE PROCEDURE sp6( )
6120 BEGIN
6121     declare handler continue for sqlstate '02000' set @x2 = 1;
6122 END//
6123 delimiter ;//
6125 --disable_warnings
6126 DROP PROCEDURE IF EXISTS sp6;
6127 --enable_warnings
6129 delimiter //;
6130 --error ER_PARSE_ERROR
6131 CREATE PROCEDURE sp6( )
6132 BEGIN
6133     declare handler exit for sqlstate '02000' set @x2 = 1;
6134 END//
6135 delimiter ;//
6137 --disable_warnings
6138 DROP PROCEDURE IF EXISTS sp6;
6139 --enable_warnings
6141 delimiter //;
6142 --error ER_PARSE_ERROR
6143 CREATE PROCEDURE sp6( )
6144 BEGIN
6145     declare handler undo for sqlstate '02000' set @x2 = 1;
6146 END//
6147 delimiter ;//
6149 --disable_warnings
6150 DROP PROCEDURE IF EXISTS sp1;
6151 --enable_warnings
6153 delimiter //;
6154 --error ER_PARSE_ERROR
6155 CREATE PROCEDURE sp1( )
6156 BEGIN
6157     declare char x;
6158     SELECT f1 into x from tb1 limit 9998, 1;
6159 END//
6160 delimiter ;//
6162 --disable_warnings
6163 DROP PROCEDURE IF EXISTS sp1;
6164 --enable_warnings
6166 delimiter //;
6167 --error ER_PARSE_ERROR
6168 CREATE PROCEDURE sp1( )
6169 BEGIN
6170     declare char binary  x;
6171     SELECT f2 into x from tb1 limit 9998, 1;
6172 END//
6173 delimiter ;//
6175 --disable_warnings
6176 DROP PROCEDURE IF EXISTS sp1;
6177 --enable_warnings
6179 delimiter //;
6180 --error ER_PARSE_ERROR
6181 CREATE PROCEDURE sp1( )
6182 BEGIN
6183     declare char ascii  x;
6184     SELECT f3 into x from tb1 limit 9998, 1;
6185 END//
6186 delimiter ;//
6188 --disable_warnings
6189 DROP PROCEDURE IF EXISTS sp1;
6190 --enable_warnings
6192 delimiter //;
6193 --error ER_PARSE_ERROR
6194 CREATE PROCEDURE sp1( )
6195 BEGIN
6196     declare tinytext  x;
6197     SELECT f4 into x from tb1 limit 9998, 1;
6198 END//
6199 delimiter ;//
6201 --disable_warnings
6202 DROP PROCEDURE IF EXISTS sp1;
6203 --enable_warnings
6205 delimiter //;
6206 --error ER_PARSE_ERROR
6207 CREATE PROCEDURE sp1( )
6208 BEGIN
6209     declare  x;
6210     SELECT f5 text  into x from tb1 limit 9998, 1;
6211 END//
6212 delimiter ;//
6214 --disable_warnings
6215 DROP PROCEDURE IF EXISTS sp1;
6216 --enable_warnings
6218 delimiter //;
6219 --error ER_PARSE_ERROR
6220 CREATE PROCEDURE sp1( )
6221 BEGIN
6222     declare mediumtext  x;
6223     SELECT f6 into x from tb1 limit 9998, 1;
6224 END//
6225 delimiter ;//
6227 --disable_warnings
6228 DROP PROCEDURE IF EXISTS sp1;
6229 --enable_warnings
6231 delimiter //;
6232 --error ER_PARSE_ERROR
6233 CREATE PROCEDURE sp1( )
6234 BEGIN
6235     declare longtext  x;
6236     SELECT f7 into x from tb1 limit 9998, 1;
6237 END//
6238 delimiter ;//
6240 --disable_warnings
6241 DROP PROCEDURE IF EXISTS sp1;
6242 --enable_warnings
6244 delimiter //;
6245 --error ER_PARSE_ERROR
6246 CREATE PROCEDURE sp1( )
6247 BEGIN
6248     declare tinyblob  x;
6249     SELECT f8 into x from tb1 limit 9998, 1;
6250 END//
6251 delimiter ;//
6253 --disable_warnings
6254 DROP PROCEDURE IF EXISTS sp1;
6255 --enable_warnings
6257 delimiter //;
6258 --error ER_PARSE_ERROR
6259 CREATE PROCEDURE sp1( )
6260 BEGIN
6261     declare blob x;
6262     SELECT f9 into x from tb1 limit 9998, 1;
6263 END//
6264 delimiter ;//
6266 --disable_warnings
6267 DROP PROCEDURE IF EXISTS sp1;
6268 --enable_warnings
6270 delimiter //;
6271 --error ER_PARSE_ERROR
6272 CREATE PROCEDURE sp1( )
6273 BEGIN
6274     declare mediumblob  x;
6275     SELECT f10 into x from tb1 limit 9998, 1;
6276 END//
6277 delimiter ;//
6279 --disable_warnings
6280 DROP PROCEDURE IF EXISTS sp1;
6281 --enable_warnings
6283 delimiter //;
6284 --error ER_PARSE_ERROR
6285 CREATE PROCEDURE sp1( )
6286 BEGIN
6287     declare longblob  x;
6288     SELECT f11 into x from tb1 limit 9998, 1;
6289 END//
6290 delimiter ;//
6292 --disable_warnings
6293 DROP PROCEDURE IF EXISTS sp1;
6294 --enable_warnings
6296 delimiter //;
6297 --error ER_PARSE_ERROR
6298 CREATE PROCEDURE sp1( )
6299 BEGIN
6300     declare binary  x;
6301     SELECT f12 into x from tb1 limit 9998, 1;
6302 END//
6303 delimiter ;//
6305 --disable_warnings
6306 DROP PROCEDURE IF EXISTS sp1;
6307 --enable_warnings
6309 delimiter //;
6310 --error ER_PARSE_ERROR
6311 CREATE PROCEDURE sp1( )
6312 BEGIN
6313     declare tinyint  x;
6314     SELECT f13 into x from tb1 limit 9998, 1;
6315 END//
6316 delimiter ;//
6318 --disable_warnings
6319 DROP PROCEDURE IF EXISTS sp1;
6320 --enable_warnings
6322 delimiter //;
6323 --error ER_PARSE_ERROR
6324 CREATE PROCEDURE sp1( )
6325 BEGIN
6326     declare tinyint unsigned  x;
6327     SELECT f14 into x from tb1 limit 9998, 1;
6328 END//
6329 delimiter ;//
6331 --disable_warnings
6332 DROP PROCEDURE IF EXISTS sp1;
6333 --enable_warnings
6335 delimiter //;
6336 --error ER_PARSE_ERROR
6337 CREATE PROCEDURE sp1( )
6338 BEGIN
6339     declare tinyint zerofill  x;
6340     SELECT f15 into x from tb1 limit 9998, 1;
6341 END//
6342 delimiter ;//
6344 --disable_warnings
6345 DROP PROCEDURE IF EXISTS sp1;
6346 --enable_warnings
6348 delimiter //;
6349 --error ER_PARSE_ERROR
6350 CREATE PROCEDURE sp1( )
6351 BEGIN
6352     declare tinyint unsigned zerofill  x;
6353     SELECT f16 into x from tb1 limit 9998, 1;
6354 END//
6355 delimiter ;//
6357 --disable_warnings
6358 DROP PROCEDURE IF EXISTS sp1;
6359 --enable_warnings
6361 delimiter //;
6362 --error ER_PARSE_ERROR
6363 CREATE PROCEDURE sp1( )
6364 BEGIN
6365     declare smallint  x;
6366     SELECT f17 into x from tb1 limit 9998, 1;
6367 END//
6368 delimiter ;//
6370 --disable_warnings
6371 DROP PROCEDURE IF EXISTS sp1;
6372 --enable_warnings
6374 delimiter //;
6375 --error ER_PARSE_ERROR
6376 CREATE PROCEDURE sp1( )
6377 BEGIN
6378     declare smallint unsigned   x;
6379     SELECT f18 into x from tb1 limit 9998, 1;
6380 END//
6381 delimiter ;//
6383 --disable_warnings
6384 DROP PROCEDURE IF EXISTS sp1;
6385 --enable_warnings
6387 delimiter //;
6388 --error ER_PARSE_ERROR
6389 CREATE PROCEDURE sp1( )
6390 BEGIN
6391     declare smallint zerofill  x;
6392     SELECT f19 into x from tb1 limit 9998, 1;
6393 END//
6394 delimiter ;//
6396 --disable_warnings
6397 DROP PROCEDURE IF EXISTS sp1;
6398 --enable_warnings
6400 delimiter //;
6401 --error ER_PARSE_ERROR
6402 CREATE PROCEDURE sp1( )
6403 BEGIN
6404     declare smallint unsigned zerofill  x;
6405     SELECT f20 into x from tb1 limit 9998, 1;
6406 END//
6407 delimiter ;//
6409 --disable_warnings
6410 DROP PROCEDURE IF EXISTS sp1;
6411 --enable_warnings
6413 delimiter //;
6414 --error ER_PARSE_ERROR
6415 CREATE PROCEDURE sp1( )
6416 BEGIN
6417     declare mediumint  x;
6418     SELECT f21 into x from tb1 limit 9998, 1;
6419 END//
6420 delimiter ;//
6422 --disable_warnings
6423 DROP PROCEDURE IF EXISTS sp1;
6424 --enable_warnings
6426 delimiter //;
6427 --error ER_PARSE_ERROR
6428 CREATE PROCEDURE sp1( )
6429 BEGIN
6430     declare mediumint unsigned  x;
6431     SELECT f22 into x from tb1 limit 9998, 1;
6432 END//
6433 delimiter ;//
6435 --disable_warnings
6436 DROP PROCEDURE IF EXISTS sp1;
6437 --enable_warnings
6439 delimiter //;
6440 --error ER_PARSE_ERROR
6441 CREATE PROCEDURE sp1( )
6442 BEGIN
6443     declare mediumint zerofill  x;
6444     SELECT f23 into x from tb1 limit 9998, 1;
6445 END//
6446 delimiter ;//
6448 --disable_warnings
6449 DROP PROCEDURE IF EXISTS sp1;
6450 --enable_warnings
6452 delimiter //;
6453 --error ER_PARSE_ERROR
6454 CREATE PROCEDURE sp1( )
6455 BEGIN
6456     declare mediumint unsigned zerofill  x;
6457     SELECT f24 into x from tb1 limit 9998, 1;
6458 END//
6459 delimiter ;//
6461 --disable_warnings
6462 DROP PROCEDURE IF EXISTS sp1;
6463 --enable_warnings
6465 delimiter //;
6466 --error ER_PARSE_ERROR
6467 CREATE PROCEDURE sp1( )
6468 BEGIN
6469     declare int  x;
6470     SELECT f25 into x from tb1 limit 9998, 1;
6471 END//
6472 delimiter ;//
6474 --disable_warnings
6475 DROP PROCEDURE IF EXISTS sp1;
6476 --enable_warnings
6478 delimiter //;
6479 --error ER_PARSE_ERROR
6480 CREATE PROCEDURE sp1( )
6481 BEGIN
6482     declare int unsigned  x;
6483     SELECT f26 into x from tb1 limit 9998, 1;
6484 END//
6485 delimiter ;//
6487 --disable_warnings
6488 DROP PROCEDURE IF EXISTS sp1;
6489 --enable_warnings
6491 delimiter //;
6492 --error ER_PARSE_ERROR
6493 CREATE PROCEDURE sp1( )
6494 BEGIN
6495     declare int zerofill  x;
6496     SELECT f27 into x from tb1 limit 9998, 1;
6497 END//
6498 delimiter ;//
6500 --disable_warnings
6501 DROP PROCEDURE IF EXISTS sp1;
6502 --enable_warnings
6504 delimiter //;
6505 --error ER_PARSE_ERROR
6506 CREATE PROCEDURE sp1( )
6507 BEGIN
6508     declare int unsigned zerofill  x;
6509     SELECT f28 into x from tb1 limit 9998, 1;
6510 END//
6511 delimiter ;//
6513 --disable_warnings
6514 DROP PROCEDURE IF EXISTS sp1;
6515 --enable_warnings
6517 delimiter //;
6518 --error ER_PARSE_ERROR
6519 CREATE PROCEDURE sp1( )
6520 BEGIN
6521     declare bigint  x;
6522     SELECT f29 into x from tb1 limit 9998, 1;
6523 END//
6524 delimiter ;//
6526 --disable_warnings
6527 DROP PROCEDURE IF EXISTS sp1;
6528 --enable_warnings
6530 delimiter //;
6531 --error ER_PARSE_ERROR
6532 CREATE PROCEDURE sp1( )
6533 BEGIN
6534     declare bigint unsigned  x;
6535     elect f30 into x from tb1 limit 9998, 1;
6536 END//
6537 delimiter ;//
6540 --disable_warnings
6541 DROP PROCEDURE IF EXISTS sp1;
6542 --enable_warnings
6544 delimiter //;
6545 --error ER_PARSE_ERROR
6546 CREATE PROCEDURE sp1( )
6547 BEGIN
6548     declare bigint zerofill  x;
6549     SELECT f31 into x from tb1 limit 9998, 1;
6550 END//
6551 delimiter ;//
6553 --disable_warnings
6554 DROP PROCEDURE IF EXISTS sp1;
6555 --enable_warnings
6557 delimiter //;
6558 --error ER_PARSE_ERROR
6559 CREATE PROCEDURE sp1( )
6560 BEGIN
6561     declare bigint unsigned zerofill  x;
6562     SELECT f32 into x from tb1 limit 9998, 1;
6563 END//
6564 delimiter ;//
6566 --disable_warnings
6567 DROP PROCEDURE IF EXISTS sp1;
6568 --enable_warnings
6570 delimiter //;
6571 --error ER_PARSE_ERROR
6572 CREATE PROCEDURE sp1( )
6573 BEGIN
6574     declare decimal  x;
6575     SELECT f33 into x from tb1 limit 9998, 1;
6576 END//
6577 delimiter ;//
6579 --disable_warnings
6580 DROP PROCEDURE IF EXISTS sp1;
6581 --enable_warnings
6583 delimiter //;
6584 --error ER_PARSE_ERROR
6585 CREATE PROCEDURE sp1( )
6586 BEGIN
6587     declare decimal unsigned  x;
6588     SELECT f34 into x from tb1 limit 9998, 1;
6589 END//
6590 delimiter ;//
6592 --disable_warnings
6593 DROP PROCEDURE IF EXISTS sp1;
6594 --enable_warnings
6596 delimiter //;
6597 --error ER_PARSE_ERROR
6598 CREATE PROCEDURE sp1( )
6599 BEGIN
6600     declare decimal zerofill  x;
6601     SELECT f35 into x from tb1 limit 9998, 1;
6602 END//
6603 delimiter ;//
6605 --disable_warnings
6606 DROP PROCEDURE IF EXISTS sp1;
6607 --enable_warnings
6609 delimiter //;
6610 --error ER_PARSE_ERROR
6611 CREATE PROCEDURE sp1( )
6612 BEGIN
6613     declare decimal unsigned zerofill not null  x;
6614     SELECT f36 into x from tb1 limit 9998, 1;
6615 END//
6616 delimiter ;//
6618 --disable_warnings
6619 DROP PROCEDURE IF EXISTS sp1;
6620 --enable_warnings
6622 delimiter //;
6623 --error ER_PARSE_ERROR
6624 CREATE PROCEDURE sp1( )
6625 BEGIN
6626     declare decimal (0) not null  x;
6627     SELECT f37 into x from tb1 limit 9998, 1;
6628 END//
6629 delimiter ;//
6631 --disable_warnings
6632 DROP PROCEDURE IF EXISTS sp1;
6633 --enable_warnings
6635 delimiter //;
6636 --error ER_PARSE_ERROR
6637 CREATE PROCEDURE sp1( )
6638 BEGIN
6639     declare decimal (64) not null  x;
6640     SELECT f38 into x from tb1 limit 9998, 1;
6641 END//
6642 delimiter ;//
6644 --disable_warnings
6645 DROP PROCEDURE IF EXISTS sp1;
6646 --enable_warnings
6648 delimiter //;
6649 --error ER_PARSE_ERROR
6650 CREATE PROCEDURE sp1( )
6651 BEGIN
6652     declare decimal (0) unsigned not null  x;
6653     SELECT f39 into x from tb1 limit 9998, 1;
6654 END//
6655 delimiter ;//
6657 --disable_warnings
6658 DROP PROCEDURE IF EXISTS sp1;
6659 --enable_warnings
6661 delimiter //;
6662 --error ER_PARSE_ERROR
6663 CREATE PROCEDURE sp1( )
6664 BEGIN
6665     declare decimal (64) unsigned not null  x;
6666     SELECT f40 into x from tb1 limit 9998, 1;
6667 END//
6668 delimiter ;//
6670 --disable_warnings
6671 DROP PROCEDURE IF EXISTS sp1;
6672 --enable_warnings
6674 delimiter //;
6675 --error ER_PARSE_ERROR
6676 CREATE PROCEDURE sp1( )
6677 BEGIN
6678     declare decimal (0) zerofill not null  x;
6679     SELECT f41 into x from tb1 limit 9998, 1;
6680 END//
6681 delimiter ;//
6683 --disable_warnings
6684 DROP PROCEDURE IF EXISTS sp1;
6685 --enable_warnings
6687 delimiter //;
6688 --error ER_PARSE_ERROR
6689 CREATE PROCEDURE sp1( )
6690 BEGIN
6691     declare decimal (64) zerofill not null  x;
6692     SELECT f42 into x from tb1 limit 9998, 1;
6693 END//
6694 delimiter ;//
6696 --disable_warnings
6697 DROP PROCEDURE IF EXISTS sp1;
6698 --enable_warnings
6700 delimiter //;
6701 --error ER_PARSE_ERROR
6702 CREATE PROCEDURE sp1( )
6703 BEGIN
6704     declare decimal (0) unsigned zerofill not null  x;
6705     SELECT f43 into x from tb1 limit 9998, 1;
6706 END//
6707 delimiter ;//
6709 --disable_warnings
6710 DROP PROCEDURE IF EXISTS sp1;
6711 --enable_warnings
6713 delimiter //;
6714 --error ER_PARSE_ERROR
6715 CREATE PROCEDURE sp1( )
6716 BEGIN
6717     declare decimal (64) unsigned zerofill not null  x;
6718     SELECT f44 into x from tb1 limit 9998, 1;
6719 END//
6720 delimiter ;//
6722 --disable_warnings
6723 DROP PROCEDURE IF EXISTS sp1;
6724 --enable_warnings
6726 delimiter //;
6727 --error ER_PARSE_ERROR
6728 CREATE PROCEDURE sp1( )
6729 BEGIN
6730     declare decimal (00) not null  x;
6731     SELECT f45 into x from tb1 limit 9998, 1;
6732 END//
6733 delimiter ;//
6735 --disable_warnings
6736 DROP PROCEDURE IF EXISTS sp1;
6737 --enable_warnings
6739 delimiter //;
6740 --error ER_PARSE_ERROR
6741 CREATE PROCEDURE sp1( )
6742 BEGIN
6743     declare decimal (63, 30) not null  x;
6744     SELECT f46 into x from tb1 limit 9998, 1;
6745 END//
6746 delimiter ;//
6748 --disable_warnings
6749 DROP PROCEDURE IF EXISTS sp1;
6750 --enable_warnings
6752 delimiter //;
6753 --error ER_PARSE_ERROR
6754 CREATE PROCEDURE sp1( )
6755 BEGIN
6756     declare decimal (00) unsigned not null  x;
6757     SELECT f47 into x from tb1 limit 9998, 1;
6758 END//
6759 delimiter ;//
6761 --disable_warnings
6762 DROP PROCEDURE IF EXISTS sp1;
6763 --enable_warnings
6765 delimiter //;
6766 --error ER_PARSE_ERROR
6767 CREATE PROCEDURE sp1( )
6768 BEGIN
6769     declare decimal (63, 30) unsigned not null  x;
6770     SELECT f48 into x from tb1 limit 9998, 1;
6771 END//
6772 delimiter ;//
6774 --disable_warnings
6775 DROP PROCEDURE IF EXISTS sp1;
6776 --enable_warnings
6778 delimiter //;
6779 --error ER_PARSE_ERROR
6780 CREATE PROCEDURE sp1( )
6781 BEGIN
6782     declare decimal (00) zerofill not null  x;
6783     SELECT f49 into x from tb1 limit 9998, 1;
6784 END//
6785 delimiter ;//
6787 --disable_warnings
6788 DROP PROCEDURE IF EXISTS sp1;
6789 --enable_warnings
6791 delimiter //;
6792 --error ER_PARSE_ERROR
6793 CREATE PROCEDURE sp1( )
6794 BEGIN
6795     declare decimal (63, 30) zerofill not null  x;
6796     SELECT f50 into x from tb1 limit 9998, 1;
6797 END//
6798 delimiter ;//
6800 --disable_warnings
6801 DROP PROCEDURE IF EXISTS sp1;
6802 --enable_warnings
6804 delimiter //;
6805 --error ER_PARSE_ERROR
6806 CREATE PROCEDURE sp1( )
6807 BEGIN
6808     declare decimal (00) unsigned zerofill not null  x;
6809     SELECT f51 into x from tb1 limit 9998, 1;
6810 END//
6811 delimiter ;//
6813 --disable_warnings
6814 DROP PROCEDURE IF EXISTS sp1;
6815 --enable_warnings
6817 delimiter //;
6818 --error ER_PARSE_ERROR
6819 CREATE PROCEDURE sp1( )
6820 BEGIN
6821     declare decimal (63, 30) unsigned zerofill not null  x;
6822     SELECT f52 into x from tb1 limit 9998, 1;
6823 END//
6824 delimiter ;//
6826 --disable_warnings
6827 DROP PROCEDURE IF EXISTS sp1;
6828 --enable_warnings
6830 delimiter //;
6831 --error ER_PARSE_ERROR
6832 CREATE PROCEDURE sp1( )
6833 BEGIN
6834     declare numeric not null  x;
6835     SELECT f53 into x from tb1 limit 9998, 1;
6836 END//
6837 delimiter ;//
6839 --disable_warnings
6840 DROP PROCEDURE IF EXISTS sp1;
6841 --enable_warnings
6843 delimiter //;
6844 --error ER_PARSE_ERROR
6845 CREATE PROCEDURE sp1( )
6846 BEGIN
6847     declare numeric unsigned not null  x;
6848     SELECT f54 into x from tb1 limit 9998, 1;
6849 END//
6850 delimiter ;//
6852 --disable_warnings
6853 DROP PROCEDURE IF EXISTS sp1;
6854 --enable_warnings
6856 delimiter //;
6857 --error ER_PARSE_ERROR
6858 CREATE PROCEDURE sp1( )
6859 BEGIN
6860     declare numeric zerofill not null  x;
6861     SELECT f55 into x from tb1 limit 9998, 1;
6862 END//
6863 delimiter ;//
6865 --disable_warnings
6866 DROP PROCEDURE IF EXISTS sp1;
6867 --enable_warnings
6869 delimiter //;
6870 --error ER_PARSE_ERROR
6871 CREATE PROCEDURE sp1( )
6872 BEGIN
6873     declare numeric unsigned zerofill not null  x;
6874     SELECT f56 into x from tb1 limit 9998, 1;
6875 END//
6876 delimiter ;//
6878 --disable_warnings
6879 DROP PROCEDURE IF EXISTS sp1;
6880 --enable_warnings
6882 delimiter //;
6883 --error ER_PARSE_ERROR
6884 CREATE PROCEDURE sp1( )
6885 BEGIN
6886     declare numeric (0) not null  x;
6887     SELECT f57 into x from tb1 limit 9998, 1;
6888 END//
6889 delimiter ;//
6891 --disable_warnings
6892 DROP PROCEDURE IF EXISTS sp1;
6893 --enable_warnings
6895 delimiter //;
6896 --error ER_PARSE_ERROR
6897 CREATE PROCEDURE sp1( )
6898 BEGIN
6899     declare numeric (64) not nul x;
6900     SELECT f58 into x from tb1 limit 9998, 1;
6901 END//
6902 delimiter ;//
6904 --disable_warnings
6905 DROP PROCEDURE IF EXISTS sp1;
6906 --enable_warnings
6908 delimiter //;
6909 --error ER_PARSE_ERROR
6910 CREATE PROCEDURE sp1( )
6911 BEGIN
6912     declare numeric (0) unsigned  x;
6913     SELECT f59 into x from tb2 limit 9998, 1;
6914 END//
6915 delimiter ;//
6917 --disable_warnings
6918 DROP PROCEDURE IF EXISTS sp1;
6919 --enable_warnings
6921 delimiter //;
6922 --error ER_PARSE_ERROR
6923 CREATE PROCEDURE sp1( )
6924 BEGIN
6925     declare numeric (64) unsigned  x;
6926     SELECT f60 into x from tb2 limit 9998, 1;
6927 END//
6928 delimiter ;//
6930 --disable_warnings
6931 DROP PROCEDURE IF EXISTS sp1;
6932 --enable_warnings
6934 delimiter //;
6935 --error ER_PARSE_ERROR
6936 CREATE PROCEDURE sp1( )
6937 BEGIN
6938     declare numeric (0) zerofill  x;
6939     SELECT f61 into x from tb2 limit 9998, 1;
6940 END//
6941 delimiter ;//
6943 --disable_warnings
6944 DROP PROCEDURE IF EXISTS sp1;
6945 --enable_warnings
6947 delimiter //;
6948 --error ER_PARSE_ERROR
6949 CREATE PROCEDURE sp1( )
6950 BEGIN
6951     declare numeric (64) zerofill  x;
6952     SELECT f62 into x from tb2 limit 9998, 1;
6953 END//
6954 delimiter ;//
6956 --disable_warnings
6957 DROP PROCEDURE IF EXISTS sp1;
6958 --enable_warnings
6960 delimiter //;
6961 --error ER_PARSE_ERROR
6962 CREATE PROCEDURE sp1( )
6963 BEGIN
6964     declare numeric (0) unsigned zerofill  x;
6965     SELECT f63 into x from tb2 limit 9998, 1;
6966 END//
6967 delimiter ;//
6969 --disable_warnings
6970 DROP PROCEDURE IF EXISTS sp1;
6971 --enable_warnings
6973 delimiter //;
6974 --error ER_PARSE_ERROR
6975 CREATE PROCEDURE sp1( )
6976 BEGIN
6977     declare numeric (64) unsigned zerofill  x;
6978     SELECT f64 into x from tb2 limit 9998, 1;
6979 END//
6980 delimiter ;//
6982 --disable_warnings
6983 DROP PROCEDURE IF EXISTS sp1;
6984 --enable_warnings
6986 delimiter //;
6987 --error ER_PARSE_ERROR
6988 CREATE PROCEDURE sp1( )
6989 BEGIN
6990     declare numeric (00)  x;
6991     SELECT f65 into x from tb2 limit 9998, 1;
6992 END//
6993 delimiter ;//
6995 --disable_warnings
6996 DROP PROCEDURE IF EXISTS sp1;
6997 --enable_warnings
6999 delimiter //;
7000 --error ER_PARSE_ERROR
7001 CREATE PROCEDURE sp1( )
7002 BEGIN
7003     declare numeric (63, 30)  x;
7004     SELECT f66 into x from tb2 limit 9998, 1;
7005 END//
7006 delimiter ;//
7008 --disable_warnings
7009 DROP PROCEDURE IF EXISTS sp1;
7010 --enable_warnings
7013 delimiter //;
7014 --error ER_PARSE_ERROR
7015 CREATE PROCEDURE sp1( )
7016 BEGIN
7017     declare numeric (00) unsigned  x;
7018     SELECT f67 into x from tb2 limit 9998, 1;
7019 END//
7020 delimiter ;//
7022 --disable_warnings
7023 DROP PROCEDURE IF EXISTS sp1;
7024 --enable_warnings
7026 delimiter //;
7027 --error ER_PARSE_ERROR
7028 CREATE PROCEDURE sp1( )
7029 BEGIN
7030     declare numeric (63, 30) unsigned  x;
7031     SELECT f68 into x from tb2 limit 9998, 1;
7032 END//
7033 delimiter ;//
7035 --disable_warnings
7036 DROP PROCEDURE IF EXISTS sp1;
7037 --enable_warnings
7039 delimiter //;
7040 --error ER_PARSE_ERROR
7041 CREATE PROCEDURE sp1( )
7042 BEGIN
7043     declare numeric (00) zerofill  x;
7044     SELECT f69 into x from tb2 limit 9998, 1;
7045 END//
7046 delimiter ;//
7048 --disable_warnings
7049 DROP PROCEDURE IF EXISTS sp1;
7050 --enable_warnings
7052 delimiter //;
7053 --error ER_PARSE_ERROR
7054 CREATE PROCEDURE sp1( )
7055 BEGIN
7056     declare numeric (63, 30) zerofill  x;
7057     SELECT f70 into x from tb2 limit 9998, 1;
7058 END//
7059 delimiter ;//
7061 --disable_warnings
7062 DROP PROCEDURE IF EXISTS sp1;
7063 --enable_warnings
7065 delimiter //;
7066 --error ER_PARSE_ERROR
7067 CREATE PROCEDURE sp1( )
7068 BEGIN
7069     declare numeric (00) unsigned zerofill  x;
7070     SELECT f71 into x from tb2 limit 9998, 1;
7071 END//
7072 delimiter ;//
7074 --disable_warnings
7075 DROP PROCEDURE IF EXISTS sp1;
7076 --enable_warnings
7078 delimiter //;
7079 --error ER_PARSE_ERROR
7080 CREATE PROCEDURE sp1( )
7081 BEGIN
7082     declare numeric (63, 30) unsigned zerofill  x;
7083     SELECT f72 into x from tb2 limit 9998, 1;
7084 END//
7085 delimiter ;//
7087 --disable_warnings
7088 DROP PROCEDURE IF EXISTS sp1;
7089 --enable_warnings
7091 delimiter //;
7092 --error ER_PARSE_ERROR
7093 CREATE PROCEDURE sp1( )
7094 BEGIN
7095     declare real  x;
7096     SELECT f73 into x from tb2 limit 9998, 1;
7097 END//
7098 delimiter ;//
7100 --disable_warnings
7101 DROP PROCEDURE IF EXISTS sp1;
7102 --enable_warnings
7104 delimiter //;
7105 --error ER_PARSE_ERROR
7106 CREATE PROCEDURE sp1( )
7107 BEGIN
7108     declare real unsigned  x;
7109     SELECT f74 into x from tb2 limit 9998, 1;
7110 END//
7111 delimiter ;//
7113 --disable_warnings
7114 DROP PROCEDURE IF EXISTS sp1;
7115 --enable_warnings
7117 delimiter //;
7118 --error ER_PARSE_ERROR
7119 CREATE PROCEDURE sp1( )
7120 BEGIN
7121     declare real zerofill  x;
7122     SELECT f75 into x from tb2 limit 9998, 1;
7123 END//
7124 delimiter ;//
7126 --disable_warnings
7127 DROP PROCEDURE IF EXISTS sp1;
7128 --enable_warnings
7130 delimiter //;
7131 --error ER_PARSE_ERROR
7132 CREATE PROCEDURE sp1( )
7133 BEGIN
7134     declare real unsigned zerofill  x;
7135     SELECT f76 into x from tb2 limit 9998, 1;
7136 END//
7137 delimiter ;//
7139 --disable_warnings
7140 DROP PROCEDURE IF EXISTS sp1;
7141 --enable_warnings
7143 delimiter //;
7144 --error ER_PARSE_ERROR
7145 CREATE PROCEDURE sp1( )
7146 BEGIN
7147     declare double  x;
7148     SELECT f77 into x from tb2 limit 9998, 1;
7149 END//
7150 delimiter ;//
7152 --disable_warnings
7153 DROP PROCEDURE IF EXISTS sp1;
7154 --enable_warnings
7156 delimiter //;
7157 --error ER_PARSE_ERROR
7158 CREATE PROCEDURE sp1( )
7159 BEGIN
7160     declare double unsigned  x;
7161     SELECT f78 into x from tb2 limit 9998, 1;
7162 END//
7163 delimiter ;//
7165 --disable_warnings
7166 DROP PROCEDURE IF EXISTS sp1;
7167 --enable_warnings
7169 delimiter //;
7170 --error ER_PARSE_ERROR
7171 CREATE PROCEDURE sp1( )
7172 BEGIN
7173     declare double zerofill  x;
7174     SELECT f79 into x from tb2 limit 9998, 1;
7175 END//
7176 delimiter ;//
7178 --disable_warnings
7179 DROP PROCEDURE IF EXISTS sp1;
7180 --enable_warnings
7182 delimiter //;
7183 --error ER_PARSE_ERROR
7184 CREATE PROCEDURE sp1( )
7185 BEGIN
7186     declare double unsigned zerofill  x;
7187     SELECT f80 into x from tb2 limit 9998, 1;
7188 END//
7189 delimiter ;//
7191 --disable_warnings
7192 DROP PROCEDURE IF EXISTS sp1;
7193 --enable_warnings
7195 delimiter //;
7196 --error ER_PARSE_ERROR
7197 CREATE PROCEDURE sp1( )
7198 BEGIN
7199     declare float not null  x;
7200     SELECT f81 into x from tb2 limit 9998, 1;
7201 END//
7202 delimiter ;//
7204 --disable_warnings
7205 DROP PROCEDURE IF EXISTS sp1;
7206 --enable_warnings
7208 delimiter //;
7209 --error ER_PARSE_ERROR
7210 CREATE PROCEDURE sp1( )
7211 BEGIN
7212     declare float unsigned not null  x;
7213     SELECT f82 into x from tb2 limit 9998, 1;
7214 END//
7215 delimiter ;//
7217 --disable_warnings
7218 DROP PROCEDURE IF EXISTS sp1;
7219 --enable_warnings
7221 delimiter //;
7222 --error ER_PARSE_ERROR
7223 CREATE PROCEDURE sp1( )
7224 BEGIN
7225     declare float zerofill not null  x;
7226     SELECT f83 into x from tb2 limit 9998, 1;
7227 END//
7228 delimiter ;//
7230 --disable_warnings
7231 DROP PROCEDURE IF EXISTS sp1;
7232 --enable_warnings
7234 delimiter //;
7235 --error ER_PARSE_ERROR
7236 CREATE PROCEDURE sp1( )
7237 BEGIN
7238     declare float unsigned zerofill not null  x;
7239     SELECT f84 into x from tb2 limit 9998, 1;
7240 END//
7241 delimiter ;//
7243 --disable_warnings
7244 DROP PROCEDURE IF EXISTS sp1;
7245 --enable_warnings
7247 delimiter //;
7248 --error ER_PARSE_ERROR
7249 CREATE PROCEDURE sp1( )
7250 BEGIN
7251     declare float(0) not null  x;
7252     SELECT f85 into x from tb2 limit 9998, 1;
7253 END//
7254 delimiter ;//
7256 --disable_warnings
7257 DROP PROCEDURE IF EXISTS sp1;
7258 --enable_warnings
7260 delimiter //;
7261 --error ER_PARSE_ERROR
7262 CREATE PROCEDURE sp1( )
7263 BEGIN
7264     declare float(23) not null  x;
7265     SELECT f86 into x from tb2 limit 9998, 1;
7266 END//
7267 delimiter ;//
7269 --disable_warnings
7270 DROP PROCEDURE IF EXISTS sp1;
7271 --enable_warnings
7273 delimiter //;
7274 --error ER_PARSE_ERROR
7275 CREATE PROCEDURE sp1( )
7276 BEGIN
7277     declare float(0) unsigned not null  x;
7278     SELECT f87 into x from tb2 limit 9998, 1;
7279 END//
7280 delimiter ;//
7282 --disable_warnings
7283 DROP PROCEDURE IF EXISTS sp1;
7284 --enable_warnings
7286 delimiter //;
7287 --error ER_PARSE_ERROR
7288 CREATE PROCEDURE sp1( )
7289 BEGIN
7290     declare float(23) unsigned not null  x;
7291     SELECT f88 into x from tb2 limit 9998, 1;
7292 END//
7293 delimiter ;//
7295 --disable_warnings
7296 DROP PROCEDURE IF EXISTS sp1;
7297 --enable_warnings
7299 delimiter //;
7300 --error ER_PARSE_ERROR
7301 CREATE PROCEDURE sp1( )
7302 BEGIN
7303     declare float(0) zerofill not null  x;
7304     SELECT f89 into x from tb2 limit 9998, 1;
7305 END//
7306 delimiter ;//
7308 --disable_warnings
7309 DROP PROCEDURE IF EXISTS sp1;
7310 --enable_warnings
7312 delimiter //;
7313 --error ER_PARSE_ERROR
7314 CREATE PROCEDURE sp1( )
7315 BEGIN
7316     declare float(23) zerofill not null  x;
7317     SELECT f90 into x from tb2 limit 9998, 1;
7318 END//
7319 delimiter ;//
7321 --disable_warnings
7322 DROP PROCEDURE IF EXISTS sp1;
7323 --enable_warnings
7325 delimiter //;
7326 --error ER_PARSE_ERROR
7327 CREATE PROCEDURE sp1( )
7328 BEGIN
7329     declare float(0) unsigned zerofill not null  x;
7330     SELECT f91 into x from tb2 limit 9998, 1;
7331 END//
7332 delimiter ;//
7334 --disable_warnings
7335 DROP PROCEDURE IF EXISTS sp1;
7336 --enable_warnings
7338 delimiter //;
7339 --error ER_PARSE_ERROR
7340 CREATE PROCEDURE sp1( )
7341 BEGIN
7342     declare float(23) unsigned zerofill not null  x;
7343     SELECT f92 into x from tb2 limit 9998, 1;
7344 END//
7345 delimiter ;//
7347 --disable_warnings
7348 DROP PROCEDURE IF EXISTS sp1;
7349 --enable_warnings
7351 delimiter //;
7352 --error ER_PARSE_ERROR
7353 CREATE PROCEDURE sp1( )
7354 BEGIN
7355     declare float(24) not null  x;
7356     SELECT f93 into x from tb2 limit 9998, 1;
7357 END//
7358 delimiter ;//
7360 --disable_warnings
7361 DROP PROCEDURE IF EXISTS sp1;
7362 --enable_warnings
7364 delimiter //;
7365 --error ER_PARSE_ERROR
7366 CREATE PROCEDURE sp1( )
7367 BEGIN
7368     declare float(53) not null  x;
7369     SELECT f94 into x from tb2 limit 9998, 1;
7370 END//
7371 delimiter ;//
7373 --disable_warnings
7374 DROP PROCEDURE IF EXISTS sp1;
7375 --enable_warnings
7377 delimiter //;
7378 --error ER_PARSE_ERROR
7379 CREATE PROCEDURE sp1( )
7380 BEGIN
7381     declare float(24) unsigned not null  x;
7382     SELECT f95 into x from tb2 limit 9998, 1;
7383 END//
7384 delimiter ;//
7386 --disable_warnings
7387 DROP PROCEDURE IF EXISTS sp1;
7388 --enable_warnings
7390 delimiter //;
7391 --error ER_PARSE_ERROR
7392 CREATE PROCEDURE sp1( )
7393 BEGIN
7394     declare float(53) unsigned not null  x;
7395     SELECT f96 into x from tb2 limit 9998, 1;
7396 END//
7397 delimiter ;//
7399 --disable_warnings
7400 DROP PROCEDURE IF EXISTS sp1;
7401 --enable_warnings
7403 delimiter //;
7404 --error ER_PARSE_ERROR
7405 CREATE PROCEDURE sp1( )
7406 BEGIN
7407     declare float(24) zerofill not null  x;
7408     SELECT f97 into x from tb2 limit 9998, 1;
7409 END//
7410 delimiter ;//
7412 --disable_warnings
7413 DROP PROCEDURE IF EXISTS sp1;
7414 --enable_warnings
7416 delimiter //;
7417 --error ER_PARSE_ERROR
7418 CREATE PROCEDURE sp1( )
7419 BEGIN
7420     declare float(53) zerofill not null  x;
7421     SELECT f98 into x from tb2 limit 9998, 1;
7422 END//
7423 delimiter ;//
7425 --disable_warnings
7426 DROP PROCEDURE IF EXISTS sp1;
7427 --enable_warnings
7429 delimiter //;
7430 --error ER_PARSE_ERROR
7431 CREATE PROCEDURE sp1( )
7432 BEGIN
7433     declare float(24) unsigned zerofill not null  x;
7434     SELECT f99 into x from tb2 limit 9998, 1;
7435 END//
7436 delimiter ;//
7438 --disable_warnings
7439 DROP PROCEDURE IF EXISTS sp1;
7440 --enable_warnings
7442 delimiter //;
7443 --error ER_PARSE_ERROR
7444 CREATE PROCEDURE sp1( )
7445 BEGIN
7446     declare float(53) unsigned zerofill not null  x;
7447     SELECT f100 into x from tb2 limit 9998, 1;
7448 END//
7449 delimiter ;//
7451 --disable_warnings
7452 DROP PROCEDURE IF EXISTS sp1;
7453 --enable_warnings
7455 delimiter //;
7456 --error ER_PARSE_ERROR
7457 CREATE PROCEDURE sp1( )
7458 BEGIN
7459     declare date not null  x;
7460     SELECT f101 into x from tb2 limit 9998, 1;
7461 END//
7462 delimiter ;//
7464 --disable_warnings
7465 DROP PROCEDURE IF EXISTS sp1;
7466 --enable_warnings
7468 delimiter //;
7469 --error ER_PARSE_ERROR
7470 CREATE PROCEDURE sp1( )
7471 BEGIN
7472     declare time not null  x;
7473     SELECT f102 into x from tb2 limit 9998, 1;
7474 END//
7475 delimiter ;//
7477 --disable_warnings
7478 DROP PROCEDURE IF EXISTS sp1;
7479 --enable_warnings
7481 delimiter //;
7482 --error ER_PARSE_ERROR
7483 CREATE PROCEDURE sp1( )
7484 BEGIN
7485     declare datetime not null  x;
7486     SELECT f103 into x from tb2 limit 9998, 1;
7487 END//
7488 delimiter ;//
7490 --disable_warnings
7491 DROP PROCEDURE IF EXISTS sp1;
7492 --enable_warnings
7494 delimiter //;
7495 --error ER_PARSE_ERROR
7496 CREATE PROCEDURE sp1( )
7497 BEGIN
7498     declare timestamp not null  x;
7499     SELECT f104 into x from tb2 limit 9998, 1;
7500 END//
7501 delimiter ;//
7503 --disable_warnings
7504 DROP PROCEDURE IF EXISTS sp1;
7505 --enable_warnings
7507 delimiter //;
7508 --error ER_PARSE_ERROR
7509 CREATE PROCEDURE sp1( )
7510 BEGIN
7511     declare year not null  x;
7512     SELECT f105 into x from tb2 limit 9998, 1;
7513 END//
7514 delimiter ;//
7516 --disable_warnings
7517 DROP PROCEDURE IF EXISTS sp1;
7518 --enable_warnings
7520 delimiter //;
7521 --error ER_PARSE_ERROR
7522 CREATE PROCEDURE sp1( )
7523 BEGIN
7524     declare year(3) not null  x;
7525     SELECT f106 into x from tb2 limit 9998, 1;
7526 END//
7527 delimiter ;//
7529 --disable_warnings
7530 DROP PROCEDURE IF EXISTS sp1;
7531 --enable_warnings
7533 delimiter //;
7534 --error ER_PARSE_ERROR
7535 CREATE PROCEDURE sp1( )
7536 BEGIN
7537     declare year(4) not null  x;
7538     SELECT f107 into x from tb2 limit 9998, 1;
7539 END//
7540 delimiter ;//
7542 --disable_warnings
7543 DROP PROCEDURE IF EXISTS sp1;
7544 --enable_warnings
7546 delimiter //;
7547 --error ER_PARSE_ERROR
7548 CREATE PROCEDURE sp1( )
7549 BEGIN
7550     declare enum("1enum", "2enum") not null  x;
7551     SELECT f108 into x from tb2 limit 9998, 1;
7552 END//
7553 delimiter ;//
7555 --disable_warnings
7556 DROP PROCEDURE IF EXISTS sp1;
7557 --enable_warnings
7559 delimiter //;
7560 --error ER_PARSE_ERROR
7561 CREATE PROCEDURE sp1( )
7562 BEGIN
7563     declare set("1set", "2set") not nul x;
7564     SELECT f109 into x from tb2 limit 9998, 1;
7565 END//
7566 delimiter ;//
7568 # ------------------------------------------------------------------------------
7569 let $message= Testcase 4.2.14:
7570               ----------------
7571 Ensure that the handlers declared for a stored procedure (with the declare
7572 statement) may only be defined in the correct order;
7573 --source include/show_msg80.inc
7576 --disable_warnings
7577 DROP PROCEDURE IF EXISTS sp1;
7578 --enable_warnings
7580 delimiter //;
7581 --error ER_SP_VARCOND_AFTER_CURSHNDLR
7582 CREATE PROCEDURE sp1()
7583 BEGIN
7584    declare continue handler for sqlstate '23000' set @x2 = 1;
7585    declare x char;
7586 END//
7587 delimiter ;//
7589 --disable_warnings
7590 DROP PROCEDURE IF EXISTS sp6;
7591 --enable_warnings
7593 delimiter //;
7594 --error ER_SP_VARCOND_AFTER_CURSHNDLR
7595 CREATE PROCEDURE sp6( )
7596 BEGIN
7597     declare cursor1 cursor for SELECT f1 from tb1;
7598     declare x char;
7599 END//
7600 delimiter ;//
7602 --disable_warnings
7603 DROP PROCEDURE IF EXISTS sp6;
7604 --enable_warnings
7606 delimiter //;
7607 --error ER_SP_VARCOND_AFTER_CURSHNDLR
7608 CREATE PROCEDURE sp6( )
7609 BEGIN
7610     declare cursor1 cursor for SELECT f1 from tb1;
7611     declare sqlcondition condition for sqlstate '02000';
7612 END//
7613 delimiter ;//
7615 --disable_warnings
7616 DROP PROCEDURE IF EXISTS sp6;
7617 --enable_warnings
7619 delimiter //;
7620 --error ER_SP_CURSOR_AFTER_HANDLER
7621 CREATE PROCEDURE sp6( )
7622 BEGIN
7623     declare sqlcondition condition for sqlstate '02000';
7624     declare continue handler for sqlcondition set @x=1;
7625     declare cursor1 cursor for SELECT f1 from tb1;
7626 END//
7627 delimiter ;//
7629 # ------------------------------------------------------------------------------
7630 let $message= Testcase 4.2.15:
7631               ----------------
7632 Ensure that the declare statement can declare multiple variables both separately
7633 and all at once from a variable list. (multiple declaration);
7634 --source include/show_msg80.inc
7636 --disable_warnings
7637 DROP PROCEDURE IF EXISTS sp1;
7638 --enable_warnings
7640 delimiter //;
7641 CREATE PROCEDURE sp1()
7642    BEGIN
7643       DECLARE x1 CHAR(100) DEFAULT 'outer';
7644       BEGIN
7645          DECLARE x1 CHAR(100) DEFAULT x1;
7646       END;
7647    END//
7648 delimiter ;//
7650 CALL sp1();
7652 --disable_warnings
7653 DROP PROCEDURE IF EXISTS sp1;
7654 --enable_warnings
7657 delimiter //;
7658 CREATE PROCEDURE sp1( )
7659 BEGIN
7660     declare x, y, z char default null;
7661     SELECT x, y, z;
7662 END//
7663 delimiter ;//
7665 CALL sp1();
7667 --disable_warnings
7668 DROP PROCEDURE IF EXISTS sp1;
7669 --enable_warnings
7671 delimiter //;
7672 CREATE PROCEDURE sp1( )
7673 BEGIN
7674     declare x, y, z char ascii default null;
7675     SELECT x, y, z;
7676 END//
7677 delimiter ;//
7679 CALL sp1();
7681 --disable_warnings
7682 DROP PROCEDURE IF EXISTS sp1;
7683 --enable_warnings
7685 delimiter //;
7686 CREATE PROCEDURE sp1( )
7687 BEGIN
7688     declare x, y, z tinytext default null;
7689     SELECT x, y, z;
7690 END//
7691 delimiter ;//
7693 CALL sp1();
7695 --disable_warnings
7696 DROP PROCEDURE IF EXISTS sp1;
7697 --enable_warnings
7699 delimiter //;
7700 CREATE PROCEDURE sp1( )
7701 BEGIN
7702     declare x, y, z text default null;
7703     SELECT x, y, z;
7704 END//
7705 delimiter ;//
7707 CALL sp1();
7709 --disable_warnings
7710 DROP PROCEDURE IF EXISTS sp1;
7711 --enable_warnings
7713 delimiter //;
7714 CREATE PROCEDURE sp1( )
7715 BEGIN
7716     declare x, y, z mediumtext default null;
7717     SELECT x, y, z;
7718 END//
7719 delimiter ;//
7721 CALL sp1();
7723 --disable_warnings
7724 DROP PROCEDURE IF EXISTS sp1;
7725 --enable_warnings
7727 delimiter //;
7728 CREATE PROCEDURE sp1( )
7729 BEGIN
7730     declare x, y, z longtext default null;
7731     SELECT x, y, z;
7732 END//
7733 delimiter ;//
7735 CALL sp1();
7737 --disable_warnings
7738 DROP PROCEDURE IF EXISTS sp1;
7739 --enable_warnings
7741 delimiter //;
7742 CREATE PROCEDURE sp1( )
7743 BEGIN
7744     declare x, y, z tinyblob default null;
7745     SELECT x, y, z;
7746 END//
7747 delimiter ;//
7749 CALL sp1();
7751 --disable_warnings
7752 DROP PROCEDURE IF EXISTS sp1;
7753 --enable_warnings
7755 delimiter //;
7756 CREATE PROCEDURE sp1( )
7757 BEGIN
7758     declare x, y, z blob default null;
7759     SELECT x, y, z;
7760 END//
7761 delimiter ;//
7763 CALL sp1();
7765 --disable_warnings
7766 DROP PROCEDURE IF EXISTS sp1;
7767 --enable_warnings
7769 delimiter //;
7770 CREATE PROCEDURE sp1( )
7771 BEGIN
7772     declare x, y, z mediumblob default null;
7773     SELECT x, y, z;
7774 END//
7775 delimiter ;//
7777 CALL sp1();
7779 --disable_warnings
7780 DROP PROCEDURE IF EXISTS sp1;
7781 --enable_warnings
7783 delimiter //;
7784 CREATE PROCEDURE sp1( )
7785 BEGIN
7786     declare x, y, z longblob default null;
7787     SELECT x, y, z;
7788 END//
7789 delimiter ;//
7791 CALL sp1();
7793 --disable_warnings
7794 DROP PROCEDURE IF EXISTS sp1;
7795 --enable_warnings
7797 delimiter //;
7798 CREATE PROCEDURE sp1( )
7799 BEGIN
7800     declare x, y, z binary default null;
7801     SELECT x, y, z;
7802 END//
7803 delimiter ;//
7805 CALL sp1();
7807 --disable_warnings
7808 DROP PROCEDURE IF EXISTS sp1;
7809 --enable_warnings
7811 delimiter //;
7812 CREATE PROCEDURE sp1( )
7813 BEGIN
7814     declare x, y, z tinyint default -126;
7815     SELECT x, y, z;
7816 END//
7817 delimiter ;//
7819 CALL sp1();
7821 --disable_warnings
7822 DROP PROCEDURE IF EXISTS sp1;
7823 --enable_warnings
7825 delimiter //;
7826 CREATE PROCEDURE sp1( )
7827 BEGIN
7828     declare x, y, z tinyint unsigned default 253;
7829     SELECT x, y, z;
7830 END//
7831 delimiter ;//
7833 CALL sp1();
7835 --disable_warnings
7836 DROP PROCEDURE IF EXISTS sp1;
7837 --enable_warnings
7839 delimiter //;
7840 CREATE PROCEDURE sp1( )
7841 BEGIN
7842     declare x, y, z tinyint zerofill default -1;
7843     SELECT x, y, z;
7844 END//
7845 delimiter ;//
7847 CALL sp1();
7849 --disable_warnings
7850 DROP PROCEDURE IF EXISTS sp1;
7851 --enable_warnings
7853 delimiter //;
7854 CREATE PROCEDURE sp1( )
7855 BEGIN
7856     declare x, y, z tinyint unsigned zerofill default 1;
7857     SELECT x, y, z;
7858 END//
7859 delimiter ;//
7861 CALL sp1();
7863 --disable_warnings
7864 DROP PROCEDURE IF EXISTS sp1;
7865 --enable_warnings
7867 delimiter //;
7868 CREATE PROCEDURE sp1( )
7869 BEGIN
7870     declare x, y, z smallint default -32768;
7871     SELECT x, y, z;
7872 END//
7873 delimiter ;//
7875 CALL sp1();
7877 --disable_warnings
7878 DROP PROCEDURE IF EXISTS sp1;
7879 --enable_warnings
7881 delimiter //;
7882 CREATE PROCEDURE sp1( )
7883 BEGIN
7884     declare x, y, z smallint unsigned default 65535;
7885     SELECT x, y, z;
7886 END//
7887 delimiter ;//
7889 CALL sp1();
7891 --disable_warnings
7892 DROP PROCEDURE IF EXISTS sp1;
7893 --enable_warnings
7895 delimiter //;
7896 CREATE PROCEDURE sp1( )
7897 BEGIN
7898     declare x, y, z smallint zerofill default -1;
7899     SELECT x, y, z;
7900 END//
7901 delimiter ;//
7903 CALL sp1();
7905 --disable_warnings
7906 DROP PROCEDURE IF EXISTS sp1;
7907 --enable_warnings
7909 delimiter //;
7910 CREATE PROCEDURE sp1( )
7911 BEGIN
7912     declare x, y, z smallint unsigned zerofill default 1;
7913     SELECT x, y, z;
7914 END//
7915 delimiter ;//
7917 CALL sp1();
7919 --disable_warnings
7920 DROP PROCEDURE IF EXISTS sp1;
7921 --enable_warnings
7923 delimiter //;
7924 CREATE PROCEDURE sp1( )
7925 BEGIN
7926     declare x, y, z mediumint default -8388608;
7927     SELECT x, y, z;
7928 END//
7929 delimiter ;//
7931 CALL sp1();
7933 --disable_warnings
7934 DROP PROCEDURE IF EXISTS sp1;
7935 --enable_warnings
7937 delimiter //;
7938 CREATE PROCEDURE sp1( )
7939 BEGIN
7940     declare x, y, z mediumint unsigned default 16777215;
7941     SELECT x, y, z;
7942 END//
7943 delimiter ;//
7945 CALL sp1();
7947 --disable_warnings
7948 DROP PROCEDURE IF EXISTS sp1;
7949 --enable_warnings
7951 delimiter //;
7952 CREATE PROCEDURE sp1( )
7953 BEGIN
7954     declare x, y, z mediumint zerofill default -1;
7955     SELECT x, y, z;
7956 END//
7957 delimiter ;//
7959 CALL sp1();
7961 --disable_warnings
7962 DROP PROCEDURE IF EXISTS sp1;
7963 --enable_warnings
7965 delimiter //;
7966 CREATE PROCEDURE sp1( )
7967 BEGIN
7968     declare x, y, z mediumint unsigned zerofill default 1;
7969     SELECT x, y, z;
7970 END//
7971 delimiter ;//
7973 CALL sp1();
7975 --disable_warnings
7976 DROP PROCEDURE IF EXISTS sp1;
7977 --enable_warnings
7979 delimiter //;
7980 CREATE PROCEDURE sp1( )
7981 BEGIN
7982     declare x, y, z int default -2147483648;
7983     SELECT x, y, z;
7984 END//
7985 delimiter ;//
7987 CALL sp1();
7989 --disable_warnings
7990 DROP PROCEDURE IF EXISTS sp1;
7991 --enable_warnings
7993 delimiter //;
7994 CREATE PROCEDURE sp1( )
7995 BEGIN
7996     declare x, y, z int unsigned default 4294967295;
7997     SELECT x, y, z;
7998 END//
7999 delimiter ;//
8001 CALL sp1();
8003 --disable_warnings
8004 DROP PROCEDURE IF EXISTS sp1;
8005 --enable_warnings
8007 delimiter //;
8008 CREATE PROCEDURE sp1( )
8009 BEGIN
8010     declare x, y, z int zerofill default -1;
8011     SELECT x, y, z;
8012 END//
8013 delimiter ;//
8015 CALL sp1();
8017 --disable_warnings
8018 DROP PROCEDURE IF EXISTS sp1;
8019 --enable_warnings
8021 delimiter //;
8022 CREATE PROCEDURE sp1( )
8023 BEGIN
8024     declare x, y, z int unsigned zerofill default 1;
8025     SELECT x, y, z;
8026 END//
8027 delimiter ;//
8029 CALL sp1();
8031 --disable_warnings
8032 DROP PROCEDURE IF EXISTS sp1;
8033 --enable_warnings
8035 delimiter //;
8036 CREATE PROCEDURE sp1( )
8037 BEGIN
8038     declare x, y, z bigint default -9223372036854775808;
8039     SELECT x, y, z;
8040 END//
8041 delimiter ;//
8043 CALL sp1();
8045 --disable_warnings
8046 DROP PROCEDURE IF EXISTS sp1;
8047 --enable_warnings
8049 delimiter //;
8050 CREATE PROCEDURE sp1( )
8051 BEGIN
8052     declare x, y, z bigint unsigned default 18446744073709551615;
8053     SELECT x, y, z;
8054 END//
8055 delimiter ;//
8057 CALL sp1();
8059 --disable_warnings
8060 DROP PROCEDURE IF EXISTS sp1;
8061 --enable_warnings
8063 delimiter //;
8064 CREATE PROCEDURE sp1( )
8065 BEGIN
8066     declare x, y, z bigint zerofill default -1;
8067     SELECT x, y, z;
8068 END//
8069 delimiter ;//
8071 CALL sp1();
8073 --disable_warnings
8074 DROP PROCEDURE IF EXISTS sp1;
8075 --enable_warnings
8077 delimiter //;
8078 CREATE PROCEDURE sp1( )
8079 BEGIN
8080     declare x, y, z bigint unsigned zerofill default 1;
8081     SELECT x, y, z;
8082 END//
8083 delimiter ;//
8085 CALL sp1();
8087 --disable_warnings
8088 DROP PROCEDURE IF EXISTS sp1;
8089 --enable_warnings
8091 #FIXME check again with -3.402823466e+38
8092 let $default_minus38= -34028234660123456789012345678901234567;
8094 delimiter //;
8095 eval CREATE PROCEDURE sp1( )
8096 BEGIN
8097     declare x, y, z decimal default $default_minus38;
8098     SELECT x, y, z;
8099 END//
8100 delimiter ;//
8102 CALL sp1();
8104 --disable_warnings
8105 DROP PROCEDURE IF EXISTS sp1;
8106 --enable_warnings
8108 delimiter //;
8109 CREATE PROCEDURE sp1( )
8110 BEGIN
8111     declare x, y, z decimal unsigned default 1.175494351e-38;
8112     SELECT x, y, z;
8113 END//
8114 delimiter ;//
8116 CALL sp1();
8118 --disable_warnings
8119 DROP PROCEDURE IF EXISTS sp1;
8120 --enable_warnings
8122 #FIXME check again with -3.402823466e+38
8123 delimiter //;
8124 eval CREATE PROCEDURE sp1( )
8125 BEGIN
8126     declare x, y, z decimal zerofill default $default_minus38;
8127     SELECT x, y, z;
8128 END//
8129 delimiter ;//
8131 CALL sp1();
8133 --disable_warnings
8134 DROP PROCEDURE IF EXISTS sp1;
8135 --enable_warnings
8137 delimiter //;
8138 CREATE PROCEDURE sp1( )
8139 BEGIN
8140     declare x, y, z decimal unsigned zerofill default 1.175494351e-38;
8141     SELECT x, y, z;
8142 END//
8143 delimiter ;//
8145 CALL sp1();
8147 --disable_warnings
8148 DROP PROCEDURE IF EXISTS sp1;
8149 --enable_warnings
8151 delimiter //;
8152 CREATE PROCEDURE sp1( )
8153 BEGIN
8154     declare x, y, z numeric default 1.175494351e-38;
8155     SELECT x, y, z;
8156 END//
8157 delimiter ;//
8159 CALL sp1();
8161 --disable_warnings
8162 DROP PROCEDURE IF EXISTS sp1;
8163 --enable_warnings
8165 delimiter //;
8166 CREATE PROCEDURE sp1( )
8167 BEGIN
8168     declare x, y, z numeric unsigned default 1.175494351e-38;
8169     SELECT x, y, z;
8170 END//
8171 delimiter ;//
8173 CALL sp1();
8175 --disable_warnings
8176 DROP PROCEDURE IF EXISTS sp1;
8177 --enable_warnings
8179 delimiter //;
8180 CREATE PROCEDURE sp1( )
8181 BEGIN
8182     declare x, y, z numeric zerofill default 1.175494351e-38;
8183     SELECT x, y, z;
8184 END//
8185 delimiter ;//
8187 CALL sp1();
8189 --disable_warnings
8190 DROP PROCEDURE IF EXISTS sp1;
8191 --enable_warnings
8193 delimiter //;
8194 CREATE PROCEDURE sp1( )
8195 BEGIN
8196     declare x, y, z numeric unsigned zerofill default 1.175494351e-38;
8197     SELECT x, y, z;
8198 END//
8199 delimiter ;//
8201 CALL sp1();
8203 --disable_warnings
8204 DROP PROCEDURE IF EXISTS sp1;
8205 --enable_warnings
8207 delimiter //;
8208 CREATE PROCEDURE sp1( )
8209 BEGIN
8210     declare x, y, z real default 1.175494351e-38;
8211     SELECT x, y, z;
8212 END//
8213 delimiter ;//
8215 --replace_result e-038 e-38
8216 CALL sp1();
8218 --disable_warnings
8219 DROP PROCEDURE IF EXISTS sp1;
8220 --enable_warnings
8222 delimiter //;
8223 CREATE PROCEDURE sp1( )
8224 BEGIN
8225     declare x, y, z real unsigned default 1.175494351e-38;
8226     SELECT x, y, z;
8227 END//
8228 delimiter ;//
8230 --replace_result e-038 e-38
8231 CALL sp1();
8233 --disable_warnings
8234 DROP PROCEDURE IF EXISTS sp1;
8235 --enable_warnings
8237 delimiter //;
8238 CREATE PROCEDURE sp1( )
8239 BEGIN
8240     declare x, y, z real zerofill default 1.175494351e-38;
8241     SELECT x, y, z;
8242 END//
8243 delimiter ;//
8245 --replace_result e-038 e-38
8246 CALL sp1();
8248 --disable_warnings
8249 DROP PROCEDURE IF EXISTS sp1;
8250 --enable_warnings
8252 delimiter //;
8253 CREATE PROCEDURE sp1( )
8254 BEGIN
8255     declare x, y, z real unsigned zerofill default 1.175494351e-38;
8256     SELECT x, y, z;
8257 END//
8258 delimiter ;//
8260 --replace_result e-038 e-38
8261 CALL sp1();
8263 --disable_warnings
8264 DROP PROCEDURE IF EXISTS sp1;
8265 --enable_warnings
8267 delimiter //;
8268 CREATE PROCEDURE sp1( )
8269 BEGIN
8270     declare x, y, z float default 1.175494351e-38;
8271     SELECT x, y, z;
8272 END//
8273 delimiter ;//
8275 --replace_result e-038 e-38
8276 CALL sp1();
8278 --disable_warnings
8279 DROP PROCEDURE IF EXISTS sp1;
8280 --enable_warnings
8282 delimiter //;
8283 CREATE PROCEDURE sp1( )
8284 BEGIN
8285     declare x, y, z float unsigned default 1.175494351e-38;
8286     SELECT x, y, z;
8287 END//
8288 delimiter ;//
8290 --replace_result e-038 e-38
8291 CALL sp1();
8293 --disable_warnings
8294 DROP PROCEDURE IF EXISTS sp1;
8295 --enable_warnings
8297 delimiter //;
8298 CREATE PROCEDURE sp1( )
8299 BEGIN
8300     declare x, y, z float zerofill default 1.175494351e-38;
8301     SELECT x, y, z;
8302 END//
8303 delimiter ;//
8305 --replace_result e-038 e-38
8306 CALL sp1();
8308 --disable_warnings
8309 DROP PROCEDURE IF EXISTS sp1;
8310 --enable_warnings
8312 delimiter //;
8313 CREATE PROCEDURE sp1( )
8314 BEGIN
8315     declare x, y, z float unsigned zerofill default 1.175494351e-38;
8316     SELECT x, y, z;
8317 END//
8318 delimiter ;//
8320 --replace_result e-038 e-38
8321 CALL sp1();
8323 --disable_warnings
8324 DROP PROCEDURE IF EXISTS sp1;
8325 --enable_warnings
8327 delimiter //;
8328 CREATE PROCEDURE sp1( )
8329 BEGIN
8330     declare x, y, z date default '2005-02-02';
8331     SELECT x, y, z;
8332 END//
8333 delimiter ;//
8335 CALL sp1();
8337 --disable_warnings
8338 DROP PROCEDURE IF EXISTS sp1;
8339 --enable_warnings
8341 delimiter //;
8342 CREATE PROCEDURE sp1( )
8343 BEGIN
8344     declare x, y, z time default '12:20:12';
8345     SELECT x, y, z;
8346 END//
8347 delimiter ;//
8349 CALL sp1();
8351 --disable_warnings
8352 DROP PROCEDURE IF EXISTS sp1;
8353 --enable_warnings
8355 delimiter //;
8356 CREATE PROCEDURE sp1( )
8357 BEGIN
8358     declare x, y, z datetime default '2005-02-02 12:20:12';
8359     SELECT x, y, z;
8360 END//
8361 delimiter ;//
8363 CALL sp1();
8365 --disable_warnings
8366 DROP PROCEDURE IF EXISTS sp1;
8367 --enable_warnings
8369 delimiter //;
8370 CREATE PROCEDURE sp1( )
8371 BEGIN
8372     declare x, y, z timestamp default '20050202122012';
8373     SELECT x, y, z;
8374 END//
8375 delimiter ;//
8377 CALL sp1();
8379 --disable_warnings
8380 DROP PROCEDURE IF EXISTS sp1;
8381 --enable_warnings
8383 delimiter //;
8384 CREATE PROCEDURE sp1( )
8385 BEGIN
8386     declare x, y, z year default 2005;
8387     SELECT x, y, z;
8388 END//
8389 delimiter ;//
8391 CALL sp1();
8393 --disable_warnings
8394 DROP PROCEDURE IF EXISTS sp1;
8395 --enable_warnings
8397 delimiter //;
8398 CREATE PROCEDURE sp1( )
8399 BEGIN
8400     declare x, y, z year(3) default 2005;
8401     SELECT x, y, z;
8402 END//
8403 delimiter ;//
8405 CALL sp1();
8407 --disable_warnings
8408 DROP PROCEDURE IF EXISTS sp1;
8409 --enable_warnings
8411 delimiter //;
8412 CREATE PROCEDURE sp1( )
8413 BEGIN
8414     declare x, y, z year(4) default 2005;
8415     SELECT x, y, z;
8416 END//
8417 delimiter ;//
8419 CALL sp1();
8421 --disable_warnings
8422 DROP PROCEDURE IF EXISTS sp1;
8423 --enable_warnings
8425 delimiter //;
8426 CREATE PROCEDURE sp1( )
8427 BEGIN
8428     declare x, y, z enum("1enum", "2enum") default "2enum";
8429     SELECT x, y, z;
8430 END//
8431 delimiter ;//
8433 CALL sp1();
8435 --disable_warnings
8436 DROP PROCEDURE IF EXISTS sp1;
8437 --enable_warnings
8439 delimiter //;
8440 CREATE PROCEDURE sp1( )
8441 BEGIN
8442     declare x, y, z set("1set", "2set") default "2set";
8443     SELECT x, y, z;
8444 END//
8445 delimiter ;//
8447 CALL sp1();
8449 # clean up
8450 DROP PROCEDURE sp1;
8452 # ------------------------------------------------------------------------------
8453 let $message= Testcase 4.2.16:
8454               ----------------
8455 Ensure that the declare statement can declare multiple variables both separately
8456 and all at once from a variable list. (multiple declaration).;
8457 --source include/show_msg80.inc
8459 --disable_warnings
8460 DROP PROCEDURE IF EXISTS sp6;
8461 --enable_warnings
8463 delimiter //;
8464 CREATE PROCEDURE sp6( )
8465 BEGIN
8466    declare a, b char default '2';
8467    declare c, d float default 1.3;
8468    declare e, f text default 'text';
8469    declare g, h enum("value1", "value2" ) default 'value1';
8470    declare i, j datetime default '2005-02-02 12:12:12';
8471    declare k, l blob default 'blob';
8472    SELECT a, b, c, d, e, f, g, h, k, l;
8473 END//
8474 delimiter ;//
8476 CALL sp6();
8478 # clean up
8479 DROP PROCEDURE sp6;
8481 # ------------------------------------------------------------------------------
8482 let $message= Testcase 4.2.17:
8483               ----------------
8484 Ensure that the invalid variable declarations are rejected, with an appropriate
8485 error message.;
8486 --source include/show_msg80.inc
8488 --disable_warnings
8489 DROP PROCEDURE IF EXISTS sp1;
8490 --enable_warnings
8492 delimiter //;
8493 --error ER_PARSE_ERROR
8494 CREATE PROCEDURE sp1( )
8495 BEGIN
8496    declare @x char;
8497    SELECT f2 into x from t2 limit 1;
8498 END//
8499 delimiter ;//
8501 --disable_warnings
8502 DROP PROCEDURE IF EXISTS sp1;
8503 --enable_warnings
8505 delimiter //;
8506 --error ER_PARSE_ERROR
8507 CREATE PROCEDURE sp1()
8508 BEGIN
8509     declare accessible char;
8510 END//
8511 delimiter ;//
8513 --disable_warnings
8514 DROP PROCEDURE IF EXISTS sp1;
8515 --enable_warnings
8517 delimiter //;
8518 --error ER_PARSE_ERROR
8519 CREATE PROCEDURE sp1()
8520 BEGIN
8521     declare add char;
8522 END//
8523 delimiter ;//
8525 --disable_warnings
8526 DROP PROCEDURE IF EXISTS sp1;
8527 --enable_warnings
8529 delimiter //;
8530 --error ER_PARSE_ERROR
8531 CREATE PROCEDURE sp1()
8532 BEGIN
8533     declare all char;
8534 END//
8535 delimiter ;//
8537 --disable_warnings
8538 DROP PROCEDURE IF EXISTS sp1;
8539 --enable_warnings
8541 delimiter //;
8542 --error ER_PARSE_ERROR
8543 CREATE PROCEDURE sp1()
8544 BEGIN
8545     declare alter char;
8546 END//
8547 delimiter ;//
8549 --disable_warnings
8550 DROP PROCEDURE IF EXISTS sp1;
8551 --enable_warnings
8553 delimiter //;
8554 --error ER_PARSE_ERROR
8555 CREATE PROCEDURE sp1()
8556 BEGIN
8557     declare analyze char;
8558 END//
8559 delimiter ;//
8561 --disable_warnings
8562 DROP PROCEDURE IF EXISTS sp1;
8563 --enable_warnings
8565 delimiter //;
8566 --error ER_PARSE_ERROR
8567 CREATE PROCEDURE sp1()
8568 BEGIN
8569     declare and char;
8570 END//
8571 delimiter ;//
8573 --disable_warnings
8574 DROP PROCEDURE IF EXISTS sp1;
8575 --enable_warnings
8577 delimiter //;
8578 --error ER_PARSE_ERROR
8579 CREATE PROCEDURE sp1()
8580 BEGIN
8581     declare as char;
8582 END//
8583 delimiter ;//
8585 --disable_warnings
8586 DROP PROCEDURE IF EXISTS sp1;
8587 --enable_warnings
8589 delimiter //;
8590 --error ER_PARSE_ERROR
8591 CREATE PROCEDURE sp1()
8592 BEGIN
8593     declare asc char;
8594 END//
8595 delimiter ;//
8597 --disable_warnings
8598 DROP PROCEDURE IF EXISTS sp1;
8599 --enable_warnings
8601 delimiter //;
8602 --error ER_PARSE_ERROR
8603 CREATE PROCEDURE sp1()
8604 BEGIN
8605     declare asensitive char;
8606 END//
8607 delimiter ;//
8609 --disable_warnings
8610 DROP PROCEDURE IF EXISTS sp1;
8611 --enable_warnings
8613 delimiter //;
8614 --error ER_PARSE_ERROR
8615 CREATE PROCEDURE sp1()
8616 BEGIN
8617     declare before char;
8618 END//
8619 delimiter ;//
8621 --disable_warnings
8622 DROP PROCEDURE IF EXISTS sp1;
8623 --enable_warnings
8625 delimiter //;
8626 --error ER_PARSE_ERROR
8627 CREATE PROCEDURE sp1()
8628 BEGIN
8629     declare between char;
8630 END//
8631 delimiter ;//
8633 --disable_warnings
8634 DROP PROCEDURE IF EXISTS sp1;
8635 --enable_warnings
8637 delimiter //;
8638 --error ER_PARSE_ERROR
8639 CREATE PROCEDURE sp1()
8640 BEGIN
8641     declare bigint char;
8642 END//
8643 delimiter ;//
8645 --disable_warnings
8646 DROP PROCEDURE IF EXISTS sp1;
8647 --enable_warnings
8649 delimiter //;
8650 --error ER_PARSE_ERROR
8651 CREATE PROCEDURE sp1()
8652 BEGIN
8653     declare binary char;
8654 END//
8655 delimiter ;//
8657 --disable_warnings
8658 DROP PROCEDURE IF EXISTS sp1;
8659 --enable_warnings
8661 delimiter //;
8662 --error ER_PARSE_ERROR
8663 CREATE PROCEDURE sp1()
8664 BEGIN
8665     declare blob char;
8666 END//
8667 delimiter ;//
8669 --disable_warnings
8670 DROP PROCEDURE IF EXISTS sp1;
8671 --enable_warnings
8673 delimiter //;
8674 --error ER_PARSE_ERROR
8675 CREATE PROCEDURE sp1()
8676 BEGIN
8677     declare both char;
8678 END//
8679 delimiter ;//
8681 --disable_warnings
8682 DROP PROCEDURE IF EXISTS sp1;
8683 --enable_warnings
8685 delimiter //;
8686 --error ER_PARSE_ERROR
8687 CREATE PROCEDURE sp1()
8688 BEGIN
8689     declare by char;
8690 END//
8691 delimiter ;//
8693 --disable_warnings
8694 DROP PROCEDURE IF EXISTS sp1;
8695 --enable_warnings
8697 delimiter //;
8698 --error ER_PARSE_ERROR
8699 CREATE PROCEDURE sp1()
8700 BEGIN
8701     declare call char;
8702 END//
8703 delimiter ;//
8705 --disable_warnings
8706 DROP PROCEDURE IF EXISTS sp1;
8707 --enable_warnings
8709 delimiter //;
8710 --error ER_PARSE_ERROR
8711 CREATE PROCEDURE sp1()
8712 BEGIN
8713     declare cascade char;
8714 END//
8715 delimiter ;//
8717 --disable_warnings
8718 DROP PROCEDURE IF EXISTS sp1;
8719 --enable_warnings
8721 delimiter //;
8722 --error ER_PARSE_ERROR
8723 CREATE PROCEDURE sp1()
8724 BEGIN
8725     declare case char;
8726 END//
8727 delimiter ;//
8729 --disable_warnings
8730 DROP PROCEDURE IF EXISTS sp1;
8731 --enable_warnings
8733 delimiter //;
8734 --error ER_PARSE_ERROR
8735 CREATE PROCEDURE sp1()
8736 BEGIN
8737     declare change char;
8738 END//
8739 delimiter ;//
8741 --disable_warnings
8742 DROP PROCEDURE IF EXISTS sp1;
8743 --enable_warnings
8745 delimiter //;
8746 --error ER_PARSE_ERROR
8747 CREATE PROCEDURE sp1()
8748 BEGIN
8749     declare char char;
8750 END//
8751 delimiter ;//
8753 --disable_warnings
8754 DROP PROCEDURE IF EXISTS sp1;
8755 --enable_warnings
8757 delimiter //;
8758 --error ER_PARSE_ERROR
8759 CREATE PROCEDURE sp1()
8760 BEGIN
8761     declare character char;
8762 END//
8763 delimiter ;//
8765 --disable_warnings
8766 DROP PROCEDURE IF EXISTS sp1;
8767 --enable_warnings
8769 delimiter //;
8770 --error ER_PARSE_ERROR
8771 CREATE PROCEDURE sp1()
8772 BEGIN
8773     declare check char;
8774 END//
8775 delimiter ;//
8777 --disable_warnings
8778 DROP PROCEDURE IF EXISTS sp1;
8779 --enable_warnings
8781 delimiter //;
8782 --error ER_PARSE_ERROR
8783 CREATE PROCEDURE sp1()
8784 BEGIN
8785     declare collate char;
8786 END//
8787 delimiter ;//
8789 --disable_warnings
8790 DROP PROCEDURE IF EXISTS sp1;
8791 --enable_warnings
8793 delimiter //;
8794 --error ER_PARSE_ERROR
8795 CREATE PROCEDURE sp1()
8796 BEGIN
8797     declare column char;
8798 END//
8799 delimiter ;//
8801 --disable_warnings
8802 DROP PROCEDURE IF EXISTS sp1;
8803 --enable_warnings
8805 delimiter //;
8806 --error ER_PARSE_ERROR
8807 CREATE PROCEDURE sp1()
8808 BEGIN
8809     declare condition char;
8810 END//
8811 delimiter ;//
8813 --disable_warnings
8814 DROP PROCEDURE IF EXISTS sp1;
8815 --enable_warnings
8817 delimiter //;
8818 --error ER_PARSE_ERROR
8819 CREATE PROCEDURE sp1()
8820 BEGIN
8821     declare constraint char;
8822 END//
8823 delimiter ;//
8825 --disable_warnings
8826 DROP PROCEDURE IF EXISTS sp1;
8827 --enable_warnings
8829 delimiter //;
8830 --error ER_PARSE_ERROR
8831 CREATE PROCEDURE sp1()
8832 BEGIN
8833     declare continue char;
8834 END//
8835 delimiter ;//
8837 --disable_warnings
8838 DROP PROCEDURE IF EXISTS sp1;
8839 --enable_warnings
8841 delimiter //;
8842 --error ER_PARSE_ERROR
8843 CREATE PROCEDURE sp1()
8844 BEGIN
8845     declare convert char;
8846 END//
8847 delimiter ;//
8849 --disable_warnings
8850 DROP PROCEDURE IF EXISTS sp1;
8851 --enable_warnings
8853 delimiter //;
8854 --error ER_PARSE_ERROR
8855 CREATE PROCEDURE sp1()
8856 BEGIN
8857     declare create char;
8858 END//
8859 delimiter ;//
8861 --disable_warnings
8862 DROP PROCEDURE IF EXISTS sp1;
8863 --enable_warnings
8865 delimiter //;
8866 --error ER_PARSE_ERROR
8867 CREATE PROCEDURE sp1()
8868 BEGIN
8869     declare cross char;
8870 END//
8871 delimiter ;//
8873 --disable_warnings
8874 DROP PROCEDURE IF EXISTS sp1;
8875 --enable_warnings
8877 delimiter //;
8878 --error ER_PARSE_ERROR
8879 CREATE PROCEDURE sp1()
8880 BEGIN
8881     declare current_date char;
8882 END//
8883 delimiter ;//
8885 --disable_warnings
8886 DROP PROCEDURE IF EXISTS sp1;
8887 --enable_warnings
8889 delimiter //;
8890 --error ER_PARSE_ERROR
8891 CREATE PROCEDURE sp1()
8892 BEGIN
8893     declare current_time char;
8894 END//
8895 delimiter ;//
8897 --disable_warnings
8898 DROP PROCEDURE IF EXISTS sp1;
8899 --enable_warnings
8901 delimiter //;
8902 --error ER_PARSE_ERROR
8903 CREATE PROCEDURE sp1()
8904 BEGIN
8905     declare current_timestamp char;
8906 END//
8907 delimiter ;//
8909 --disable_warnings
8910 DROP PROCEDURE IF EXISTS sp1;
8911 --enable_warnings
8913 delimiter //;
8914 --error ER_PARSE_ERROR
8915 CREATE PROCEDURE sp1()
8916 BEGIN
8917     declare current_user char;
8918 END//
8919 delimiter ;//
8921 --disable_warnings
8922 DROP PROCEDURE IF EXISTS sp1;
8923 --enable_warnings
8925 delimiter //;
8926 --error ER_PARSE_ERROR
8927 CREATE PROCEDURE sp1()
8928 BEGIN
8929     declare cursor char;
8930 END//
8931 delimiter ;//
8933 --disable_warnings
8934 DROP PROCEDURE IF EXISTS sp1;
8935 --enable_warnings
8937 delimiter //;
8938 --error ER_PARSE_ERROR
8939 CREATE PROCEDURE sp1()
8940 BEGIN
8941     declare database char;
8942 END//
8943 delimiter ;//
8945 --disable_warnings
8946 DROP PROCEDURE IF EXISTS sp1;
8947 --enable_warnings
8949 delimiter //;
8950 --error ER_PARSE_ERROR
8951 CREATE PROCEDURE sp1()
8952 BEGIN
8953     declare databases char;
8954 END//
8955 delimiter ;//
8957 --disable_warnings
8958 DROP PROCEDURE IF EXISTS sp1;
8959 --enable_warnings
8961 delimiter //;
8962 --error ER_PARSE_ERROR
8963 CREATE PROCEDURE sp1()
8964 BEGIN
8965     declare day_hour char;
8966 END//
8967 delimiter ;//
8969 --disable_warnings
8970 DROP PROCEDURE IF EXISTS sp1;
8971 --enable_warnings
8973 delimiter //;
8974 --error ER_PARSE_ERROR
8975 CREATE PROCEDURE sp1()
8976 BEGIN
8977     declare day_microsecond char;
8978 END//
8979 delimiter ;//
8981 --disable_warnings
8982 DROP PROCEDURE IF EXISTS sp1;
8983 --enable_warnings
8985 delimiter //;
8986 --error ER_PARSE_ERROR
8987 CREATE PROCEDURE sp1()
8988 BEGIN
8989     declare day_minute char;
8990 END//
8991 delimiter ;//
8993 --disable_warnings
8994 DROP PROCEDURE IF EXISTS sp1;
8995 --enable_warnings
8997 delimiter //;
8998 --error ER_PARSE_ERROR
8999 CREATE PROCEDURE sp1()
9000 BEGIN
9001     declare day_second char;
9002 END//
9003 delimiter ;//
9005 --disable_warnings
9006 DROP PROCEDURE IF EXISTS sp1;
9007 --enable_warnings
9009 delimiter //;
9010 --error ER_PARSE_ERROR
9011 CREATE PROCEDURE sp1()
9012 BEGIN
9013     declare dec char;
9014 END//
9015 delimiter ;//
9017 --disable_warnings
9018 DROP PROCEDURE IF EXISTS sp1;
9019 --enable_warnings
9021 delimiter //;
9022 --error ER_PARSE_ERROR
9023 CREATE PROCEDURE sp1()
9024 BEGIN
9025     declare decimal char;
9026 END//
9027 delimiter ;//
9029 --disable_warnings
9030 DROP PROCEDURE IF EXISTS sp1;
9031 --enable_warnings
9033 delimiter //;
9034 --error ER_PARSE_ERROR
9035 CREATE PROCEDURE sp1()
9036 BEGIN
9037     declare declare char;
9038 END//
9039 delimiter ;//
9041 --disable_warnings
9042 DROP PROCEDURE IF EXISTS sp1;
9043 --enable_warnings
9045 delimiter //;
9046 --error ER_PARSE_ERROR
9047 CREATE PROCEDURE sp1()
9048 BEGIN
9049     declare default char;
9050 END//
9051 delimiter ;//
9053 --disable_warnings
9054 DROP PROCEDURE IF EXISTS sp1;
9055 --enable_warnings
9057 delimiter //;
9058 --error ER_PARSE_ERROR
9059 CREATE PROCEDURE sp1()
9060 BEGIN
9061     declare delayed char;
9062 END//
9063 delimiter ;//
9065 --disable_warnings
9066 DROP PROCEDURE IF EXISTS sp1;
9067 --enable_warnings
9069 delimiter //;
9070 --error ER_PARSE_ERROR
9071 CREATE PROCEDURE sp1()
9072 BEGIN
9073     declare delete char;
9074 END//
9075 delimiter ;//
9077 --disable_warnings
9078 DROP PROCEDURE IF EXISTS sp1;
9079 --enable_warnings
9081 delimiter //;
9082 --error ER_PARSE_ERROR
9083 CREATE PROCEDURE sp1()
9084 BEGIN
9085     declare desc char;
9086 END//
9087 delimiter ;//
9089 --disable_warnings
9090 DROP PROCEDURE IF EXISTS sp1;
9091 --enable_warnings
9093 delimiter //;
9094 --error ER_PARSE_ERROR
9095 CREATE PROCEDURE sp1()
9096 BEGIN
9097     declare describe char;
9098 END//
9099 delimiter ;//
9101 --disable_warnings
9102 DROP PROCEDURE IF EXISTS sp1;
9103 --enable_warnings
9105 delimiter //;
9106 --error ER_PARSE_ERROR
9107 CREATE PROCEDURE sp1()
9108 BEGIN
9109     declare deterministic char;
9110 END//
9111 delimiter ;//
9113 --disable_warnings
9114 DROP PROCEDURE IF EXISTS sp1;
9115 --enable_warnings
9117 delimiter //;
9118 --error ER_PARSE_ERROR
9119 CREATE PROCEDURE sp1()
9120 BEGIN
9121     declare distinct char;
9122 END//
9123 delimiter ;//
9125 --disable_warnings
9126 DROP PROCEDURE IF EXISTS sp1;
9127 --enable_warnings
9129 delimiter //;
9130 --error ER_PARSE_ERROR
9131 CREATE PROCEDURE sp1()
9132 BEGIN
9133     declare distinctrow char;
9134 END//
9135 delimiter ;//
9137 --disable_warnings
9138 DROP PROCEDURE IF EXISTS sp1;
9139 --enable_warnings
9141 delimiter //;
9142 --error ER_PARSE_ERROR
9143 CREATE PROCEDURE sp1()
9144 BEGIN
9145     declare div char;
9146 END//
9147 delimiter ;//
9149 --disable_warnings
9150 DROP PROCEDURE IF EXISTS sp1;
9151 --enable_warnings
9153 delimiter //;
9154 --error ER_PARSE_ERROR
9155 CREATE PROCEDURE sp1()
9156 BEGIN
9157     declare double char;
9158 END//
9159 delimiter ;//
9161 --disable_warnings
9162 DROP PROCEDURE IF EXISTS sp1;
9163 --enable_warnings
9165 delimiter //;
9166 --error ER_PARSE_ERROR
9167 CREATE PROCEDURE sp1()
9168 BEGIN
9169     declare drop char;
9170 END//
9171 delimiter ;//
9173 --disable_warnings
9174 DROP PROCEDURE IF EXISTS sp1;
9175 --enable_warnings
9177 delimiter //;
9178 --error ER_PARSE_ERROR
9179 CREATE PROCEDURE sp1()
9180 BEGIN
9181     declare dual char;
9182 END//
9183 delimiter ;//
9185 --disable_warnings
9186 DROP PROCEDURE IF EXISTS sp1;
9187 --enable_warnings
9189 delimiter //;
9190 --error ER_PARSE_ERROR
9191 CREATE PROCEDURE sp1()
9192 BEGIN
9193     declare each char;
9194 END//
9195 delimiter ;//
9197 --disable_warnings
9198 DROP PROCEDURE IF EXISTS sp1;
9199 --enable_warnings
9201 delimiter //;
9202 --error ER_PARSE_ERROR
9203 CREATE PROCEDURE sp1()
9204 BEGIN
9205     declare else char;
9206 END//
9207 delimiter ;//
9209 --disable_warnings
9210 DROP PROCEDURE IF EXISTS sp1;
9211 --enable_warnings
9213 delimiter //;
9214 --error ER_PARSE_ERROR
9215 CREATE PROCEDURE sp1()
9216 BEGIN
9217     declare elseif char;
9218 END//
9219 delimiter ;//
9221 --disable_warnings
9222 DROP PROCEDURE IF EXISTS sp1;
9223 --enable_warnings
9225 delimiter //;
9226 --error ER_PARSE_ERROR
9227 CREATE PROCEDURE sp1()
9228 BEGIN
9229     declare enclosed char;
9230 END//
9231 delimiter ;//
9233 --disable_warnings
9234 DROP PROCEDURE IF EXISTS sp1;
9235 --enable_warnings
9237 delimiter //;
9238 --error ER_PARSE_ERROR
9239 CREATE PROCEDURE sp1()
9240 BEGIN
9241     declare escaped char;
9242 END//
9243 delimiter ;//
9245 --disable_warnings
9246 DROP PROCEDURE IF EXISTS sp1;
9247 --enable_warnings
9249 delimiter //;
9250 --error ER_PARSE_ERROR
9251 CREATE PROCEDURE sp1()
9252 BEGIN
9253     declare exists char;
9254 END//
9255 delimiter ;//
9257 --disable_warnings
9258 DROP PROCEDURE IF EXISTS sp1;
9259 --enable_warnings
9261 delimiter //;
9262 --error ER_PARSE_ERROR
9263 CREATE PROCEDURE sp1()
9264 BEGIN
9265     declare exit char;
9266 END//
9267 delimiter ;//
9269 --disable_warnings
9270 DROP PROCEDURE IF EXISTS sp1;
9271 --enable_warnings
9273 delimiter //;
9274 --error ER_PARSE_ERROR
9275 CREATE PROCEDURE sp1()
9276 BEGIN
9277     declare explain char;
9278 END//
9279 delimiter ;//
9281 --disable_warnings
9282 DROP PROCEDURE IF EXISTS sp1;
9283 --enable_warnings
9285 delimiter //;
9286 --error ER_PARSE_ERROR
9287 CREATE PROCEDURE sp1()
9288 BEGIN
9289     declare false char;
9290 END//
9291 delimiter ;//
9293 --disable_warnings
9294 DROP PROCEDURE IF EXISTS sp1;
9295 --enable_warnings
9297 delimiter //;
9298 --error ER_PARSE_ERROR
9299 CREATE PROCEDURE sp1()
9300 BEGIN
9301     declare fetch char;
9302 END//
9303 delimiter ;//
9305 --disable_warnings
9306 DROP PROCEDURE IF EXISTS sp1;
9307 --enable_warnings
9309 delimiter //;
9310 --error ER_PARSE_ERROR
9311 CREATE PROCEDURE sp1()
9312 BEGIN
9313     declare float char;
9314 END//
9315 delimiter ;//
9317 --disable_warnings
9318 DROP PROCEDURE IF EXISTS sp1;
9319 --enable_warnings
9321 delimiter //;
9322 --error ER_PARSE_ERROR
9323 CREATE PROCEDURE sp1()
9324 BEGIN
9325     declare float4 char;
9326 END//
9327 delimiter ;//
9329 --disable_warnings
9330 DROP PROCEDURE IF EXISTS sp1;
9331 --enable_warnings
9333 delimiter //;
9334 --error ER_PARSE_ERROR
9335 CREATE PROCEDURE sp1()
9336 BEGIN
9337     declare float8 char;
9338 END//
9339 delimiter ;//
9341 --disable_warnings
9342 DROP PROCEDURE IF EXISTS sp1;
9343 --enable_warnings
9345 delimiter //;
9346 --error ER_PARSE_ERROR
9347 CREATE PROCEDURE sp1()
9348 BEGIN
9349     declare for char;
9350 END//
9351 delimiter ;//
9353 --disable_warnings
9354 DROP PROCEDURE IF EXISTS sp1;
9355 --enable_warnings
9357 delimiter //;
9358 --error ER_PARSE_ERROR
9359 CREATE PROCEDURE sp1()
9360 BEGIN
9361     declare force char;
9362 END//
9363 delimiter ;//
9365 --disable_warnings
9366 DROP PROCEDURE IF EXISTS sp1;
9367 --enable_warnings
9369 delimiter //;
9370 --error ER_PARSE_ERROR
9371 CREATE PROCEDURE sp1()
9372 BEGIN
9373     declare foreign char;
9374 END//
9375 delimiter ;//
9377 --disable_warnings
9378 DROP PROCEDURE IF EXISTS sp1;
9379 --enable_warnings
9381 delimiter //;
9382 --error ER_PARSE_ERROR
9383 CREATE PROCEDURE sp1()
9384 BEGIN
9385     declare from char;
9386 END//
9387 delimiter ;//
9389 --disable_warnings
9390 DROP PROCEDURE IF EXISTS sp1;
9391 --enable_warnings
9393 delimiter //;
9394 --error ER_PARSE_ERROR
9395 CREATE PROCEDURE sp1()
9396 BEGIN
9397     declare fulltext char;
9398 END//
9399 delimiter ;//
9401 --disable_warnings
9402 DROP PROCEDURE IF EXISTS sp1;
9403 --enable_warnings
9405 delimiter //;
9406 --error ER_PARSE_ERROR
9407 CREATE PROCEDURE sp1()
9408 BEGIN
9409     declare grant char;
9410 END//
9411 delimiter ;//
9413 --disable_warnings
9414 DROP PROCEDURE IF EXISTS sp1;
9415 --enable_warnings
9417 delimiter //;
9418 --error ER_PARSE_ERROR
9419 CREATE PROCEDURE sp1()
9420 BEGIN
9421     declare group char;
9422 END//
9423 delimiter ;//
9425 --disable_warnings
9426 DROP PROCEDURE IF EXISTS sp1;
9427 --enable_warnings
9429 delimiter //;
9430 --error ER_PARSE_ERROR
9431 CREATE PROCEDURE sp1()
9432 BEGIN
9433     declare having char;
9434 END//
9435 delimiter ;//
9437 --disable_warnings
9438 DROP PROCEDURE IF EXISTS sp1;
9439 --enable_warnings
9441 delimiter //;
9442 --error ER_PARSE_ERROR
9443 CREATE PROCEDURE sp1()
9444 BEGIN
9445     declare high_priority char;
9446 END//
9447 delimiter ;//
9449 --disable_warnings
9450 DROP PROCEDURE IF EXISTS sp1;
9451 --enable_warnings
9453 delimiter //;
9454 --error ER_PARSE_ERROR
9455 CREATE PROCEDURE sp1()
9456 BEGIN
9457     declare hour_microsecond char;
9458 END//
9459 delimiter ;//
9461 --disable_warnings
9462 DROP PROCEDURE IF EXISTS sp1;
9463 --enable_warnings
9465 delimiter //;
9466 --error ER_PARSE_ERROR
9467 CREATE PROCEDURE sp1()
9468 BEGIN
9469     declare hour_minute char;
9470 END//
9471 delimiter ;//
9473 --disable_warnings
9474 DROP PROCEDURE IF EXISTS sp1;
9475 --enable_warnings
9477 delimiter //;
9478 --error ER_PARSE_ERROR
9479 CREATE PROCEDURE sp1()
9480 BEGIN
9481     declare hour_second char;
9482 END//
9483 delimiter ;//
9485 --disable_warnings
9486 DROP PROCEDURE IF EXISTS sp1;
9487 --enable_warnings
9489 delimiter //;
9490 --error ER_PARSE_ERROR
9491 CREATE PROCEDURE sp1()
9492 BEGIN
9493     declare if char;
9494 END//
9495 delimiter ;//
9497 --disable_warnings
9498 DROP PROCEDURE IF EXISTS sp1;
9499 --enable_warnings
9501 delimiter //;
9502 --error ER_PARSE_ERROR
9503 CREATE PROCEDURE sp1()
9504 BEGIN
9505     declare ignore char;
9506 END//
9507 delimiter ;//
9509 --disable_warnings
9510 DROP PROCEDURE IF EXISTS sp1;
9511 --enable_warnings
9513 delimiter //;
9514 --error ER_PARSE_ERROR
9515 CREATE PROCEDURE sp1()
9516 BEGIN
9517     declare in char;
9518 END//
9519 delimiter ;//
9521 --disable_warnings
9522 DROP PROCEDURE IF EXISTS sp1;
9523 --enable_warnings
9525 delimiter //;
9526 --error ER_PARSE_ERROR
9527 CREATE PROCEDURE sp1()
9528 BEGIN
9529     declare index char;
9530 END//
9531 delimiter ;//
9533 --disable_warnings
9534 DROP PROCEDURE IF EXISTS sp1;
9535 --enable_warnings
9537 delimiter //;
9538 --error ER_PARSE_ERROR
9539 CREATE PROCEDURE sp1()
9540 BEGIN
9541     declare infile char;
9542 END//
9543 delimiter ;//
9545 --disable_warnings
9546 DROP PROCEDURE IF EXISTS sp1;
9547 --enable_warnings
9549 delimiter //;
9550 --error ER_PARSE_ERROR
9551 CREATE PROCEDURE sp1()
9552 BEGIN
9553     declare inner char;
9554 END//
9555 delimiter ;//
9557 --disable_warnings
9558 DROP PROCEDURE IF EXISTS sp1;
9559 --enable_warnings
9561 delimiter //;
9562 --error ER_PARSE_ERROR
9563 CREATE PROCEDURE sp1()
9564 BEGIN
9565     declare inout char;
9566 END//
9567 delimiter ;//
9569 --disable_warnings
9570 DROP PROCEDURE IF EXISTS sp1;
9571 --enable_warnings
9573 delimiter //;
9574 --error ER_PARSE_ERROR
9575 CREATE PROCEDURE sp1()
9576 BEGIN
9577     declare insensitive char;
9578 END//
9579 delimiter ;//
9581 --disable_warnings
9582 DROP PROCEDURE IF EXISTS sp1;
9583 --enable_warnings
9585 delimiter //;
9586 --error ER_PARSE_ERROR
9587 CREATE PROCEDURE sp1()
9588 BEGIN
9589     declare insert char;
9590 END//
9591 delimiter ;//
9593 --disable_warnings
9594 DROP PROCEDURE IF EXISTS sp1;
9595 --enable_warnings
9597 delimiter //;
9598 --error ER_PARSE_ERROR
9599 CREATE PROCEDURE sp1()
9600 BEGIN
9601     declare int char;
9602 END//
9603 delimiter ;//
9605 --disable_warnings
9606 DROP PROCEDURE IF EXISTS sp1;
9607 --enable_warnings
9609 delimiter //;
9610 --error ER_PARSE_ERROR
9611 CREATE PROCEDURE sp1()
9612 BEGIN
9613     declare int1 char;
9614 END//
9615 delimiter ;//
9617 --disable_warnings
9618 DROP PROCEDURE IF EXISTS sp1;
9619 --enable_warnings
9621 delimiter //;
9622 --error ER_PARSE_ERROR
9623 CREATE PROCEDURE sp1()
9624 BEGIN
9625     declare int2 char;
9626 END//
9627 delimiter ;//
9629 --disable_warnings
9630 DROP PROCEDURE IF EXISTS sp1;
9631 --enable_warnings
9633 delimiter //;
9634 --error ER_PARSE_ERROR
9635 CREATE PROCEDURE sp1()
9636 BEGIN
9637     declare int3 char;
9638 END//
9639 delimiter ;//
9641 --disable_warnings
9642 DROP PROCEDURE IF EXISTS sp1;
9643 --enable_warnings
9645 delimiter //;
9646 --error ER_PARSE_ERROR
9647 CREATE PROCEDURE sp1()
9648 BEGIN
9649     declare int4 char;
9650 END//
9651 delimiter ;//
9653 --disable_warnings
9654 DROP PROCEDURE IF EXISTS sp1;
9655 --enable_warnings
9657 delimiter //;
9658 --error ER_PARSE_ERROR
9659 CREATE PROCEDURE sp1()
9660 BEGIN
9661     declare int8 char;
9662 END//
9663 delimiter ;//
9665 --disable_warnings
9666 DROP PROCEDURE IF EXISTS sp1;
9667 --enable_warnings
9669 delimiter //;
9670 --error ER_PARSE_ERROR
9671 CREATE PROCEDURE sp1()
9672 BEGIN
9673     declare integer char;
9674 END//
9675 delimiter ;//
9677 --disable_warnings
9678 DROP PROCEDURE IF EXISTS sp1;
9679 --enable_warnings
9681 delimiter //;
9682 --error ER_PARSE_ERROR
9683 CREATE PROCEDURE sp1()
9684 BEGIN
9685     declare interval char;
9686 END//
9687 delimiter ;//
9689 --disable_warnings
9690 DROP PROCEDURE IF EXISTS sp1;
9691 --enable_warnings
9693 delimiter //;
9694 --error ER_PARSE_ERROR
9695 CREATE PROCEDURE sp1()
9696 BEGIN
9697     declare into char;
9698 END//
9699 delimiter ;//
9701 --disable_warnings
9702 DROP PROCEDURE IF EXISTS sp1;
9703 --enable_warnings
9705 delimiter //;
9706 --error ER_PARSE_ERROR
9707 CREATE PROCEDURE sp1()
9708 BEGIN
9709     declare is char;
9710 END//
9711 delimiter ;//
9713 --disable_warnings
9714 DROP PROCEDURE IF EXISTS sp1;
9715 --enable_warnings
9717 delimiter //;
9718 --error ER_PARSE_ERROR
9719 CREATE PROCEDURE sp1()
9720 BEGIN
9721     declare iterate char;
9722 END//
9723 delimiter ;//
9725 --disable_warnings
9726 DROP PROCEDURE IF EXISTS sp1;
9727 --enable_warnings
9729 delimiter //;
9730 --error ER_PARSE_ERROR
9731 CREATE PROCEDURE sp1()
9732 BEGIN
9733     declare join char;
9734 END//
9735 delimiter ;//
9737 --disable_warnings
9738 DROP PROCEDURE IF EXISTS sp1;
9739 --enable_warnings
9741 delimiter //;
9742 --error ER_PARSE_ERROR
9743 CREATE PROCEDURE sp1()
9744 BEGIN
9745     declare key char;
9746 END//
9747 delimiter ;//
9749 --disable_warnings
9750 DROP PROCEDURE IF EXISTS sp1;
9751 --enable_warnings
9753 delimiter //;
9754 --error ER_PARSE_ERROR
9755 CREATE PROCEDURE sp1()
9756 BEGIN
9757     declare keys char;
9758 END//
9759 delimiter ;//
9761 --disable_warnings
9762 DROP PROCEDURE IF EXISTS sp1;
9763 --enable_warnings
9765 delimiter //;
9766 --error ER_PARSE_ERROR
9767 CREATE PROCEDURE sp1()
9768 BEGIN
9769     declare kill char;
9770 END//
9771 delimiter ;//
9773 --disable_warnings
9774 DROP PROCEDURE IF EXISTS sp1;
9775 --enable_warnings
9777 delimiter //;
9778 --error ER_PARSE_ERROR
9779 CREATE PROCEDURE sp1()
9780 BEGIN
9781     declare leading char;
9782 END//
9783 delimiter ;//
9785 --disable_warnings
9786 DROP PROCEDURE IF EXISTS sp1;
9787 --enable_warnings
9789 delimiter //;
9790 --error ER_PARSE_ERROR
9791 CREATE PROCEDURE sp1()
9792 BEGIN
9793     declare leave char;
9794 END//
9795 delimiter ;//
9797 --disable_warnings
9798 DROP PROCEDURE IF EXISTS sp1;
9799 --enable_warnings
9801 delimiter //;
9802 --error ER_PARSE_ERROR
9803 CREATE PROCEDURE sp1()
9804 BEGIN
9805     declare left char;
9806 END//
9807 delimiter ;//
9809 --disable_warnings
9810 DROP PROCEDURE IF EXISTS sp1;
9811 --enable_warnings
9813 delimiter //;
9814 --error ER_PARSE_ERROR
9815 CREATE PROCEDURE sp1()
9816 BEGIN
9817     declare like char;
9818 END//
9819 delimiter ;//
9821 --disable_warnings
9822 DROP PROCEDURE IF EXISTS sp1;
9823 --enable_warnings
9825 delimiter //;
9826 --error ER_PARSE_ERROR
9827 CREATE PROCEDURE sp1()
9828 BEGIN
9829     declare limit char;
9830 END//
9831 delimiter ;//
9833 --disable_warnings
9834 DROP PROCEDURE IF EXISTS sp1;
9835 --enable_warnings
9837 delimiter //;
9838 --error ER_PARSE_ERROR
9839 CREATE PROCEDURE sp1()
9840 BEGIN
9841     declare linear char;
9842 END//
9843 delimiter ;//
9845 --disable_warnings
9846 DROP PROCEDURE IF EXISTS sp1;
9847 --enable_warnings
9849 delimiter //;
9850 --error ER_PARSE_ERROR
9851 CREATE PROCEDURE sp1()
9852 BEGIN
9853     declare lines char;
9854 END//
9855 delimiter ;//
9857 --disable_warnings
9858 DROP PROCEDURE IF EXISTS sp1;
9859 --enable_warnings
9861 delimiter //;
9862 --error ER_PARSE_ERROR
9863 CREATE PROCEDURE sp1()
9864 BEGIN
9865     declare load char;
9866 END//
9867 delimiter ;//
9869 --disable_warnings
9870 DROP PROCEDURE IF EXISTS sp1;
9871 --enable_warnings
9873 delimiter //;
9874 --error ER_PARSE_ERROR
9875 CREATE PROCEDURE sp1()
9876 BEGIN
9877     declare localtime char;
9878 END//
9879 delimiter ;//
9881 --disable_warnings
9882 DROP PROCEDURE IF EXISTS sp1;
9883 --enable_warnings
9885 delimiter //;
9886 --error ER_PARSE_ERROR
9887 CREATE PROCEDURE sp1()
9888 BEGIN
9889     declare localtimestamp char;
9890 END//
9891 delimiter ;//
9893 --disable_warnings
9894 DROP PROCEDURE IF EXISTS sp1;
9895 --enable_warnings
9897 delimiter //;
9898 --error ER_PARSE_ERROR
9899 CREATE PROCEDURE sp1()
9900 BEGIN
9901     declare lock char;
9902 END//
9903 delimiter ;//
9905 --disable_warnings
9906 DROP PROCEDURE IF EXISTS sp1;
9907 --enable_warnings
9909 delimiter //;
9910 --error ER_PARSE_ERROR
9911 CREATE PROCEDURE sp1()
9912 BEGIN
9913     declare long char;
9914 END//
9915 delimiter ;//
9917 --disable_warnings
9918 DROP PROCEDURE IF EXISTS sp1;
9919 --enable_warnings
9921 delimiter //;
9922 --error ER_PARSE_ERROR
9923 CREATE PROCEDURE sp1()
9924 BEGIN
9925     declare longblob char;
9926 END//
9927 delimiter ;//
9929 --disable_warnings
9930 DROP PROCEDURE IF EXISTS sp1;
9931 --enable_warnings
9933 delimiter //;
9934 --error ER_PARSE_ERROR
9935 CREATE PROCEDURE sp1()
9936 BEGIN
9937     declare longtext char;
9938 END//
9939 delimiter ;//
9941 --disable_warnings
9942 DROP PROCEDURE IF EXISTS sp1;
9943 --enable_warnings
9945 delimiter //;
9946 --error ER_PARSE_ERROR
9947 CREATE PROCEDURE sp1()
9948 BEGIN
9949     declare loop char;
9950 END//
9951 delimiter ;//
9953 --disable_warnings
9954 DROP PROCEDURE IF EXISTS sp1;
9955 --enable_warnings
9957 delimiter //;
9958 --error ER_PARSE_ERROR
9959 CREATE PROCEDURE sp1()
9960 BEGIN
9961     declare low_priority char;
9962 END//
9963 delimiter ;//
9965 --disable_warnings
9966 DROP PROCEDURE IF EXISTS sp1;
9967 --enable_warnings
9969 delimiter //;
9970 --error ER_PARSE_ERROR
9971 CREATE PROCEDURE sp1()
9972 BEGIN
9973     declare master_ssl_verify_server_cert char;
9974 END//
9975 delimiter ;//
9977 --disable_warnings
9978 DROP PROCEDURE IF EXISTS sp1;
9979 --enable_warnings
9981 delimiter //;
9982 --error ER_PARSE_ERROR
9983 CREATE PROCEDURE sp1()
9984 BEGIN
9985     declare match char;
9986 END//
9987 delimiter ;//
9989 --disable_warnings
9990 DROP PROCEDURE IF EXISTS sp1;
9991 --enable_warnings
9993 delimiter //;
9994 --error ER_PARSE_ERROR
9995 CREATE PROCEDURE sp1()
9996 BEGIN
9997     declare mediumblob char;
9998 END//
9999 delimiter ;//
10001 --disable_warnings
10002 DROP PROCEDURE IF EXISTS sp1;
10003 --enable_warnings
10005 delimiter //;
10006 --error ER_PARSE_ERROR
10007 CREATE PROCEDURE sp1()
10008 BEGIN
10009     declare mediumint char;
10010 END//
10011 delimiter ;//
10013 --disable_warnings
10014 DROP PROCEDURE IF EXISTS sp1;
10015 --enable_warnings
10017 delimiter //;
10018 --error ER_PARSE_ERROR
10019 CREATE PROCEDURE sp1()
10020 BEGIN
10021     declare mediumtext char;
10022 END//
10023 delimiter ;//
10025 --disable_warnings
10026 DROP PROCEDURE IF EXISTS sp1;
10027 --enable_warnings
10029 delimiter //;
10030 --error ER_PARSE_ERROR
10031 CREATE PROCEDURE sp1()
10032 BEGIN
10033     declare middleint char;
10034 END//
10035 delimiter ;//
10037 --disable_warnings
10038 DROP PROCEDURE IF EXISTS sp1;
10039 --enable_warnings
10041 delimiter //;
10042 --error ER_PARSE_ERROR
10043 CREATE PROCEDURE sp1()
10044 BEGIN
10045     declare minute_microsecond char;
10046 END//
10047 delimiter ;//
10049 --disable_warnings
10050 DROP PROCEDURE IF EXISTS sp1;
10051 --enable_warnings
10053 delimiter //;
10054 --error ER_PARSE_ERROR
10055 CREATE PROCEDURE sp1()
10056 BEGIN
10057     declare minute_second char;
10058 END//
10059 delimiter ;//
10061 --disable_warnings
10062 DROP PROCEDURE IF EXISTS sp1;
10063 --enable_warnings
10065 delimiter //;
10066 --error ER_PARSE_ERROR
10067 CREATE PROCEDURE sp1()
10068 BEGIN
10069     declare mod char;
10070 END//
10071 delimiter ;//
10073 --disable_warnings
10074 DROP PROCEDURE IF EXISTS sp1;
10075 --enable_warnings
10077 delimiter //;
10078 --error ER_PARSE_ERROR
10079 CREATE PROCEDURE sp1()
10080 BEGIN
10081     declare modifies char;
10082 END//
10083 delimiter ;//
10085 --disable_warnings
10086 DROP PROCEDURE IF EXISTS sp1;
10087 --enable_warnings
10089 delimiter //;
10090 --error ER_PARSE_ERROR
10091 CREATE PROCEDURE sp1()
10092 BEGIN
10093     declare natural char;
10094 END//
10095 delimiter ;//
10097 --disable_warnings
10098 DROP PROCEDURE IF EXISTS sp1;
10099 --enable_warnings
10101 delimiter //;
10102 --error ER_PARSE_ERROR
10103 CREATE PROCEDURE sp1()
10104 BEGIN
10105     declare not char;
10106 END//
10107 delimiter ;//
10109 --disable_warnings
10110 DROP PROCEDURE IF EXISTS sp1;
10111 --enable_warnings
10113 delimiter //;
10114 --error ER_PARSE_ERROR
10115 CREATE PROCEDURE sp1()
10116 BEGIN
10117     declare no_write_to_binlog char;
10118 END//
10119 delimiter ;//
10121 --disable_warnings
10122 DROP PROCEDURE IF EXISTS sp1;
10123 --enable_warnings
10125 delimiter //;
10126 --error ER_PARSE_ERROR
10127 CREATE PROCEDURE sp1()
10128 BEGIN
10129     declare null char;
10130 END//
10131 delimiter ;//
10133 --disable_warnings
10134 DROP PROCEDURE IF EXISTS sp1;
10135 --enable_warnings
10137 delimiter //;
10138 --error ER_PARSE_ERROR
10139 CREATE PROCEDURE sp1()
10140 BEGIN
10141     declare numeric char;
10142 END//
10143 delimiter ;//
10145 --disable_warnings
10146 DROP PROCEDURE IF EXISTS sp1;
10147 --enable_warnings
10149 delimiter //;
10150 --error ER_PARSE_ERROR
10151 CREATE PROCEDURE sp1()
10152 BEGIN
10153     declare on char;
10154 END//
10155 delimiter ;//
10157 --disable_warnings
10158 DROP PROCEDURE IF EXISTS sp1;
10159 --enable_warnings
10161 delimiter //;
10162 --error ER_PARSE_ERROR
10163 CREATE PROCEDURE sp1()
10164 BEGIN
10165     declare optimize char;
10166 END//
10167 delimiter ;//
10169 --disable_warnings
10170 DROP PROCEDURE IF EXISTS sp1;
10171 --enable_warnings
10173 delimiter //;
10174 --error ER_PARSE_ERROR
10175 CREATE PROCEDURE sp1()
10176 BEGIN
10177     declare option char;
10178 END//
10179 delimiter ;//
10181 --disable_warnings
10182 DROP PROCEDURE IF EXISTS sp1;
10183 --enable_warnings
10185 delimiter //;
10186 --error ER_PARSE_ERROR
10187 CREATE PROCEDURE sp1()
10188 BEGIN
10189     declare optionally char;
10190 END//
10191 delimiter ;//
10193 --disable_warnings
10194 DROP PROCEDURE IF EXISTS sp1;
10195 --enable_warnings
10197 delimiter //;
10198 --error ER_PARSE_ERROR
10199 CREATE PROCEDURE sp1()
10200 BEGIN
10201     declare or char;
10202 END//
10203 delimiter ;//
10205 --disable_warnings
10206 DROP PROCEDURE IF EXISTS sp1;
10207 --enable_warnings
10209 delimiter //;
10210 --error ER_PARSE_ERROR
10211 CREATE PROCEDURE sp1()
10212 BEGIN
10213     declare order char;
10214 END//
10215 delimiter ;//
10217 --disable_warnings
10218 DROP PROCEDURE IF EXISTS sp1;
10219 --enable_warnings
10221 delimiter //;
10222 --error ER_PARSE_ERROR
10223 CREATE PROCEDURE sp1()
10224 BEGIN
10225     declare out char;
10226 END//
10227 delimiter ;//
10229 --disable_warnings
10230 DROP PROCEDURE IF EXISTS sp1;
10231 --enable_warnings
10233 delimiter //;
10234 --error ER_PARSE_ERROR
10235 CREATE PROCEDURE sp1()
10236 BEGIN
10237     declare outer char;
10238 END//
10239 delimiter ;//
10241 --disable_warnings
10242 DROP PROCEDURE IF EXISTS sp1;
10243 --enable_warnings
10245 delimiter //;
10246 --error ER_PARSE_ERROR
10247 CREATE PROCEDURE sp1()
10248 BEGIN
10249     declare outfile char;
10250 END//
10251 delimiter ;//
10253 --disable_warnings
10254 DROP PROCEDURE IF EXISTS sp1;
10255 --enable_warnings
10257 delimiter //;
10258 --error ER_PARSE_ERROR
10259 CREATE PROCEDURE sp1()
10260 BEGIN
10261     declare precision char;
10262 END//
10263 delimiter ;//
10265 --disable_warnings
10266 DROP PROCEDURE IF EXISTS sp1;
10267 --enable_warnings
10269 delimiter //;
10270 --error ER_PARSE_ERROR
10271 CREATE PROCEDURE sp1()
10272 BEGIN
10273     declare primary char;
10274 END//
10275 delimiter ;//
10277 --disable_warnings
10278 DROP PROCEDURE IF EXISTS sp1;
10279 --enable_warnings
10281 delimiter //;
10282 --error ER_PARSE_ERROR
10283 CREATE PROCEDURE sp1()
10284 BEGIN
10285     declare procedure char;
10286 END//
10287 delimiter ;//
10289 --disable_warnings
10290 DROP PROCEDURE IF EXISTS sp1;
10291 --enable_warnings
10293 delimiter //;
10294 --error ER_PARSE_ERROR
10295 CREATE PROCEDURE sp1()
10296 BEGIN
10297     declare purge char;
10298 END//
10299 delimiter ;//
10301 --disable_warnings
10302 DROP PROCEDURE IF EXISTS sp1;
10303 --enable_warnings
10305 delimiter //;
10306 --error ER_PARSE_ERROR
10307 CREATE PROCEDURE sp1()
10308 BEGIN
10309     declare range char;
10310 END//
10311 delimiter ;//
10313 --disable_warnings
10314 DROP PROCEDURE IF EXISTS sp1;
10315 --enable_warnings
10317 delimiter //;
10318 --error ER_PARSE_ERROR
10319 CREATE PROCEDURE sp1()
10320 BEGIN
10321     declare read char;
10322 END//
10323 delimiter ;//
10325 --disable_warnings
10326 DROP PROCEDURE IF EXISTS sp1;
10327 --enable_warnings
10329 delimiter //;
10330 --error ER_PARSE_ERROR
10331 CREATE PROCEDURE sp1()
10332 BEGIN
10333     declare reads char;
10334 END//
10335 delimiter ;//
10337 --disable_warnings
10338 DROP PROCEDURE IF EXISTS sp1;
10339 --enable_warnings
10341 delimiter //;
10342 # FIXME 31947
10343 #--error ER_PARSE_ERROR
10344 CREATE PROCEDURE sp1()
10345 BEGIN
10346     declare read_only char;
10347 END//
10348 delimiter ;//
10350 --disable_warnings
10351 DROP PROCEDURE IF EXISTS sp1;
10352 --enable_warnings
10354 delimiter //;
10355 --error ER_PARSE_ERROR
10356 CREATE PROCEDURE sp1()
10357 BEGIN
10358     declare read_write char;
10359 END//
10360 delimiter ;//
10362 --disable_warnings
10363 DROP PROCEDURE IF EXISTS sp1;
10364 --enable_warnings
10366 delimiter //;
10367 --error ER_PARSE_ERROR
10368 CREATE PROCEDURE sp1()
10369 BEGIN
10370     declare real char;
10371 END//
10372 delimiter ;//
10374 --disable_warnings
10375 DROP PROCEDURE IF EXISTS sp1;
10376 --enable_warnings
10378 delimiter //;
10379 --error ER_PARSE_ERROR
10380 CREATE PROCEDURE sp1()
10381 BEGIN
10382     declare references char;
10383 END//
10384 delimiter ;//
10386 --disable_warnings
10387 DROP PROCEDURE IF EXISTS sp1;
10388 --enable_warnings
10390 delimiter //;
10391 --error ER_PARSE_ERROR
10392 CREATE PROCEDURE sp1()
10393 BEGIN
10394     declare regexp char;
10395 END//
10396 delimiter ;//
10398 --disable_warnings
10399 DROP PROCEDURE IF EXISTS sp1;
10400 --enable_warnings
10402 delimiter //;
10403 --error ER_PARSE_ERROR
10404 CREATE PROCEDURE sp1()
10405 BEGIN
10406     declare release char;
10407 END//
10408 delimiter ;//
10410 --disable_warnings
10411 DROP PROCEDURE IF EXISTS sp1;
10412 --enable_warnings
10414 delimiter //;
10415 --error ER_PARSE_ERROR
10416 CREATE PROCEDURE sp1()
10417 BEGIN
10418     declare rename char;
10419 END//
10420 delimiter ;//
10422 --disable_warnings
10423 DROP PROCEDURE IF EXISTS sp1;
10424 --enable_warnings
10426 delimiter //;
10427 --error ER_PARSE_ERROR
10428 CREATE PROCEDURE sp1()
10429 BEGIN
10430     declare repeat char;
10431 END//
10432 delimiter ;//
10434 --disable_warnings
10435 DROP PROCEDURE IF EXISTS sp1;
10436 --enable_warnings
10438 delimiter //;
10439 --error ER_PARSE_ERROR
10440 CREATE PROCEDURE sp1()
10441 BEGIN
10442     declare replace char;
10443 END//
10444 delimiter ;//
10445 DROP PROCEDURE IF EXISTS sp1;
10447 delimiter //;
10448 --error ER_PARSE_ERROR
10449 CREATE PROCEDURE sp1()
10450 BEGIN
10451    declare require char;
10452 END//
10453 delimiter ;//
10454 DROP PROCEDURE IF EXISTS sp1;
10456 delimiter //;
10457 --error ER_PARSE_ERROR
10458 CREATE PROCEDURE sp1()
10459 BEGIN
10460     declare restrict char;
10461 END//
10462 delimiter ;//
10464 DROP PROCEDURE IF EXISTS sp1;
10466 delimiter //;
10467 --error ER_PARSE_ERROR
10468 CREATE PROCEDURE sp1()
10469 BEGIN
10470     declare return char;
10471 END//
10472 delimiter ;//
10474 DROP PROCEDURE IF EXISTS sp1;
10476 delimiter //;
10477 --error ER_PARSE_ERROR
10478 CREATE PROCEDURE sp1()
10479 BEGIN
10480     declare revoke char;
10481 END//
10482 delimiter ;//
10484 DROP PROCEDURE IF EXISTS sp1;
10486 delimiter //;
10487 --error ER_PARSE_ERROR
10488 CREATE PROCEDURE sp1()
10489 BEGIN
10490     declare right char;
10491 END//
10492 delimiter ;//
10494 DROP PROCEDURE IF EXISTS sp1;
10496 delimiter //;
10497 --error ER_PARSE_ERROR
10498 CREATE PROCEDURE sp1()
10499 BEGIN
10500     declare rlike char;
10501 END//
10502 delimiter ;//
10504 DROP PROCEDURE IF EXISTS sp1;
10506 delimiter //;
10507 --error ER_PARSE_ERROR
10508 CREATE PROCEDURE sp1()
10509 BEGIN
10510     declare schema char;
10511 END//
10512 delimiter ;//
10514 DROP PROCEDURE IF EXISTS sp1;
10516 delimiter //;
10517 --error ER_PARSE_ERROR
10518 CREATE PROCEDURE sp1()
10519 BEGIN
10520     declare schemas char;
10521 END//
10522 delimiter ;//
10524 DROP PROCEDURE IF EXISTS sp1;
10526 delimiter //;
10527 --error ER_PARSE_ERROR
10528 CREATE PROCEDURE sp1()
10529 BEGIN
10530     declare second_microsecond char;
10531 END//
10532 delimiter ;//
10534 DROP PROCEDURE IF EXISTS sp1;
10536 delimiter //;
10537 --error ER_PARSE_ERROR
10538 CREATE PROCEDURE sp1()
10539 BEGIN
10540     declare SELECT char;
10541 END//
10542 delimiter ;//
10544 DROP PROCEDURE IF EXISTS sp1;
10546 delimiter //;
10547 --error ER_PARSE_ERROR
10548 CREATE PROCEDURE sp1()
10549 BEGIN
10550     declare sensitive char;
10551 END//
10552 delimiter ;//
10554 DROP PROCEDURE IF EXISTS sp1;
10556 delimiter //;
10557 --error ER_PARSE_ERROR
10558 CREATE PROCEDURE sp1()
10559 BEGIN
10560     declare separator char;
10561 END//
10562 delimiter ;//
10564 DROP PROCEDURE IF EXISTS sp1;
10566 delimiter //;
10567 --error ER_PARSE_ERROR
10568 CREATE PROCEDURE sp1()
10569 BEGIN
10570     declare set char;
10571 END//
10572 delimiter ;//
10574 DROP PROCEDURE IF EXISTS sp1;
10576 delimiter //;
10577 --error ER_PARSE_ERROR
10578 CREATE PROCEDURE sp1()
10579 BEGIN
10580     declare show char;
10581 END//
10582 delimiter ;//
10584 DROP PROCEDURE IF EXISTS sp1;
10586 delimiter //;
10587 --error ER_PARSE_ERROR
10588 CREATE PROCEDURE sp1()
10589 BEGIN
10590     declare smallint char;
10591 END//
10592 delimiter ;//
10594 DROP PROCEDURE IF EXISTS sp1;
10596 delimiter //;
10597 --error ER_PARSE_ERROR
10598 CREATE PROCEDURE sp1()
10599 BEGIN
10600     declare spatial char;
10601 END//
10602 delimiter ;//
10604 DROP PROCEDURE IF EXISTS sp1;
10606 delimiter //;
10607 --error ER_PARSE_ERROR
10608 CREATE PROCEDURE sp1()
10609 BEGIN
10610     declare specific char;
10611 END//
10612 delimiter ;//
10614 DROP PROCEDURE IF EXISTS sp1;
10616 delimiter //;
10617 --error ER_PARSE_ERROR
10618 CREATE PROCEDURE sp1()
10619 BEGIN
10620     declare sql char;
10621 END//
10622 delimiter ;//
10624 DROP PROCEDURE IF EXISTS sp1;
10626 delimiter //;
10627 --error ER_PARSE_ERROR
10628 CREATE PROCEDURE sp1()
10629 BEGIN
10630     declare sqlexception char;
10631 END//
10632 delimiter ;//
10634 DROP PROCEDURE IF EXISTS sp1;
10636 delimiter //;
10637 --error ER_PARSE_ERROR
10638 CREATE PROCEDURE sp1()
10639 BEGIN
10640     declare sqlstate char;
10641 END//
10642 delimiter ;//
10644 DROP PROCEDURE IF EXISTS sp1;
10646 delimiter //;
10647 --error ER_PARSE_ERROR
10648 CREATE PROCEDURE sp1()
10649 BEGIN
10650     declare sqlwarning char;
10651 END//
10652 delimiter ;//
10654 DROP PROCEDURE IF EXISTS sp1;
10656 delimiter //;
10657 --error ER_PARSE_ERROR
10658 CREATE PROCEDURE sp1()
10659 BEGIN
10660     declare sql_big_result char;
10661 END//
10662 delimiter ;//
10664 DROP PROCEDURE IF EXISTS sp1;
10666 delimiter //;
10667 --error ER_PARSE_ERROR
10668 CREATE PROCEDURE sp1()
10669 BEGIN
10670     declare sql_calc_found_rows char;
10671 END//
10672 delimiter ;//
10674 DROP PROCEDURE IF EXISTS sp1;
10676 delimiter //;
10677 --error ER_PARSE_ERROR
10678 CREATE PROCEDURE sp1()
10679 BEGIN
10680     declare sql_small_result char;
10681 END//
10682 delimiter ;//
10684 DROP PROCEDURE IF EXISTS sp1;
10686 delimiter //;
10687 --error ER_PARSE_ERROR
10688 CREATE PROCEDURE sp1()
10689 BEGIN
10690     declare ssl char;
10691 END//
10692 delimiter ;//
10694 DROP PROCEDURE IF EXISTS sp1;
10696 delimiter //;
10697 --error ER_PARSE_ERROR
10698 CREATE PROCEDURE sp1()
10699 BEGIN
10700     declare starting char;
10701 END//
10702 delimiter ;//
10704 DROP PROCEDURE IF EXISTS sp1;
10706 delimiter //;
10707 --error ER_PARSE_ERROR
10708 CREATE PROCEDURE sp1()
10709 BEGIN
10710     declare straight_join char;
10711 END//
10712 delimiter ;//
10714 DROP PROCEDURE IF EXISTS sp1;
10716 delimiter //;
10717 --error ER_PARSE_ERROR
10718 CREATE PROCEDURE sp1()
10719 BEGIN
10720     declare table char;
10721 END//
10722 delimiter ;//
10724 DROP PROCEDURE IF EXISTS sp1;
10726 delimiter //;
10727 --error ER_PARSE_ERROR
10728 CREATE PROCEDURE sp1()
10729 BEGIN
10730     declare terminated char;
10731 END//
10732 delimiter ;//
10734 DROP PROCEDURE IF EXISTS sp1;
10736 delimiter //;
10737 --error ER_PARSE_ERROR
10738 CREATE PROCEDURE sp1()
10739 BEGIN
10740     declare then char;
10741 END//
10742 delimiter ;//
10744 DROP PROCEDURE IF EXISTS sp1;
10746 delimiter //;
10747 --error ER_PARSE_ERROR
10748 CREATE PROCEDURE sp1()
10749 BEGIN
10750     declare tinyblob char;
10751 END//
10752 delimiter ;//
10754 DROP PROCEDURE IF EXISTS sp1;
10756 delimiter //;
10757 --error ER_PARSE_ERROR
10758 CREATE PROCEDURE sp1()
10759 BEGIN
10760     declare tinyint char;
10761 END//
10762 delimiter ;//
10764 DROP PROCEDURE IF EXISTS sp1;
10766 delimiter //;
10767 --error ER_PARSE_ERROR
10768 CREATE PROCEDURE sp1()
10769 BEGIN
10770     declare tinytext char;
10771 END//
10772 delimiter ;//
10774 DROP PROCEDURE IF EXISTS sp1;
10776 delimiter //;
10777 --error ER_PARSE_ERROR
10778 CREATE PROCEDURE sp1()
10779 BEGIN
10780     declare to char;
10781 END//
10782 delimiter ;//
10784 DROP PROCEDURE IF EXISTS sp1;
10786 delimiter //;
10787 --error ER_PARSE_ERROR
10788 CREATE PROCEDURE sp1()
10789 BEGIN
10790     declare trailing char;
10791 END//
10792 delimiter ;//
10793 DROP PROCEDURE IF EXISTS sp1;
10795 delimiter //;
10796 --error ER_PARSE_ERROR
10797 CREATE PROCEDURE sp1()
10798 BEGIN
10799     declare trigger char;
10800 END//
10801 delimiter ;//
10802 DROP PROCEDURE IF EXISTS sp1;
10804 delimiter //;
10805 --error ER_PARSE_ERROR
10806 CREATE PROCEDURE sp1()
10807 BEGIN
10808     declare true char;
10809 END//
10810 delimiter ;//
10812 DROP PROCEDURE IF EXISTS sp1;
10814 delimiter //;
10815 --error ER_PARSE_ERROR
10816 CREATE PROCEDURE sp1()
10817 BEGIN
10818     declare undo char;
10819 END//
10820 delimiter ;//
10822 DROP PROCEDURE IF EXISTS sp1;
10824 delimiter //;
10825 --error ER_PARSE_ERROR
10826 CREATE PROCEDURE sp1()
10827 BEGIN
10828     declare union char;
10829 END//
10830 delimiter ;//
10832 DROP PROCEDURE IF EXISTS sp1;
10834 delimiter //;
10835 --error ER_PARSE_ERROR
10836 CREATE PROCEDURE sp1()
10837 BEGIN
10838     declare unique char;
10839 END//
10840 delimiter ;//
10842 DROP PROCEDURE IF EXISTS sp1;
10844 delimiter //;
10845 --error ER_PARSE_ERROR
10846 CREATE PROCEDURE sp1()
10847 BEGIN
10848     declare unlock char;
10849 END//
10850 delimiter ;//
10852 DROP PROCEDURE IF EXISTS sp1;
10854 delimiter //;
10855 --error ER_PARSE_ERROR
10856 CREATE PROCEDURE sp1()
10857 BEGIN
10858     declare unsigned char;
10859 END//
10860 delimiter ;//
10862 DROP PROCEDURE IF EXISTS sp1;
10864 delimiter //;
10865 --error ER_PARSE_ERROR
10866 CREATE PROCEDURE sp1()
10867 BEGIN
10868     declare update char;
10869 END//
10870 delimiter ;//
10872 DROP PROCEDURE IF EXISTS sp1;
10874 delimiter //;
10875 --error ER_PARSE_ERROR
10876 CREATE PROCEDURE sp1()
10877 BEGIN
10878     declare usage char;
10879 END//
10880 delimiter ;//
10882 DROP PROCEDURE IF EXISTS sp1;
10884 delimiter //;
10885 --error ER_PARSE_ERROR
10886 CREATE PROCEDURE sp1()
10887 BEGIN
10888     declare use char;
10889 END//
10890 delimiter ;//
10892 DROP PROCEDURE IF EXISTS sp1;
10894 delimiter //;
10895 --error ER_PARSE_ERROR
10896 CREATE PROCEDURE sp1()
10897 BEGIN
10898     declare using char;
10899 END//
10900 delimiter ;//
10902 DROP PROCEDURE IF EXISTS sp1;
10904 delimiter //;
10905 --error ER_PARSE_ERROR
10906 CREATE PROCEDURE sp1()
10907 BEGIN
10908     declare utc_date char;
10909 END//
10910 delimiter ;//
10912 DROP PROCEDURE IF EXISTS sp1;
10914 delimiter //;
10915 --error ER_PARSE_ERROR
10916 CREATE PROCEDURE sp1()
10917 BEGIN
10918     declare utc_time char;
10919 END//
10920 delimiter ;//
10922 DROP PROCEDURE IF EXISTS sp1;
10924 delimiter //;
10925 --error ER_PARSE_ERROR
10926 CREATE PROCEDURE sp1()
10927 BEGIN
10928     declare utc_timestamp char;
10929 END//
10930 delimiter ;//
10932 DROP PROCEDURE IF EXISTS sp1;
10934 delimiter //;
10935 --error ER_PARSE_ERROR
10936 CREATE PROCEDURE sp1()
10937 BEGIN
10938     declare values char;
10939 END//
10940 delimiter ;//
10942 DROP PROCEDURE IF EXISTS sp1;
10944 delimiter //;
10945 --error ER_PARSE_ERROR
10946 CREATE PROCEDURE sp1()
10947 BEGIN
10948     declare varbinary char;
10949 END//
10950 delimiter ;//
10952 DROP PROCEDURE IF EXISTS sp1;
10954 delimiter //;
10955 --error ER_PARSE_ERROR
10956 CREATE PROCEDURE sp1()
10957 BEGIN
10958     declare varchar char;
10959 END//
10960 delimiter ;//
10962 DROP PROCEDURE IF EXISTS sp1;
10964 delimiter //;
10965 --error ER_PARSE_ERROR
10966 CREATE PROCEDURE sp1()
10967 BEGIN
10968     declare varcharacter char;
10969 END//
10970 delimiter ;//
10972 DROP PROCEDURE IF EXISTS sp1;
10974 delimiter //;
10975 --error ER_PARSE_ERROR
10976 CREATE PROCEDURE sp1()
10977 BEGIN
10978     declare varying char;
10979 END//
10980 delimiter ;//
10982 DROP PROCEDURE IF EXISTS sp1;
10984 delimiter //;
10985 --error ER_PARSE_ERROR
10986 CREATE PROCEDURE sp1()
10987 BEGIN
10988     declare when char;
10989 END//
10990 delimiter ;//
10992 DROP PROCEDURE IF EXISTS sp1;
10994 delimiter //;
10995 --error ER_PARSE_ERROR
10996 CREATE PROCEDURE sp1()
10997 BEGIN
10998     declare where char;
10999 END//
11000 delimiter ;//
11002 DROP PROCEDURE IF EXISTS sp1;
11004 delimiter //;
11005 --error ER_PARSE_ERROR
11006 CREATE PROCEDURE sp1()
11007 BEGIN
11008     declare while char;
11009 END//
11010 delimiter ;//
11012 DROP PROCEDURE IF EXISTS sp1;
11014 delimiter //;
11015 --error ER_PARSE_ERROR
11016 CREATE PROCEDURE sp1()
11017 BEGIN
11018     declare with char;
11019 END//
11020 delimiter ;//
11022 DROP PROCEDURE IF EXISTS sp1;
11024 delimiter //;
11025 --error ER_PARSE_ERROR
11026 CREATE PROCEDURE sp1()
11027 BEGIN
11028     declare write char;
11029 END//
11030 delimiter ;//
11032 DROP PROCEDURE IF EXISTS sp1;
11034 delimiter //;
11035 --error ER_PARSE_ERROR
11036 CREATE PROCEDURE sp1()
11037 BEGIN
11038     declare xor char;
11039 END//
11040 delimiter ;//
11042 DROP PROCEDURE IF EXISTS sp1;
11044 delimiter //;
11045 --error ER_PARSE_ERROR
11046 CREATE PROCEDURE sp1()
11047 BEGIN
11048     declare year_month char;
11049 END//
11050 delimiter ;//
11052 DROP PROCEDURE IF EXISTS sp1;
11054 delimiter //;
11055 --error ER_PARSE_ERROR
11056 CREATE PROCEDURE sp1()
11057 BEGIN
11058     declare zerofill char;
11059 END//
11060 delimiter ;//
11062 # ------------------------------------------------------------------------------
11063 let $message= Testcase :
11064               ----------
11065 Ensure that every possible type of condition may be declared for a stored procedure
11066 ( covered in more detail in handlers section.);
11067 --source include/show_msg80.inc
11069 DROP PROCEDURE IF EXISTS sp1;
11071 delimiter //;
11072 CREATE PROCEDURE sp1()
11073 BEGIN
11074    declare cond1 condition for sqlstate 'HY000';
11076    declare cond2 condition for sqlstate '23000';
11078    declare cond3 condition for sqlstate 'HY001';
11080    declare cond4 condition for sqlstate '08004';
11082    declare cond5 condition for sqlstate '08S01';
11084    declare cond6 condition for sqlstate '42000';
11086    declare cond7 condition for sqlstate '28000';
11088    declare cond8 condition for sqlstate '3D000';
11090    declare cond9 condition for sqlstate '42S01';
11092    declare cond10 condition for sqlstate '42S02';
11094    declare cond11 condition for sqlstate '42S22';
11096    declare cond12 condition for sqlstate '21S01';
11098    declare cond13 condition for sqlstate '42S21';
11100    declare cond14 condition for sqlstate '42S12';
11102    declare cond15 condition for sqlstate '22004';
11104    declare cond16 condition for sqlstate '25000';
11106    declare cond17 condition for sqlstate '40001';
11108    declare cond18 condition for sqlstate '21000';
11110    declare cond19 condition for sqlstate '01000';
11112    declare cond20 condition for sqlstate '22003';
11114    declare cond21 condition for sqlstate '22007';
11116    declare cond22 condition for sqlstate '0A000';
11118    declare cond23 condition for sqlstate '70100';
11120    declare cond24 condition for sqlstate '2F005';
11122    declare cond25 condition for sqlstate '24000';
11124    declare cond26 condition for sqlstate '02000';
11126    declare continue handler for cond2 set @x2 = 1;
11128    declare continue handler for cond1 set @x2 = 1;
11130    declare continue handler for cond3 set @x2 = 1;
11132    declare continue handler for cond4 set @x2 = 1;
11134    declare continue handler for cond5 set @x2 = 1;
11136    declare continue handler for cond7 set @x2 = 1;
11138    declare continue handler for cond6 set @x2 = 1;
11140    declare continue handler for cond8 set @x2 = 1;
11142    declare continue handler for cond9 set @x2 = 1;
11144    declare continue handler for cond10 set @x2 = 1;
11146    declare continue handler for cond11 set @x2 = 1;
11148    declare continue handler for cond12 set @x2 = 1;
11150    declare continue handler for cond13 set @x2 = 1;
11152    declare continue handler for cond14 set @x2 = 1;
11154    declare continue handler for cond15 set @x2 = 1;
11156    declare continue handler for cond16 set @x2 = 1;
11158    declare continue handler for cond17 set @x2 = 1;
11160    declare continue handler for cond18 set @x2 = 1;
11162    declare continue handler for cond19 set @x2 = 1;
11164    declare continue handler for cond20 set @x2 = 1;
11166    declare continue handler for cond21 set @x2 = 1;
11168    declare continue handler for cond22 set @x2 = 1;
11170    declare continue handler for cond23 set @x2 = 1;
11172    declare continue handler for cond24 set @x2 = 1;
11174    declare continue handler for cond25 set @x2 = 1;
11176    declare continue handler for cond26 set @x2 = 1;
11179    set @x = 1;
11181    insert into t2 values (1);
11183    set @x = 2;
11185    insert into t2 values (1);
11187    set @x = 3;
11188 END//
11189 delimiter ;//
11191 CALL sp1();
11193 # clean up
11194 DROP PROCEDURE sp1;
11196 # testcase: ensure that invalid condition declarations are rejected, with an appropriate error message.
11199 DROP PROCEDURE IF EXISTS sp1;
11201 delimiter //;
11202 --error ER_PARSE_ERROR
11203 CREATE PROCEDURE sp1( )
11204 BEGIN
11205     declare @x char;
11206 END//
11207 delimiter ;//
11209 DROP PROCEDURE IF EXISTS sp1;
11211 delimiter //;
11212 --error ER_PARSE_ERROR
11213 CREATE PROCEDURE sp1( )
11214 BEGIN
11215     declare x char1;
11216 END//
11217 delimiter ;//
11218 DROP PROCEDURE IF EXISTS sp1;
11220 delimiter //;
11221 --error ER_PARSE_ERROR
11222 CREATE PROCEDURE sp1( )
11223 BEGIN
11224     declare accessible condition for sqlstate '02000';
11225     declare exit handler for add set @var2 = 1;
11226 END//
11227 delimiter ;//
11229 DROP PROCEDURE IF EXISTS sp1;
11231 delimiter //;
11232 --error ER_PARSE_ERROR
11233 CREATE PROCEDURE sp1( )
11234 BEGIN
11235     declare add condition for sqlstate '02000';
11236     declare exit handler for add set @var2 = 1;
11237 END//
11238 delimiter ;//
11240 DROP PROCEDURE IF EXISTS sp1;
11242 delimiter //;
11243 --error ER_PARSE_ERROR
11244 CREATE PROCEDURE sp1( )
11245 BEGIN
11246     declare all condition for sqlstate '02000';
11247     declare exit handler for all set @var2 = 1;
11248 END//
11249 delimiter ;//
11251 DROP PROCEDURE IF EXISTS sp1;
11253 delimiter //;
11254 --error ER_PARSE_ERROR
11255 CREATE PROCEDURE sp1( )
11256 BEGIN
11257     declare alter condition for sqlstate '02000';
11258     declare exit handler for alter set @var2 = 1;
11259 END//
11260 delimiter ;//
11262 DROP PROCEDURE IF EXISTS sp1;
11264 delimiter //;
11265 --error ER_PARSE_ERROR
11266 CREATE PROCEDURE sp1( )
11267 BEGIN
11268     declare analyze condition for sqlstate '02000';
11269     declare exit handler for analyze set @var2 = 1;
11270 END//
11271 delimiter ;//
11273 DROP PROCEDURE IF EXISTS sp1;
11275 delimiter //;
11276 --error ER_PARSE_ERROR
11277 CREATE PROCEDURE sp1( )
11278 BEGIN
11279     declare and condition for sqlstate '02000';
11280     declare exit handler for and set @var2 = 1;
11281 END//
11282 delimiter ;//
11284 DROP PROCEDURE IF EXISTS sp1;
11286 delimiter //;
11287 --error ER_PARSE_ERROR
11288 CREATE PROCEDURE sp1( )
11289 BEGIN
11290     declare as condition for sqlstate '02000';
11291     declare exit handler for as set @var2 = 1;
11292 END//
11293 delimiter ;//
11295 DROP PROCEDURE IF EXISTS sp1;
11297 delimiter //;
11298 --error ER_PARSE_ERROR
11299 CREATE PROCEDURE sp1( )
11300 BEGIN
11301     declare asc condition for sqlstate '02000';
11302     declare exit handler for asc set @var2 = 1;
11303 END//
11304 delimiter ;//
11306 DROP PROCEDURE IF EXISTS sp1;
11308 delimiter //;
11309 --error ER_PARSE_ERROR
11310 CREATE PROCEDURE sp1( )
11311 BEGIN
11312     declare asensitive condition for sqlstate '02000';
11313     declare exit handler for asensitive set @var2 = 1;
11314 END//
11315 delimiter ;//
11317 DROP PROCEDURE IF EXISTS sp1;
11319 delimiter //;
11320 --error ER_PARSE_ERROR
11321 CREATE PROCEDURE sp1( )
11322 BEGIN
11323     declare before condition for sqlstate '02000';
11324     declare exit handler for before set @var2 = 1;
11325 END//
11326 delimiter ;//
11328 DROP PROCEDURE IF EXISTS sp1;
11330 delimiter //;
11331 --error ER_PARSE_ERROR
11332 CREATE PROCEDURE sp1( )
11333 BEGIN
11334     declare between condition for sqlstate '02000';
11335     declare exit handler for between set @var2 = 1;
11336 END//
11337 delimiter ;//
11339 DROP PROCEDURE IF EXISTS sp1;
11341 delimiter //;
11342 --error ER_PARSE_ERROR
11343 CREATE PROCEDURE sp1( )
11344 BEGIN
11345     declare bigint condition for sqlstate '02000';
11346     declare exit handler for bigint set @var2 = 1;
11347 END//
11348 delimiter ;//
11350 DROP PROCEDURE IF EXISTS sp1;
11352 delimiter //;
11353 --error ER_PARSE_ERROR
11354 CREATE PROCEDURE sp1( )
11355 BEGIN
11356     declare binary condition for sqlstate '02000';
11357     declare exit handler for binary set @var2 = 1;
11358 END//
11359 delimiter ;//
11361 DROP PROCEDURE IF EXISTS sp1;
11363 delimiter //;
11364 --error ER_PARSE_ERROR
11365 CREATE PROCEDURE sp1( )
11366 BEGIN
11367     declare blob condition for sqlstate '02000';
11368     declare exit handler for blob set @var2 = 1;
11369 END//
11370 delimiter ;//
11372 DROP PROCEDURE IF EXISTS sp1;
11374 delimiter //;
11375 --error ER_PARSE_ERROR
11376 CREATE PROCEDURE sp1( )
11377 BEGIN
11378     declare both condition for sqlstate '02000';
11379     declare exit handler for both set @var2 = 1;
11380 END//
11381 delimiter ;//
11383 DROP PROCEDURE IF EXISTS sp1;
11385 delimiter //;
11386 --error ER_PARSE_ERROR
11387 CREATE PROCEDURE sp1( )
11388 BEGIN
11389     declare by condition for sqlstate '02000';
11390     declare exit handler for by set @var2 = 1;
11391 END//
11392 delimiter ;//
11394 DROP PROCEDURE IF EXISTS sp1;
11396 delimiter //;
11397 --error ER_PARSE_ERROR
11398 CREATE PROCEDURE sp1( )
11399 BEGIN
11400     declare call condition for sqlstate '02000';
11401     declare exit handler for CALL set @var2 = 1;
11402 END//
11403 delimiter ;//
11405 DROP PROCEDURE IF EXISTS sp1;
11407 delimiter //;
11408 --error ER_PARSE_ERROR
11409 CREATE PROCEDURE sp1( )
11410 BEGIN
11411     declare cascade condition for sqlstate '02000';
11412     declare exit handler for cascade set @var2 = 1;
11413 END//
11414 delimiter ;//
11416 DROP PROCEDURE IF EXISTS sp1;
11418 delimiter //;
11419 --error ER_PARSE_ERROR
11420 CREATE PROCEDURE sp1( )
11421 BEGIN
11422     declare case condition for sqlstate '02000';
11423     declare exit handler for case set @var2 = 1;
11424 END//
11425 delimiter ;//
11427 DROP PROCEDURE IF EXISTS sp1;
11429 delimiter //;
11430 --error ER_PARSE_ERROR
11431 CREATE PROCEDURE sp1( )
11432 BEGIN
11433     declare change condition for sqlstate '02000';
11434     declare exit handler for change set @var2 = 1;
11435 END//
11436 delimiter ;//
11438 DROP PROCEDURE IF EXISTS sp1;
11440 delimiter //;
11441 --error ER_PARSE_ERROR
11442 CREATE PROCEDURE sp1( )
11443 BEGIN
11444     declare char condition for sqlstate '02000';
11445     declare exit handler for char set @var2 = 1;
11446 END//
11447 delimiter ;//
11449 DROP PROCEDURE IF EXISTS sp1;
11451 delimiter //;
11452 --error ER_PARSE_ERROR
11453 CREATE PROCEDURE sp1( )
11454 BEGIN
11455     declare character condition for sqlstate '02000';
11456     declare exit handler for character set @var2 = 1;
11457 END//
11458 delimiter ;//
11460 DROP PROCEDURE IF EXISTS sp1;
11462 delimiter //;
11463 --error ER_PARSE_ERROR
11464 CREATE PROCEDURE sp1( )
11465 BEGIN
11466     declare check condition for sqlstate '02000';
11467     declare exit handler for check set @var2 = 1;
11468 END//
11469 delimiter ;//
11471 DROP PROCEDURE IF EXISTS sp1;
11473 delimiter //;
11474 #--error ER_PARSE_ERROR
11475 CREATE PROCEDURE sp1( )
11476 BEGIN
11477     declare collate condition for sqlstate '02000';
11478     declare exit handler for collate set @var2 = 1;
11479 END//
11480 delimiter ;//
11482 DROP PROCEDURE IF EXISTS sp1;
11484 delimiter //;
11485 --error ER_PARSE_ERROR
11486 CREATE PROCEDURE sp1( )
11487 BEGIN
11488     declare column condition for sqlstate '02000';
11489     declare exit handler for column set @var2 = 1;
11490 END//
11491 delimiter ;//
11492 DROP PROCEDURE IF EXISTS sp1;
11494 delimiter //;
11495 --error ER_PARSE_ERROR
11496 CREATE PROCEDURE sp1( )
11497 BEGIN
11498     declare condition condition for sqlstate '02000';
11499     declare exit handler for condition set @var2 = 1;
11500 END//
11501 delimiter ;//
11502 DROP PROCEDURE IF EXISTS sp1;
11504 delimiter //;
11505 #--error ER_PARSE_ERROR
11506 CREATE PROCEDURE sp1( )
11507 BEGIN
11508     declare connection condition for sqlstate '02000';
11509     declare exit handler for connection set @var2 = 1;
11510 END//
11511 delimiter ;//
11512 DROP PROCEDURE IF EXISTS sp1;
11514 delimiter //;
11515 --error ER_PARSE_ERROR
11516 CREATE PROCEDURE sp1( )
11517 BEGIN
11518     declare constraint condition for sqlstate '02000';
11519     declare exit handler for constraint set @var2 = 1;
11520 END//
11521 delimiter ;//
11523 DROP PROCEDURE IF EXISTS sp1;
11525 delimiter //;
11526 --error ER_PARSE_ERROR
11527 CREATE PROCEDURE sp1( )
11528 BEGIN
11529     declare continue condition for sqlstate '02000';
11530     declare exit handler for continue set @var2 = 1;
11531 END//
11532 delimiter ;//
11534 DROP PROCEDURE IF EXISTS sp1;
11536 delimiter //;
11537 --error ER_PARSE_ERROR
11538 CREATE PROCEDURE sp1( )
11539 BEGIN
11540     declare convert condition for sqlstate '02000';
11541     declare exit handler for convert set @var2 = 1;
11542 END//
11543 delimiter ;//
11545 DROP PROCEDURE IF EXISTS sp1;
11547 delimiter //;
11548 --error ER_PARSE_ERROR
11549 CREATE PROCEDURE sp1( )
11550 BEGIN
11551     declare create condition for sqlstate '02000';
11552     declare exit handler for create set @var2 = 1;
11553 END//
11554 delimiter ;//
11556 DROP PROCEDURE IF EXISTS sp1;
11558 delimiter //;
11559 --error ER_PARSE_ERROR
11560 CREATE PROCEDURE sp1( )
11561 BEGIN
11562     declare cross condition for sqlstate '02000';
11563     declare exit handler for cross set @var2 = 1;
11564 END//
11565 delimiter ;//
11567 DROP PROCEDURE IF EXISTS sp1;
11569 delimiter //;
11570 --error ER_PARSE_ERROR
11571 CREATE PROCEDURE sp1( )
11572 BEGIN
11573     declare current_date condition for sqlstate '02000';
11574     declare exit handler for current_date set @var2 = 1;
11575 END//
11576 delimiter ;//
11578 DROP PROCEDURE IF EXISTS sp1;
11580 delimiter //;
11581 --error ER_PARSE_ERROR
11582 CREATE PROCEDURE sp1( )
11583 BEGIN
11584     declare current_time condition for sqlstate '02000';
11585     declare exit handler for current_time set @var2 = 1;
11586 END//
11587 delimiter ;//
11589 DROP PROCEDURE IF EXISTS sp1;
11591 delimiter //;
11592 --error ER_PARSE_ERROR
11593 CREATE PROCEDURE sp1( )
11594 BEGIN
11595     declare current_timestamp condition for sqlstate '02000';
11596     declare exit handler for current_timestamp set @var2 = 1;
11597 END//
11598 delimiter ;//
11600 DROP PROCEDURE IF EXISTS sp1;
11602 delimiter //;
11603 --error ER_PARSE_ERROR
11604 CREATE PROCEDURE sp1( )
11605 BEGIN
11606     declare current_user condition for sqlstate '02000';
11607     declare exit handler for current_user set @var2 = 1;
11608 END//
11609 delimiter ;//
11611 DROP PROCEDURE IF EXISTS sp1;
11613 delimiter //;
11614 --error ER_PARSE_ERROR
11615 CREATE PROCEDURE sp1( )
11616 BEGIN
11617     declare cursor condition for sqlstate '02000';
11618     declare exit handler for cursor set @var2 = 1;
11619 END//
11620 delimiter ;//
11622 DROP PROCEDURE IF EXISTS sp1;
11624 delimiter //;
11625 --error ER_PARSE_ERROR
11626 CREATE PROCEDURE sp1( )
11627 BEGIN
11628     declare database condition for sqlstate '02000';
11629     declare exit handler for database set @var2 = 1;
11630 END//
11631 delimiter ;//
11633 DROP PROCEDURE IF EXISTS sp1;
11635 delimiter //;
11636 --error ER_PARSE_ERROR
11637 CREATE PROCEDURE sp1( )
11638 BEGIN
11639     declare databases condition for sqlstate '02000';
11640     declare exit handler for databases set @var2 = 1;
11641 END//
11642 delimiter ;//
11644 DROP PROCEDURE IF EXISTS sp1;
11646 delimiter //;
11647 --error ER_PARSE_ERROR
11648 CREATE PROCEDURE sp1( )
11649 BEGIN
11650     declare day_hour condition for sqlstate '02000';
11651     declare exit handler for day_hour set @var2 = 1;
11652 END//
11653 delimiter ;//
11655 DROP PROCEDURE IF EXISTS sp1;
11657 delimiter //;
11658 --error ER_PARSE_ERROR
11659 CREATE PROCEDURE sp1( )
11660 BEGIN
11661     declare day_microsecond condition for sqlstate '02000';
11662     declare exit handler for day_microsecond set @var2 = 1;
11663 END//
11664 delimiter ;//
11666 DROP PROCEDURE IF EXISTS sp1;
11668 delimiter //;
11669 --error ER_PARSE_ERROR
11670 CREATE PROCEDURE sp1( )
11671 BEGIN
11672     declare day_minute condition for sqlstate '02000';
11673     declare exit handler for day_minute set @var2 = 1;
11674 END//
11675 delimiter ;//
11677 DROP PROCEDURE IF EXISTS sp1;
11679 delimiter //;
11680 --error ER_PARSE_ERROR
11681 CREATE PROCEDURE sp1( )
11682 BEGIN
11683     declare day_second condition for sqlstate '02000';
11684     declare exit handler for day_second set @var2 = 1;
11685 END//
11686 delimiter ;//
11688 DROP PROCEDURE IF EXISTS sp1;
11690 delimiter //;
11691 --error ER_PARSE_ERROR
11692 CREATE PROCEDURE sp1( )
11693 BEGIN
11694     declare dec condition for sqlstate '02000';
11695     declare exit handler for dec set @var2 = 1;
11696 END//
11697 delimiter ;//
11699 DROP PROCEDURE IF EXISTS sp1;
11701 delimiter //;
11702 --error ER_PARSE_ERROR
11703 CREATE PROCEDURE sp1( )
11704 BEGIN
11705     declare decimal condition for sqlstate '02000';
11706     declare exit handler for decimal set @var2 = 1;
11707 END//
11708 delimiter ;//
11710 DROP PROCEDURE IF EXISTS sp1;
11712 delimiter //;
11713 --error ER_PARSE_ERROR
11714 CREATE PROCEDURE sp1( )
11715 BEGIN
11716     declare declare condition for sqlstate '02000';
11717     declare exit handler for declare set @var2 = 1;
11718 END//
11719 delimiter ;//
11721 DROP PROCEDURE IF EXISTS sp1;
11723 delimiter //;
11724 --error ER_PARSE_ERROR
11725 CREATE PROCEDURE sp1( )
11726 BEGIN
11727     declare default condition for sqlstate '02000';
11728     declare exit handler for default set @var2 = 1;
11729 END//
11730 delimiter ;//
11732 DROP PROCEDURE IF EXISTS sp1;
11734 delimiter //;
11735 --error ER_PARSE_ERROR
11736 CREATE PROCEDURE sp1( )
11737 BEGIN
11738     declare delayed condition for sqlstate '02000';
11739     declare exit handler for delayed set @var2 = 1;
11740 END//
11741 delimiter ;//
11743 DROP PROCEDURE IF EXISTS sp1;
11745 delimiter //;
11746 --error ER_PARSE_ERROR
11747 CREATE PROCEDURE sp1( )
11748 BEGIN
11749     declare delete condition for sqlstate '02000';
11750     declare exit handler for delete set @var2 = 1;
11751 END//
11752 delimiter ;//
11754 DROP PROCEDURE IF EXISTS sp1;
11756 delimiter //;
11757 --error ER_PARSE_ERROR
11758 CREATE PROCEDURE sp1( )
11759 BEGIN
11760     declare desc condition for sqlstate '02000';
11761     declare exit handler for desc set @var2 = 1;
11762 END//
11763 delimiter ;//
11765 DROP PROCEDURE IF EXISTS sp1;
11767 delimiter //;
11768 --error ER_PARSE_ERROR
11769 CREATE PROCEDURE sp1( )
11770 BEGIN
11771     declare describe condition for sqlstate '02000';
11772     declare exit handler for describe set @var2 = 1;
11773 END//
11774 delimiter ;//
11776 DROP PROCEDURE IF EXISTS sp1;
11778 delimiter //;
11779 --error ER_PARSE_ERROR
11780 CREATE PROCEDURE sp1( )
11781 BEGIN
11782     declare deterministic condition for sqlstate '02000';
11783     declare exit handler for deterministic set @var2 = 1;
11784 END//
11785 delimiter ;//
11787 DROP PROCEDURE IF EXISTS sp1;
11789 delimiter //;
11790 --error ER_PARSE_ERROR
11791 CREATE PROCEDURE sp1( )
11792 BEGIN
11793     declare distinct condition for sqlstate '02000';
11794     declare exit handler for distinct set @var2 = 1;
11795 END//
11796 delimiter ;//
11798 DROP PROCEDURE IF EXISTS sp1;
11800 delimiter //;
11801 --error ER_PARSE_ERROR
11802 CREATE PROCEDURE sp1( )
11803 BEGIN
11804     declare distinctrow condition for sqlstate '02000';
11805     declare exit handler for distinctrow set @var2 = 1;
11806 END//
11807 delimiter ;//
11809 DROP PROCEDURE IF EXISTS sp1;
11811 delimiter //;
11812 --error ER_PARSE_ERROR
11813 CREATE PROCEDURE sp1( )
11814 BEGIN
11815     declare div condition for sqlstate '02000';
11816     declare exit handler for div set @var2 = 1;
11817 END//
11818 delimiter ;//
11820 DROP PROCEDURE IF EXISTS sp1;
11822 delimiter //;
11823 --error ER_PARSE_ERROR
11824 CREATE PROCEDURE sp1( )
11825 BEGIN
11826     declare double condition for sqlstate '02000';
11827     declare exit handler for double set @var2 = 1;
11828 END//
11829 delimiter ;//
11831 DROP PROCEDURE IF EXISTS sp1;
11833 delimiter //;
11834 --error ER_PARSE_ERROR
11835 CREATE PROCEDURE sp1( )
11836 BEGIN
11837     declare drop condition for sqlstate '02000';
11838     declare exit handler for drop set @var2 = 1;
11839 END//
11840 delimiter ;//
11842 DROP PROCEDURE IF EXISTS sp1;
11844 delimiter //;
11845 --error ER_PARSE_ERROR
11846 CREATE PROCEDURE sp1( )
11847 BEGIN
11848     declare dual condition for sqlstate '02000';
11849     declare exit handler for dual set @var2 = 1;
11850 END//
11851 delimiter ;//
11853 DROP PROCEDURE IF EXISTS sp1;
11855 delimiter //;
11856 --error ER_PARSE_ERROR
11857 CREATE PROCEDURE sp1( )
11858 BEGIN
11859     declare each condition for sqlstate '02000';
11860     declare exit handler for each set @var2 = 1;
11861 END//
11862 delimiter ;//
11864 DROP PROCEDURE IF EXISTS sp1;
11866 delimiter //;
11867 --error ER_PARSE_ERROR
11868 CREATE PROCEDURE sp1( )
11869 BEGIN
11870     declare else condition for sqlstate '02000';
11871     declare exit handler for else set @var2 = 1;
11872 END//
11873 delimiter ;//
11875 DROP PROCEDURE IF EXISTS sp1;
11877 delimiter //;
11878 --error ER_PARSE_ERROR
11879 CREATE PROCEDURE sp1( )
11880 BEGIN
11881     declare elseif condition for sqlstate '02000';
11882     declare exit handler for elseif set @var2 = 1;
11883 END//
11884 delimiter ;//
11886 DROP PROCEDURE IF EXISTS sp1;
11888 delimiter //;
11889 --error ER_PARSE_ERROR
11890 CREATE PROCEDURE sp1( )
11891 BEGIN
11892     declare enclosed condition for sqlstate '02000';
11893     declare exit handler for enclosed set @var2 = 1;
11894 END//
11895 delimiter ;//
11897 DROP PROCEDURE IF EXISTS sp1;
11899 delimiter //;
11900 --error ER_PARSE_ERROR
11901 CREATE PROCEDURE sp1( )
11902 BEGIN
11903     declare escaped condition for sqlstate '02000';
11904     declare exit handler for escaped set @var2 = 1;
11905 END//
11906 delimiter ;//
11908 DROP PROCEDURE IF EXISTS sp1;
11910 delimiter //;
11911 --error ER_PARSE_ERROR
11912 CREATE PROCEDURE sp1( )
11913 BEGIN
11914     declare exists condition for sqlstate '02000';
11915     declare exit handler for exists set @var2 = 1;
11916 END//
11917 delimiter ;//
11919 DROP PROCEDURE IF EXISTS sp1;
11921 delimiter //;
11922 --error ER_PARSE_ERROR
11923 CREATE PROCEDURE sp1( )
11924 BEGIN
11925     declare exit condition for sqlstate '02000';
11926     declare exit handler for exit set @var2 = 1;
11927 END//
11928 delimiter ;//
11930 DROP PROCEDURE IF EXISTS sp1;
11932 delimiter //;
11933 --error ER_PARSE_ERROR
11934 CREATE PROCEDURE sp1( )
11935 BEGIN
11936     declare explain condition for sqlstate '02000';
11937     declare exit handler for explain set @var2 = 1;
11938 END//
11939 delimiter ;//
11941 DROP PROCEDURE IF EXISTS sp1;
11943 delimiter //;
11944 --error ER_PARSE_ERROR
11945 CREATE PROCEDURE sp1( )
11946 BEGIN
11947     declare false condition for sqlstate '02000';
11948     declare exit handler for false set @var2 = 1;
11949 END//
11950 delimiter ;//
11952 DROP PROCEDURE IF EXISTS sp1;
11954 delimiter //;
11955 --error ER_PARSE_ERROR
11956 CREATE PROCEDURE sp1( )
11957 BEGIN
11958     declare fetch condition for sqlstate '02000';
11959     declare exit handler for fetch set @var2 = 1;
11960 END//
11961 delimiter ;//
11963 DROP PROCEDURE IF EXISTS sp1;
11965 delimiter //;
11966 --error ER_PARSE_ERROR
11967 CREATE PROCEDURE sp1( )
11968 BEGIN
11969     declare float condition for sqlstate '02000';
11970     declare exit handler for float set @var2 = 1;
11971 END//
11972 delimiter ;//
11974 DROP PROCEDURE IF EXISTS sp1;
11976 delimiter //;
11977 --error ER_PARSE_ERROR
11978 CREATE PROCEDURE sp1( )
11979 BEGIN
11980     declare float4 condition for sqlstate '02000';
11981     declare exit handler for add set @var2 = 1;
11982 END//
11983 delimiter ;//
11985 DROP PROCEDURE IF EXISTS sp1;
11987 delimiter //;
11988 --error ER_PARSE_ERROR
11989 CREATE PROCEDURE sp1( )
11990 BEGIN
11991     declare float8 condition for sqlstate '02000';
11992     declare exit handler for add set @var2 = 1;
11993 END//
11994 delimiter ;//
11996 DROP PROCEDURE IF EXISTS sp1;
11998 delimiter //;
11999 --error ER_PARSE_ERROR
12000 CREATE PROCEDURE sp1( )
12001 BEGIN
12002     declare for condition for sqlstate '02000';
12003     declare exit handler for for set @var2 = 1;
12004 END//
12005 delimiter ;//
12007 DROP PROCEDURE IF EXISTS sp1;
12009 delimiter //;
12010 --error ER_PARSE_ERROR
12011 CREATE PROCEDURE sp1( )
12012 BEGIN
12013     declare force condition for sqlstate '02000';
12014     declare exit handler for force set @var2 = 1;
12015 END//
12016 delimiter ;//
12018 DROP PROCEDURE IF EXISTS sp1;
12020 delimiter //;
12021 --error ER_PARSE_ERROR
12022 CREATE PROCEDURE sp1( )
12023 BEGIN
12024     declare foreign condition for sqlstate '02000';
12025     declare exit handler for foreign set @var2 = 1;
12026 END//
12027 delimiter ;//
12029 DROP PROCEDURE IF EXISTS sp1;
12031 delimiter //;
12032 --error ER_PARSE_ERROR
12033 CREATE PROCEDURE sp1( )
12034 BEGIN
12035     declare from condition for sqlstate '02000';
12036     declare exit handler for from set @var2 = 1;
12037 END//
12038 delimiter ;//
12040 DROP PROCEDURE IF EXISTS sp1;
12042 delimiter //;
12043 --error ER_PARSE_ERROR
12044 CREATE PROCEDURE sp1( )
12045 BEGIN
12046     declare fulltext condition for sqlstate '02000';
12047     declare exit handler for fulltext set @var2 = 1;
12048 END//
12049 delimiter ;//
12051 DROP PROCEDURE IF EXISTS sp1;
12053 delimiter //;
12054 --error ER_PARSE_ERROR
12055 CREATE PROCEDURE sp1( )
12056 BEGIN
12057     declare grant condition for sqlstate '02000';
12058     declare exit handler for grant set @var2 = 1;
12059 END//
12060 delimiter ;//
12062 DROP PROCEDURE IF EXISTS sp1;
12064 delimiter //;
12065 --error ER_PARSE_ERROR
12066 CREATE PROCEDURE sp1( )
12067 BEGIN
12068     declare group condition for sqlstate '02000';
12069     declare exit handler for group set @var2 = 1;
12070 END//
12071 delimiter ;//
12073 DROP PROCEDURE IF EXISTS sp1;
12075 delimiter //;
12076 --error ER_PARSE_ERROR
12077 CREATE PROCEDURE sp1( )
12078 BEGIN
12079     declare having condition for sqlstate '02000';
12080     declare exit handler for having set @var2 = 1;
12081 END//
12082 delimiter ;//
12084 DROP PROCEDURE IF EXISTS sp1;
12086 delimiter //;
12087 --error ER_PARSE_ERROR
12088 CREATE PROCEDURE sp1( )
12089 BEGIN
12090     declare high_priority condition for sqlstate '02000';
12091     declare exit handler for high_priority set @var2 = 1;
12092 END//
12093 delimiter ;//
12095 DROP PROCEDURE IF EXISTS sp1;
12097 delimiter //;
12098 --error ER_PARSE_ERROR
12099 CREATE PROCEDURE sp1( )
12100 BEGIN
12101     declare hour_microsecond condition for sqlstate '02000';
12102     declare exit handler for hour_microsecond set @var2 = 1;
12103 END//
12104 delimiter ;//
12106 DROP PROCEDURE IF EXISTS sp1;
12108 delimiter //;
12109 --error ER_PARSE_ERROR
12110 CREATE PROCEDURE sp1( )
12111 BEGIN
12112     declare hour_minute condition for sqlstate '02000';
12113     declare exit handler for hour_minute set @var2 = 1;
12114 END//
12115 delimiter ;//
12117 DROP PROCEDURE IF EXISTS sp1;
12119 delimiter //;
12120 --error ER_PARSE_ERROR
12121 CREATE PROCEDURE sp1( )
12122 BEGIN
12123     declare hour_second condition for sqlstate '02000';
12124     declare exit handler for hour_second set @var2 = 1;
12125 END//
12126 delimiter ;//
12128 DROP PROCEDURE IF EXISTS sp1;
12130 delimiter //;
12131 --error ER_PARSE_ERROR
12132 CREATE PROCEDURE sp1( )
12133 BEGIN
12134     declare if condition for sqlstate '02000';
12135     declare exit handler for if set @var2 = 1;
12136 END//
12137 delimiter ;//
12139 DROP PROCEDURE IF EXISTS sp1;
12141 delimiter //;
12142 --error ER_PARSE_ERROR
12143 CREATE PROCEDURE sp1( )
12144 BEGIN
12145     declare ignore condition for sqlstate '02000';
12146     declare exit handler for ignore set @var2 = 1;
12147 END//
12148 delimiter ;//
12150 DROP PROCEDURE IF EXISTS sp1;
12152 delimiter //;
12153 --error ER_PARSE_ERROR
12154 CREATE PROCEDURE sp1( )
12155 BEGIN
12156     declare in condition for sqlstate '02000';
12157     declare exit handler for in set @var2 = 1;
12158 END//
12159 delimiter ;//
12161 DROP PROCEDURE IF EXISTS sp1;
12163 delimiter //;
12164 --error ER_PARSE_ERROR
12165 CREATE PROCEDURE sp1( )
12166 BEGIN
12167     declare index condition for sqlstate '02000';
12168     declare exit handler for index set @var2 = 1;
12169 END//
12170 delimiter ;//
12172 DROP PROCEDURE IF EXISTS sp1;
12174 delimiter //;
12175 --error ER_PARSE_ERROR
12176 CREATE PROCEDURE sp1( )
12177 BEGIN
12178     declare infile condition for sqlstate '02000';
12179     declare exit handler for infile set @var2 = 1;
12180 END//
12181 delimiter ;//
12183 DROP PROCEDURE IF EXISTS sp1;
12185 delimiter //;
12186 --error ER_PARSE_ERROR
12187 CREATE PROCEDURE sp1( )
12188 BEGIN
12189     declare inner condition for sqlstate '02000';
12190     declare exit handler for inner set @var2 = 1;
12191 END//
12192 delimiter ;//
12194 DROP PROCEDURE IF EXISTS sp1;
12196 delimiter //;
12197 --error ER_PARSE_ERROR
12198 CREATE PROCEDURE sp1( )
12199 BEGIN
12200     declare inout condition for sqlstate '02000';
12201     declare exit handler for inout set @var2 = 1;
12202 END//
12203 delimiter ;//
12205 DROP PROCEDURE IF EXISTS sp1;
12207 delimiter //;
12208 --error ER_PARSE_ERROR
12209 CREATE PROCEDURE sp1( )
12210 BEGIN
12211     declare insensitive condition for sqlstate '02000';
12212     declare exit handler for insensitive set @var2 = 1;
12213 END//
12214 delimiter ;//
12216 DROP PROCEDURE IF EXISTS sp1;
12218 delimiter //;
12219 --error ER_PARSE_ERROR
12220 CREATE PROCEDURE sp1( )
12221 BEGIN
12222     declare insert condition for sqlstate '02000';
12223     declare exit handler for insert set @var2 = 1;
12224 END//
12225 delimiter ;//
12227 DROP PROCEDURE IF EXISTS sp1;
12229 delimiter //;
12230 --error ER_PARSE_ERROR
12231 CREATE PROCEDURE sp1( )
12232 BEGIN
12233     declare int condition for sqlstate '02000';
12234     declare exit handler for int set @var2 = 1;
12235 END//
12236 delimiter ;//
12238 DROP PROCEDURE IF EXISTS sp1;
12240 delimiter //;
12241 --error ER_PARSE_ERROR
12242 CREATE PROCEDURE sp1( )
12243 BEGIN
12244     declare int1 condition for sqlstate '02000';
12245     declare exit handler for int set @var2 = 1;
12246 END//
12247 delimiter ;//
12249 DROP PROCEDURE IF EXISTS sp1;
12251 delimiter //;
12252 --error ER_PARSE_ERROR
12253 CREATE PROCEDURE sp1( )
12254 BEGIN
12255     declare int2 condition for sqlstate '02000';
12256     declare exit handler for int set @var2 = 1;
12257 END//
12258 delimiter ;//
12260 DROP PROCEDURE IF EXISTS sp1;
12262 delimiter //;
12263 --error ER_PARSE_ERROR
12264 CREATE PROCEDURE sp1( )
12265 BEGIN
12266     declare int3 condition for sqlstate '02000';
12267     declare exit handler for int set @var2 = 1;
12268 END//
12269 delimiter ;//
12271 DROP PROCEDURE IF EXISTS sp1;
12273 delimiter //;
12274 --error ER_PARSE_ERROR
12275 CREATE PROCEDURE sp1( )
12276 BEGIN
12277     declare int4 condition for sqlstate '02000';
12278     declare exit handler for int set @var2 = 1;
12279 END//
12280 delimiter ;//
12282 DROP PROCEDURE IF EXISTS sp1;
12284 delimiter //;
12285 --error ER_PARSE_ERROR
12286 CREATE PROCEDURE sp1( )
12287 BEGIN
12288     declare int8 condition for sqlstate '02000';
12289     declare exit handler for int set @var2 = 1;
12290 END//
12291 delimiter ;//
12293 DROP PROCEDURE IF EXISTS sp1;
12295 delimiter //;
12296 --error ER_PARSE_ERROR
12297 CREATE PROCEDURE sp1( )
12298 BEGIN
12299     declare integer condition for sqlstate '02000';
12300     declare exit handler for integer set @var2 = 1;
12301 END//
12302 delimiter ;//
12304 DROP PROCEDURE IF EXISTS sp1;
12306 delimiter //;
12307 --error ER_PARSE_ERROR
12308 CREATE PROCEDURE sp1( )
12309 BEGIN
12310     declare interval condition for sqlstate '02000';
12311     declare exit handler for interval set @var2 = 1;
12312 END//
12313 delimiter ;//
12315 DROP PROCEDURE IF EXISTS sp1;
12317 delimiter //;
12318 --error ER_PARSE_ERROR
12319 CREATE PROCEDURE sp1( )
12320 BEGIN
12321     declare into condition for sqlstate '02000';
12322     declare exit handler for into set @var2 = 1;
12323 END//
12324 delimiter ;//
12326 DROP PROCEDURE IF EXISTS sp1;
12328 delimiter //;
12329 --error ER_PARSE_ERROR
12330 CREATE PROCEDURE sp1( )
12331 BEGIN
12332     declare is condition for sqlstate '02000';
12333     declare exit handler for is set @var2 = 1;
12334 END//
12335 delimiter ;//
12337 DROP PROCEDURE IF EXISTS sp1;
12339 delimiter //;
12340 --error ER_PARSE_ERROR
12341 CREATE PROCEDURE sp1( )
12342 BEGIN
12343     declare iterate condition for sqlstate '02000';
12344     declare exit handler for iterate set @var2 = 1;
12345 END//
12346 delimiter ;//
12348 DROP PROCEDURE IF EXISTS sp1;
12350 delimiter //;
12351 --error ER_PARSE_ERROR
12352 CREATE PROCEDURE sp1( )
12353 BEGIN
12354     declare join condition for sqlstate '02000';
12355     declare exit handler for join set @var2 = 1;
12356 END//
12357 delimiter ;//
12359 DROP PROCEDURE IF EXISTS sp1;
12361 delimiter //;
12362 --error ER_PARSE_ERROR
12363 CREATE PROCEDURE sp1( )
12364 BEGIN
12365     declare key condition for sqlstate '02000';
12366     declare exit handler for key set @var2 = 1;
12367 END//
12368 delimiter ;//
12370 DROP PROCEDURE IF EXISTS sp1;
12372 delimiter //;
12373 --error ER_PARSE_ERROR
12374 CREATE PROCEDURE sp1( )
12375 BEGIN
12376     declare keys condition for sqlstate '02000';
12377     declare exit handler for keys set @var2 = 1;
12378 END//
12379 delimiter ;//
12381 DROP PROCEDURE IF EXISTS sp1;
12383 delimiter //;
12384 --error ER_PARSE_ERROR
12385 CREATE PROCEDURE sp1( )
12386 BEGIN
12387     declare kill condition for sqlstate '02000';
12388     declare exit handler for kill set @var2 = 1;
12389 END//
12390 delimiter ;//
12392 DROP PROCEDURE IF EXISTS sp1;
12394 delimiter //;
12395 --error ER_PARSE_ERROR
12396 CREATE PROCEDURE sp1( )
12397 BEGIN
12398     declare leading condition for sqlstate '02000';
12399     declare exit handler for leading set @var2 = 1;
12400 END//
12401 delimiter ;//
12403 DROP PROCEDURE IF EXISTS sp1;
12405 delimiter //;
12406 --error ER_PARSE_ERROR
12407 CREATE PROCEDURE sp1( )
12408 BEGIN
12409     declare leave condition for sqlstate '02000';
12410     declare exit handler for leave set @var2 = 1;
12411 END//
12412 delimiter ;//
12414 DROP PROCEDURE IF EXISTS sp1;
12416 delimiter //;
12417 --error ER_PARSE_ERROR
12418 CREATE PROCEDURE sp1( )
12419 BEGIN
12420     declare left condition for sqlstate '02000';
12421     declare exit handler for left set @var2 = 1;
12422 END//
12423 delimiter ;//
12425 DROP PROCEDURE IF EXISTS sp1;
12427 delimiter //;
12428 --error ER_PARSE_ERROR
12429 CREATE PROCEDURE sp1( )
12430 BEGIN
12431     declare like condition for sqlstate '02000';
12432     declare exit handler for like set @var2 = 1;
12433 END//
12434 delimiter ;//
12436 DROP PROCEDURE IF EXISTS sp1;
12438 delimiter //;
12439 --error ER_PARSE_ERROR
12440 CREATE PROCEDURE sp1( )
12441 BEGIN
12442     declare limit condition for sqlstate '02000';
12443     declare exit handler for limit set @var2 = 1;
12444 END//
12445 delimiter ;//
12447 DROP PROCEDURE IF EXISTS sp1;
12449 delimiter //;
12450 --error ER_PARSE_ERROR
12451 CREATE PROCEDURE sp1( )
12452 BEGIN
12453     declare linear condition for sqlstate '02000';
12454     declare exit handler for int set @var2 = 1;
12455 END//
12456 delimiter ;//
12458 DROP PROCEDURE IF EXISTS sp1;
12460 delimiter //;
12461 --error ER_PARSE_ERROR
12462 CREATE PROCEDURE sp1( )
12463 BEGIN
12464     declare lines condition for sqlstate '02000';
12465     declare exit handler for lines set @var2 = 1;
12466 END//
12467 delimiter ;//
12469 DROP PROCEDURE IF EXISTS sp1;
12471 delimiter //;
12472 --error ER_PARSE_ERROR
12473 CREATE PROCEDURE sp1( )
12474 BEGIN
12475     declare load condition for sqlstate '02000';
12476     declare exit handler for load set @var2 = 1;
12477 END//
12478 delimiter ;//
12480 DROP PROCEDURE IF EXISTS sp1;
12482 delimiter //;
12483 --error ER_PARSE_ERROR
12484 CREATE PROCEDURE sp1( )
12485 BEGIN
12486     declare localtime condition for sqlstate '02000';
12487     declare exit handler for localtime set @var2 = 1;
12488 END//
12489 delimiter ;//
12491 DROP PROCEDURE IF EXISTS sp1;
12493 delimiter //;
12494 --error ER_PARSE_ERROR
12495 CREATE PROCEDURE sp1( )
12496 BEGIN
12497     declare localtimestamp condition for sqlstate '02000';
12498     declare exit handler for localtimestamp set @var2 = 1;
12499 END//
12500 delimiter ;//
12502 DROP PROCEDURE IF EXISTS sp1;
12504 delimiter //;
12505 --error ER_PARSE_ERROR
12506 CREATE PROCEDURE sp1( )
12507 BEGIN
12508     declare lock condition for sqlstate '02000';
12509     declare exit handler for lock set @var2 = 1;
12510 END//
12511 delimiter ;//
12513 DROP PROCEDURE IF EXISTS sp1;
12515 delimiter //;
12516 --error ER_PARSE_ERROR
12517 CREATE PROCEDURE sp1( )
12518 BEGIN
12519     declare long condition for sqlstate '02000';
12520     declare exit handler for long set @var2 = 1;
12521 END//
12522 delimiter ;//
12524 DROP PROCEDURE IF EXISTS sp1;
12526 delimiter //;
12527 --error ER_PARSE_ERROR
12528 CREATE PROCEDURE sp1( )
12529 BEGIN
12530     declare longblob condition for sqlstate '02000';
12531     declare exit handler for longblob set @var2 = 1;
12532 END//
12533 delimiter ;//
12535 DROP PROCEDURE IF EXISTS sp1;
12537 delimiter //;
12538 --error ER_PARSE_ERROR
12539 CREATE PROCEDURE sp1( )
12540 BEGIN
12541     declare longtext condition for sqlstate '02000';
12542     declare exit handler for longtext set @var2 = 1;
12543 END//
12544 delimiter ;//
12546 DROP PROCEDURE IF EXISTS sp1;
12548 delimiter //;
12549 --error ER_PARSE_ERROR
12550 CREATE PROCEDURE sp1( )
12551 BEGIN
12552     declare loop condition for sqlstate '02000';
12553     declare exit handler for loop set @var2 = 1;
12554 END//
12555 delimiter ;//
12557 DROP PROCEDURE IF EXISTS sp1;
12559 delimiter //;
12560 --error ER_PARSE_ERROR
12561 CREATE PROCEDURE sp1( )
12562 BEGIN
12563     declare low_priority condition for sqlstate '02000';
12564     declare exit handler for low_priority set @var2 = 1;
12565 END//
12566 delimiter ;//
12568 DROP PROCEDURE IF EXISTS sp1;
12570 delimiter //;
12571 --error ER_PARSE_ERROR
12572 CREATE PROCEDURE sp1( )
12573 BEGIN
12574     declare master_ssl_verify_server_cert condition for sqlstate '02000';
12575     declare exit handler for int set @var2 = 1;
12576 END//
12577 delimiter ;//
12579 DROP PROCEDURE IF EXISTS sp1;
12581 delimiter //;
12582 --error ER_PARSE_ERROR
12583 CREATE PROCEDURE sp1( )
12584 BEGIN
12585     declare match condition for sqlstate '02000';
12586     declare exit handler for match set @var2 = 1;
12587 END//
12588 delimiter ;//
12590 DROP PROCEDURE IF EXISTS sp1;
12592 delimiter //;
12593 --error ER_PARSE_ERROR
12594 CREATE PROCEDURE sp1( )
12595 BEGIN
12596     declare mediumblob condition for sqlstate '02000';
12597     declare exit handler for mediumblob set @var2 = 1;
12598 END//
12599 delimiter ;//
12601 DROP PROCEDURE IF EXISTS sp1;
12603 delimiter //;
12604 --error ER_PARSE_ERROR
12605 CREATE PROCEDURE sp1( )
12606 BEGIN
12607     declare mediumint condition for sqlstate '02000';
12608     declare exit handler for mediumint set @var2 = 1;
12609 END//
12610 delimiter ;//
12612 DROP PROCEDURE IF EXISTS sp1;
12614 delimiter //;
12615 --error ER_PARSE_ERROR
12616 CREATE PROCEDURE sp1( )
12617 BEGIN
12618     declare mediumtext condition for sqlstate '02000';
12619     declare exit handler for mediumtext set @var2 = 1;
12620 END//
12621 delimiter ;//
12623 DROP PROCEDURE IF EXISTS sp1;
12625 delimiter //;
12626 --error ER_PARSE_ERROR
12627 CREATE PROCEDURE sp1( )
12628 BEGIN
12629     declare middleint condition for sqlstate '02000';
12630     declare exit handler for middleint set @var2 = 1;
12631 END//
12632 delimiter ;//
12634 DROP PROCEDURE IF EXISTS sp1;
12636 delimiter //;
12637 --error ER_PARSE_ERROR
12638 CREATE PROCEDURE sp1( )
12639 BEGIN
12640     declare minute_microsecond condition for sqlstate '02000';
12641     declare exit handler for minute_microsecond set @var2 = 1;
12642 END//
12643 delimiter ;//
12645 DROP PROCEDURE IF EXISTS sp1;
12647 delimiter //;
12648 --error ER_PARSE_ERROR
12649 CREATE PROCEDURE sp1( )
12650 BEGIN
12651     declare minute_second condition for sqlstate '02000';
12652     declare exit handler for minute_second set @var2 = 1;
12653 END//
12654 delimiter ;//
12656 DROP PROCEDURE IF EXISTS sp1;
12658 delimiter //;
12659 --error ER_PARSE_ERROR
12660 CREATE PROCEDURE sp1( )
12661 BEGIN
12662     declare mod condition for sqlstate '02000';
12663     declare exit handler for mod set @var2 = 1;
12664 END//
12665 delimiter ;//
12667 DROP PROCEDURE IF EXISTS sp1;
12669 delimiter //;
12670 --error ER_PARSE_ERROR
12671 CREATE PROCEDURE sp1( )
12672 BEGIN
12673     declare modifies condition for sqlstate '02000';
12674     declare exit handler for modifies set @var2 = 1;
12675 END//
12676 delimiter ;//
12678 DROP PROCEDURE IF EXISTS sp1;
12680 delimiter //;
12681 --error ER_PARSE_ERROR
12682 CREATE PROCEDURE sp1( )
12683 BEGIN
12684     declare natural condition for sqlstate '02000';
12685     declare exit handler for natural set @var2 = 1;
12686 END//
12687 delimiter ;//
12689 DROP PROCEDURE IF EXISTS sp1;
12691 delimiter //;
12692 --error ER_PARSE_ERROR
12693 CREATE PROCEDURE sp1( )
12694 BEGIN
12695     declare not condition for sqlstate '02000';
12696     declare exit handler for not set @var2 = 1;
12697 END//
12698 delimiter ;//
12700 DROP PROCEDURE IF EXISTS sp1;
12702 delimiter //;
12703 --error ER_PARSE_ERROR
12704 CREATE PROCEDURE sp1( )
12705 BEGIN
12706     declare no_write_to_binlog condition for sqlstate '02000';
12707     declare exit handler for no_write_to_binlog set @var2 = 1;
12708 END//
12709 delimiter ;//
12711 DROP PROCEDURE IF EXISTS sp1;
12713 delimiter //;
12714 --error ER_PARSE_ERROR
12715 CREATE PROCEDURE sp1( )
12716 BEGIN
12717     declare null condition for sqlstate '02000';
12718     declare exit handler for null set @var2 = 1;
12719 END//
12720 delimiter ;//
12722 DROP PROCEDURE IF EXISTS sp1;
12724 delimiter //;
12725 --error ER_PARSE_ERROR
12726 CREATE PROCEDURE sp1( )
12727 BEGIN
12728     declare numeric condition for sqlstate '02000';
12729     declare exit handler for numeric set @var2 = 1;
12730 END//
12731 delimiter ;//
12733 DROP PROCEDURE IF EXISTS sp1;
12735 delimiter //;
12736 --error ER_PARSE_ERROR
12737 CREATE PROCEDURE sp1( )
12738 BEGIN
12739     declare on condition for sqlstate '02000';
12740     declare exit handler for on set @var2 = 1;
12741 END//
12742 delimiter ;//
12744 DROP PROCEDURE IF EXISTS sp1;
12746 delimiter //;
12747 --error ER_PARSE_ERROR
12748 CREATE PROCEDURE sp1( )
12749 BEGIN
12750     declare optimize condition for sqlstate '02000';
12751     declare exit handler for optimize set @var2 = 1;
12752 END//
12753 delimiter ;//
12755 DROP PROCEDURE IF EXISTS sp1;
12757 delimiter //;
12758 --error ER_PARSE_ERROR
12759 CREATE PROCEDURE sp1( )
12760 BEGIN
12761     declare option condition for sqlstate '02000';
12762     declare exit handler for option set @var2 = 1;
12763 END//
12764 delimiter ;//
12766 DROP PROCEDURE IF EXISTS sp1;
12768 delimiter //;
12769 --error ER_PARSE_ERROR
12770 CREATE PROCEDURE sp1( )
12771 BEGIN
12772     declare optionally condition for sqlstate '02000';
12773     declare exit handler for optionally set @var2 = 1;
12774 END//
12775 delimiter ;//
12777 DROP PROCEDURE IF EXISTS sp1;
12779 delimiter //;
12780 --error ER_PARSE_ERROR
12781 CREATE PROCEDURE sp1( )
12782 BEGIN
12783     declare or condition for sqlstate '02000';
12784     declare exit handler for or set @var2 = 1;
12785 END//
12786 delimiter ;//
12788 DROP PROCEDURE IF EXISTS sp1;
12790 delimiter //;
12791 --error ER_PARSE_ERROR
12792 CREATE PROCEDURE sp1( )
12793 BEGIN
12794     declare order condition for sqlstate '02000';
12795     declare exit handler for order set @var2 = 1;
12796 END//
12797 delimiter ;//
12799 DROP PROCEDURE IF EXISTS sp1;
12801 delimiter //;
12802 --error ER_PARSE_ERROR
12803 CREATE PROCEDURE sp1( )
12804 BEGIN
12805     declare out condition for sqlstate '02000';
12806     declare exit handler for out set @var2 = 1;
12807 END//
12808 delimiter ;//
12810 DROP PROCEDURE IF EXISTS sp1;
12812 delimiter //;
12813 --error ER_PARSE_ERROR
12814 CREATE PROCEDURE sp1( )
12815 BEGIN
12816     declare outer condition for sqlstate '02000';
12817     declare exit handler for outer set @var2 = 1;
12818 END//
12819 delimiter ;//
12821 DROP PROCEDURE IF EXISTS sp1;
12823 delimiter //;
12824 --error ER_PARSE_ERROR
12825 CREATE PROCEDURE sp1( )
12826 BEGIN
12827     declare outfile condition for sqlstate '02000';
12828     declare exit handler for outfile set @var2 = 1;
12829 END//
12830 delimiter ;//
12832 DROP PROCEDURE IF EXISTS sp1;
12834 delimiter //;
12835 --error ER_PARSE_ERROR
12836 CREATE PROCEDURE sp1( )
12837 BEGIN
12838     declare precision condition for sqlstate '02000';
12839     declare exit handler for precision set @var2 = 1;
12840 END//
12841 delimiter ;//
12843 DROP PROCEDURE IF EXISTS sp1;
12845 delimiter //;
12846 --error ER_PARSE_ERROR
12847 CREATE PROCEDURE sp1( )
12848 BEGIN
12849     declare primary condition for sqlstate '02000';
12850     declare exit handler for primary set @var2 = 1;
12851 END//
12852 delimiter ;//
12854 DROP PROCEDURE IF EXISTS sp1;
12856 delimiter //;
12857 --error ER_PARSE_ERROR
12858 CREATE PROCEDURE sp1( )
12859 BEGIN
12860     declare procedure condition for sqlstate '02000';
12861     declare exit handler for procedure set @var2 = 1;
12862 END//
12863 delimiter ;//
12865 DROP PROCEDURE IF EXISTS sp1;
12867 delimiter //;
12868 --error ER_PARSE_ERROR
12869 CREATE PROCEDURE sp1( )
12870 BEGIN
12871     declare purge condition for sqlstate '02000';
12872     declare exit handler for purge set @var2 = 1;
12873 END//
12874 delimiter ;//
12876 DROP PROCEDURE IF EXISTS sp1;
12878 delimiter //;
12879 --error ER_PARSE_ERROR
12880 CREATE PROCEDURE sp1( )
12881 BEGIN
12882     declare range condition for sqlstate '02000';
12883     declare exit handler for int set @var2 = 1;
12884 END//
12885 delimiter ;//
12887 DROP PROCEDURE IF EXISTS sp1;
12889 delimiter //;
12890 --error ER_PARSE_ERROR
12891 CREATE PROCEDURE sp1( )
12892 BEGIN
12893     declare read condition for sqlstate '02000';
12894     declare exit handler for read set @var2 = 1;
12895 END//
12896 delimiter ;//
12898 DROP PROCEDURE IF EXISTS sp1;
12900 delimiter //;
12901 --error ER_PARSE_ERROR
12902 CREATE PROCEDURE sp1( )
12903 BEGIN
12904     declare reads condition for sqlstate '02000';
12905     declare exit handler for reads set @var2 = 1;
12906 END//
12907 delimiter ;//
12909 DROP PROCEDURE IF EXISTS sp1;
12911 delimiter //;
12912 --error ER_PARSE_ERROR
12913 CREATE PROCEDURE sp1( )
12914 BEGIN
12915     declare read_only condition for sqlstate '02000';
12916     declare exit handler for int set @var2 = 1;
12917 END//
12918 delimiter ;//
12920 DROP PROCEDURE IF EXISTS sp1;
12922 delimiter //;
12923 --error ER_PARSE_ERROR
12924 CREATE PROCEDURE sp1( )
12925 BEGIN
12926     declare read_write condition for sqlstate '02000';
12927     declare exit handler for int set @var2 = 1;
12928 END//
12929 delimiter ;//
12931 DROP PROCEDURE IF EXISTS sp1;
12933 delimiter //;
12934 --error ER_PARSE_ERROR
12935 CREATE PROCEDURE sp1( )
12936 BEGIN
12937     declare real condition for sqlstate '02000';
12938     declare exit handler for real set @var2 = 1;
12939 END//
12940 delimiter ;//
12942 DROP PROCEDURE IF EXISTS sp1;
12944 delimiter //;
12945 --error ER_PARSE_ERROR
12946 CREATE PROCEDURE sp1( )
12947 BEGIN
12948     declare references condition for sqlstate '02000';
12949     declare exit handler for references set @var2 = 1;
12950 END//
12951 delimiter ;//
12953 DROP PROCEDURE IF EXISTS sp1;
12955 delimiter //;
12956 --error ER_PARSE_ERROR
12957 CREATE PROCEDURE sp1( )
12958 BEGIN
12959     declare regexp condition for sqlstate '02000';
12960     declare exit handler for regexp set @var2 = 1;
12961 END//
12962 delimiter ;//
12964 DROP PROCEDURE IF EXISTS sp1;
12966 delimiter //;
12967 --error ER_PARSE_ERROR
12968 CREATE PROCEDURE sp1( )
12969 BEGIN
12970     declare release condition for sqlstate '02000';
12971     declare exit handler for int set @var2 = 1;
12972 END//
12973 delimiter ;//
12975 DROP PROCEDURE IF EXISTS sp1;
12977 delimiter //;
12978 --error ER_PARSE_ERROR
12979 CREATE PROCEDURE sp1( )
12980 BEGIN
12981     declare rename condition for sqlstate '02000';
12982     declare exit handler for rename set @var2 = 1;
12983 END//
12984 delimiter ;//
12986 DROP PROCEDURE IF EXISTS sp1;
12988 delimiter //;
12989 --error ER_PARSE_ERROR
12990 CREATE PROCEDURE sp1( )
12991 BEGIN
12992     declare repeat condition for sqlstate '02000';
12993     declare exit handler for repeat set @var2 = 1;
12994 END//
12995 delimiter ;//
12997 DROP PROCEDURE IF EXISTS sp1;
12999 delimiter //;
13000 --error ER_PARSE_ERROR
13001 CREATE PROCEDURE sp1( )
13002 BEGIN
13003     declare replace condition for sqlstate '02000';
13004     declare exit handler for replace set @var2 = 1;
13005 END//
13006 delimiter ;//
13008 DROP PROCEDURE IF EXISTS sp1;
13010 delimiter //;
13011 --error ER_PARSE_ERROR
13012 CREATE PROCEDURE sp1( )
13013 BEGIN
13014     declare require condition for sqlstate '02000';
13015     declare exit handler for require set @var2 = 1;
13016 END//
13017 delimiter ;//
13019 DROP PROCEDURE IF EXISTS sp1;
13021 delimiter //;
13022 --error ER_PARSE_ERROR
13023 CREATE PROCEDURE sp1( )
13024 BEGIN
13025     declare restrict condition for sqlstate '02000';
13026     declare exit handler for restrict set @var2 = 1;
13027 END//
13028 delimiter ;//
13030 DROP PROCEDURE IF EXISTS sp1;
13032 delimiter //;
13033 --error ER_PARSE_ERROR
13034 CREATE PROCEDURE sp1( )
13035 BEGIN
13036     declare return condition for sqlstate '02000';
13037     declare exit handler for return set @var2 = 1;
13038 END//
13039 delimiter ;//
13041 DROP PROCEDURE IF EXISTS sp1;
13043 delimiter //;
13044 --error ER_PARSE_ERROR
13045 CREATE PROCEDURE sp1( )
13046 BEGIN
13047     declare revoke condition for sqlstate '02000';
13048     declare exit handler for revoke set @var2 = 1;
13049 END//
13050 delimiter ;//
13052 DROP PROCEDURE IF EXISTS sp1;
13054 delimiter //;
13055 --error ER_PARSE_ERROR
13056 CREATE PROCEDURE sp1( )
13057 BEGIN
13058     declare right condition for sqlstate '02000';
13059     declare exit handler for right set @var2 = 1;
13060 END//
13061 delimiter ;//
13063 DROP PROCEDURE IF EXISTS sp1;
13065 delimiter //;
13066 --error ER_PARSE_ERROR
13067 CREATE PROCEDURE sp1( )
13068 BEGIN
13069     declare rlike condition for sqlstate '02000';
13070     declare exit handler for rlike set @var2 = 1;
13071 END//
13072 delimiter ;//
13074 DROP PROCEDURE IF EXISTS sp1;
13076 delimiter //;
13077 --error ER_PARSE_ERROR
13078 CREATE PROCEDURE sp1( )
13079 BEGIN
13080     declare schema condition for sqlstate '02000';
13081     declare exit handler for schema set @var2 = 1;
13082 END//
13083 delimiter ;//
13085 DROP PROCEDURE IF EXISTS sp1;
13087 delimiter //;
13088 --error ER_PARSE_ERROR
13089 CREATE PROCEDURE sp1( )
13090 BEGIN
13091     declare schemas condition for sqlstate '02000';
13092     declare exit handler for schemas set @var2 = 1;
13093 END//
13094 delimiter ;//
13096 DROP PROCEDURE IF EXISTS sp1;
13098 delimiter //;
13099 --error ER_PARSE_ERROR
13100 CREATE PROCEDURE sp1( )
13101 BEGIN
13102     declare second_microsecond condition for sqlstate '02000';
13103     declare exit handler for second_microsecond set @var2 = 1;
13104 END//
13105 delimiter ;//
13107 DROP PROCEDURE IF EXISTS sp1;
13109 delimiter //;
13110 --error ER_PARSE_ERROR
13111 CREATE PROCEDURE sp1( )
13112 BEGIN
13113     declare select condition for sqlstate '02000';
13114     declare exit handler for SELECT set @var2 = 1;
13115 END//
13116 delimiter ;//
13118 DROP PROCEDURE IF EXISTS sp1;
13120 delimiter //;
13121 --error ER_PARSE_ERROR
13122 CREATE PROCEDURE sp1( )
13123 BEGIN
13124     declare sensitive condition for sqlstate '02000';
13125     declare exit handler for sensitive set @var2 = 1;
13126 END//
13127 delimiter ;//
13129 DROP PROCEDURE IF EXISTS sp1;
13131 delimiter //;
13132 --error ER_PARSE_ERROR
13133 CREATE PROCEDURE sp1( )
13134 BEGIN
13135     declare separator condition for sqlstate '02000';
13136     declare exit handler for separator set @var2 = 1;
13137 END//
13138 delimiter ;//
13140 DROP PROCEDURE IF EXISTS sp1;
13142 delimiter //;
13143 --error ER_PARSE_ERROR
13144 CREATE PROCEDURE sp1( )
13145 BEGIN
13146     declare set condition for sqlstate '02000';
13147     declare exit handler for set set @var2 = 1;
13148 END//
13149 delimiter ;//
13151 DROP PROCEDURE IF EXISTS sp1;
13153 delimiter //;
13154 --error ER_PARSE_ERROR
13155 CREATE PROCEDURE sp1( )
13156 BEGIN
13157     declare show condition for sqlstate '02000';
13158     declare exit handler for show set @var2 = 1;
13159 END//
13160 delimiter ;//
13162 DROP PROCEDURE IF EXISTS sp1;
13164 delimiter //;
13165 --error ER_PARSE_ERROR
13166 CREATE PROCEDURE sp1( )
13167 BEGIN
13168     declare smallint condition for sqlstate '02000';
13169     declare exit handler for smallint set @var2 = 1;
13170 END//
13171 delimiter ;//
13173 DROP PROCEDURE IF EXISTS sp1;
13175 delimiter //;
13176 --error ER_PARSE_ERROR
13177 CREATE PROCEDURE sp1( )
13178 BEGIN
13179     declare spatial condition for sqlstate '02000';
13180     declare exit handler for spatial set @var2 = 1;
13181 END//
13182 delimiter ;//
13184 DROP PROCEDURE IF EXISTS sp1;
13186 delimiter //;
13187 --error ER_PARSE_ERROR
13188 CREATE PROCEDURE sp1( )
13189 BEGIN
13190     declare specific condition for sqlstate '02000';
13191     declare exit handler for specific set @var2 = 1;
13192 END//
13193 delimiter ;//
13195 DROP PROCEDURE IF EXISTS sp1;
13197 delimiter //;
13198 --error ER_PARSE_ERROR
13199 CREATE PROCEDURE sp1( )
13200 BEGIN
13201     declare sql condition for sqlstate '02000';
13202     declare exit handler for sql set @var2 = 1;
13203 END//
13204 delimiter ;//
13206 DROP PROCEDURE IF EXISTS sp1;
13208 delimiter //;
13209 --error ER_PARSE_ERROR
13210 CREATE PROCEDURE sp1( )
13211 BEGIN
13212     declare sqlexception condition for sqlstate '02000';
13213     declare exit handler for sqlexception set @var2 = 1;
13214 END//
13215 delimiter ;//
13217 DROP PROCEDURE IF EXISTS sp1;
13219 delimiter //;
13220 --error ER_PARSE_ERROR
13221 CREATE PROCEDURE sp1( )
13222 BEGIN
13223     declare sqlstate condition for sqlstate '02000';
13224     declare exit handler for sqlstate set @var2 = 1;
13225 END//
13226 delimiter ;//
13228 DROP PROCEDURE IF EXISTS sp1;
13230 delimiter //;
13231 --error ER_PARSE_ERROR
13232 CREATE PROCEDURE sp1( )
13233 BEGIN
13234     declare sqlwarning condition for sqlstate '02000';
13235     declare exit handler for sqlwarning set @var2 = 1;
13236 END//
13237 delimiter ;//
13239 DROP PROCEDURE IF EXISTS sp1;
13241 delimiter //;
13242 --error ER_PARSE_ERROR
13243 CREATE PROCEDURE sp1( )
13244 BEGIN
13245     declare sql_big_result condition for sqlstate '02000';
13246     declare exit handler for sql_big_result set @var2 = 1;
13247 END//
13248 delimiter ;//
13250 DROP PROCEDURE IF EXISTS sp1;
13252 delimiter //;
13253 --error ER_PARSE_ERROR
13254 CREATE PROCEDURE sp1( )
13255 BEGIN
13256     declare sql_calc_found_rows condition for sqlstate '02000';
13257     declare exit handler for sql_calc_found_rows set @var2 = 1;
13258 END//
13259 delimiter ;//
13261 DROP PROCEDURE IF EXISTS sp1;
13263 delimiter //;
13264 --error ER_PARSE_ERROR
13265 CREATE PROCEDURE sp1( )
13266 BEGIN
13267     declare sql_small_result condition for sqlstate '02000';
13268     declare exit handler for sql_small_result set @var2 = 1;
13269 END//
13270 delimiter ;//
13272 DROP PROCEDURE IF EXISTS sp1;
13274 delimiter //;
13275 --error ER_PARSE_ERROR
13276 CREATE PROCEDURE sp1( )
13277 BEGIN
13278     declare ssl condition for sqlstate '02000';
13279     declare exit handler for ssl set @var2 = 1;
13280 END//
13281 delimiter ;//
13283 DROP PROCEDURE IF EXISTS sp1;
13285 delimiter //;
13286 --error ER_PARSE_ERROR
13287 CREATE PROCEDURE sp1( )
13288 BEGIN
13289     declare starting condition for sqlstate '02000';
13290     declare exit handler for starting set @var2 = 1;
13291 END//
13292 delimiter ;//
13294 DROP PROCEDURE IF EXISTS sp1;
13296 delimiter //;
13297 --error ER_PARSE_ERROR
13298 CREATE PROCEDURE sp1( )
13299 BEGIN
13300     declare straight_join condition for sqlstate '02000';
13301     declare exit handler for straight_join set @var2 = 1;
13302 END//
13303 delimiter ;//
13305 DROP PROCEDURE IF EXISTS sp1;
13307 delimiter //;
13308 --error ER_PARSE_ERROR
13309 CREATE PROCEDURE sp1( )
13310 BEGIN
13311     declare table condition for sqlstate '02000';
13312     declare exit handler for table set @var2 = 1;
13313 END//
13314 delimiter ;//
13316 DROP PROCEDURE IF EXISTS sp1;
13318 delimiter //;
13319 --error ER_PARSE_ERROR
13320 CREATE PROCEDURE sp1( )
13321 BEGIN
13322     declare terminated condition for sqlstate '02000';
13323     declare exit handler for terminated set @var2 = 1;
13324 END//
13325 delimiter ;//
13327 DROP PROCEDURE IF EXISTS sp1;
13329 delimiter //;
13330 --error ER_PARSE_ERROR
13331 CREATE PROCEDURE sp1( )
13332 BEGIN
13333     declare then condition for sqlstate '02000';
13334     declare exit handler for then set @var2 = 1;
13335 END//
13336 delimiter ;//
13338 DROP PROCEDURE IF EXISTS sp1;
13340 delimiter //;
13341 --error ER_PARSE_ERROR
13342 CREATE PROCEDURE sp1( )
13343 BEGIN
13344     declare tinyblob condition for sqlstate '02000';
13345     declare exit handler for tinyblob set @var2 = 1;
13346 END//
13347 delimiter ;//
13349 DROP PROCEDURE IF EXISTS sp1;
13351 delimiter //;
13352 --error ER_PARSE_ERROR
13353 CREATE PROCEDURE sp1( )
13354 BEGIN
13355     declare tinyint condition for sqlstate '02000';
13356     declare exit handler for tinyint set @var2 = 1;
13357 END//
13358 delimiter ;//
13360 DROP PROCEDURE IF EXISTS sp1;
13362 delimiter //;
13363 --error ER_PARSE_ERROR
13364 CREATE PROCEDURE sp1( )
13365 BEGIN
13366     declare tinytext condition for sqlstate '02000';
13367     declare exit handler for tinytext set @var2 = 1;
13368 END//
13369 delimiter ;//
13371 DROP PROCEDURE IF EXISTS sp1;
13373 delimiter //;
13374 --error ER_PARSE_ERROR
13375 CREATE PROCEDURE sp1( )
13376 BEGIN
13377     declare to condition for sqlstate '02000';
13378     declare exit handler for to set @var2 = 1;
13379 END//
13380 delimiter ;//
13382 DROP PROCEDURE IF EXISTS sp1;
13384 delimiter //;
13385 --error ER_PARSE_ERROR
13386 CREATE PROCEDURE sp1( )
13387 BEGIN
13388     declare trailing condition for sqlstate '02000';
13389     declare exit handler for trailing set @var2 = 1;
13390 END//
13391 delimiter ;//
13393 DROP PROCEDURE IF EXISTS sp1;
13395 delimiter //;
13396 --error ER_PARSE_ERROR
13397 CREATE PROCEDURE sp1( )
13398 BEGIN
13399     declare trigger condition for sqlstate '02000';
13400     declare exit handler for trigger set @var2 = 1;
13401 END//
13402 delimiter ;//
13404 DROP PROCEDURE IF EXISTS sp1;
13406 delimiter //;
13407 --error ER_PARSE_ERROR
13408 CREATE PROCEDURE sp1( )
13409 BEGIN
13410     declare true condition for sqlstate '02000';
13411     declare exit handler for true set @var2 = 1;
13412 END//
13413 delimiter ;//
13415 DROP PROCEDURE IF EXISTS sp1;
13417 delimiter //;
13418 --error ER_PARSE_ERROR
13419 CREATE PROCEDURE sp1( )
13420 BEGIN
13421     declare undo condition for sqlstate '02000';
13422     declare exit handler for undo set @var2 = 1;
13423 END//
13424 delimiter ;//
13426 DROP PROCEDURE IF EXISTS sp1;
13428 delimiter //;
13429 --error ER_PARSE_ERROR
13430 CREATE PROCEDURE sp1( )
13431 BEGIN
13432     declare union condition for sqlstate '02000';
13433     declare exit handler for union set @var2 = 1;
13434 END//
13435 delimiter ;//
13437 DROP PROCEDURE IF EXISTS sp1;
13439 delimiter //;
13440 --error ER_PARSE_ERROR
13441 CREATE PROCEDURE sp1( )
13442 BEGIN
13443     declare unique condition for sqlstate '02000';
13444     declare exit handler for unique set @var2 = 1;
13445 END//
13446 delimiter ;//
13448 DROP PROCEDURE IF EXISTS sp1;
13450 delimiter //;
13451 --error ER_PARSE_ERROR
13452 CREATE PROCEDURE sp1( )
13453 BEGIN
13454     declare unlock condition for sqlstate '02000';
13455     declare exit handler for unlock set @var2 = 1;
13456 END//
13457 delimiter ;//
13459 DROP PROCEDURE IF EXISTS sp1;
13461 delimiter //;
13462 --error ER_PARSE_ERROR
13463 CREATE PROCEDURE sp1( )
13464 BEGIN
13465     declare unsigned condition for sqlstate '02000';
13466     declare exit handler for unsigned set @var2 = 1;
13467 END//
13468 delimiter ;//
13470 DROP PROCEDURE IF EXISTS sp1;
13472 delimiter //;
13473 --error ER_PARSE_ERROR
13474 CREATE PROCEDURE sp1( )
13475 BEGIN
13476     declare update condition for sqlstate '02000';
13477     declare exit handler for update set @var2 = 1;
13478 END//
13479 delimiter ;//
13481 DROP PROCEDURE IF EXISTS sp1;
13483 delimiter //;
13484 --error ER_PARSE_ERROR
13485 CREATE PROCEDURE sp1( )
13486 BEGIN
13487     declare usage condition for sqlstate '02000';
13488     declare exit handler for usage set @var2 = 1;
13489 END//
13490 delimiter ;//
13492 DROP PROCEDURE IF EXISTS sp1;
13494 delimiter //;
13495 --error ER_PARSE_ERROR
13496 CREATE PROCEDURE sp1( )
13497 BEGIN
13498     declare use condition for sqlstate '02000';
13499     declare exit handler for USE set @var2 = 1;
13500 END//
13501 delimiter ;//
13503 DROP PROCEDURE IF EXISTS sp1;
13505 delimiter //;
13506 --error ER_PARSE_ERROR
13507 CREATE PROCEDURE sp1( )
13508 BEGIN
13509     declare using condition for sqlstate '02000';
13510     declare exit handler for using set @var2 = 1;
13511 END//
13512 delimiter ;//
13514 DROP PROCEDURE IF EXISTS sp1;
13516 delimiter //;
13517 --error ER_PARSE_ERROR
13518 CREATE PROCEDURE sp1( )
13519 BEGIN
13520     declare utc_date condition for sqlstate '02000';
13521     declare exit handler for utc_date set @var2 = 1;
13522 END//
13523 delimiter ;//
13525 DROP PROCEDURE IF EXISTS sp1;
13527 delimiter //;
13528 --error ER_PARSE_ERROR
13529 CREATE PROCEDURE sp1( )
13530 BEGIN
13531     declare utc_time condition for sqlstate '02000';
13532     declare exit handler for utc_time set @var2 = 1;
13533 END//
13534 delimiter ;//
13536 DROP PROCEDURE IF EXISTS sp1;
13538 delimiter //;
13539 --error ER_PARSE_ERROR
13540 CREATE PROCEDURE sp1( )
13541 BEGIN
13542     declare utc_timestamp condition for sqlstate '02000';
13543     declare exit handler for utc_timestamp set @var2 = 1;
13544 END//
13545 delimiter ;//
13547 DROP PROCEDURE IF EXISTS sp1;
13549 delimiter //;
13550 --error ER_PARSE_ERROR
13551 CREATE PROCEDURE sp1( )
13552 BEGIN
13553     declare values condition for sqlstate '02000';
13554     declare exit handler for values set @var2 = 1;
13555 END//
13556 delimiter ;//
13558 DROP PROCEDURE IF EXISTS sp1;
13560 delimiter //;
13561 --error ER_PARSE_ERROR
13562 CREATE PROCEDURE sp1( )
13563 BEGIN
13564     declare varbinary condition for sqlstate '02000';
13565     declare exit handler for varbinary set @var2 = 1;
13566 END//
13567 delimiter ;//
13569 DROP PROCEDURE IF EXISTS sp1;
13571 delimiter //;
13572 --error ER_PARSE_ERROR
13573 CREATE PROCEDURE sp1( )
13574 BEGIN
13575     declare varchar condition for sqlstate '02000';
13576     declare exit handler for varchar set @var2 = 1;
13577 END//
13578 delimiter ;//
13580 DROP PROCEDURE IF EXISTS sp1;
13582 delimiter //;
13583 --error ER_PARSE_ERROR
13584 CREATE PROCEDURE sp1( )
13585 BEGIN
13586     declare varcharacter condition for sqlstate '02000';
13587     declare exit handler for varcharacter set @var2 = 1;
13588 END//
13589 delimiter ;//
13591 DROP PROCEDURE IF EXISTS sp1;
13593 delimiter //;
13594 --error ER_PARSE_ERROR
13595 CREATE PROCEDURE sp1( )
13596 BEGIN
13597     declare varying condition for sqlstate '02000';
13598     declare exit handler for varying set @var2 = 1;
13599 END//
13600 delimiter ;//
13602 DROP PROCEDURE IF EXISTS sp1;
13604 delimiter //;
13605 --error ER_PARSE_ERROR
13606 CREATE PROCEDURE sp1( )
13607 BEGIN
13608     declare when condition for sqlstate '02000';
13609     declare exit handler for when set @var2 = 1;
13610 END//
13611 delimiter ;//
13613 DROP PROCEDURE IF EXISTS sp1;
13615 delimiter //;
13616 --error ER_PARSE_ERROR
13617 CREATE PROCEDURE sp1( )
13618 BEGIN
13619     declare where condition for sqlstate '02000';
13620     declare exit handler for where set @var2 = 1;
13621 END//
13622 delimiter ;//
13624 DROP PROCEDURE IF EXISTS sp1;
13626 delimiter //;
13627 --error ER_PARSE_ERROR
13628 CREATE PROCEDURE sp1( )
13629 BEGIN
13630     declare while condition for sqlstate '02000';
13631     declare exit handler for while set @var2 = 1;
13632 END//
13633 delimiter ;//
13635 DROP PROCEDURE IF EXISTS sp1;
13637 delimiter //;
13638 --error ER_PARSE_ERROR
13639 CREATE PROCEDURE sp1( )
13640 BEGIN
13641     declare with condition for sqlstate '02000';
13642     declare exit handler for with set @var2 = 1;
13643 END//
13644 delimiter ;//
13646 DROP PROCEDURE IF EXISTS sp1;
13648 delimiter //;
13649 --error ER_PARSE_ERROR
13650 CREATE PROCEDURE sp1( )
13651 BEGIN
13652     declare write condition for sqlstate '02000';
13653     declare exit handler for write set @var2 = 1;
13654 END//
13655 delimiter ;//
13657 DROP PROCEDURE IF EXISTS sp1;
13659 delimiter //;
13660 --error ER_PARSE_ERROR
13661 CREATE PROCEDURE sp1( )
13662 BEGIN
13663     declare xor condition for sqlstate '02000';
13664     declare exit handler for xor set @var2 = 1;
13665 END//
13666 delimiter ;//
13668 DROP PROCEDURE IF EXISTS sp1;
13670 delimiter //;
13671 --error ER_PARSE_ERROR
13672 CREATE PROCEDURE sp1( )
13673 BEGIN
13674     declare year_month condition for sqlstate '02000';
13675     declare exit handler for year_month set @var2 = 1;
13676 END//
13677 delimiter ;//
13679 DROP PROCEDURE IF EXISTS sp1;
13681 delimiter //;
13682 --error ER_PARSE_ERROR
13683 CREATE PROCEDURE sp1( )
13684 BEGIN
13685     declare zerofill condition for sqlstate '02000';
13686     declare exit handler for zerofill set @var2 = 1;
13687 END//
13688 delimiter ;//
13690 # ------------------------------------------------------------------------------
13691 let $message= Testcase :
13692               ----------
13693 Ensure that every possible type of handler may be declared for
13694 a stored procedure (continue- handler_type ).;
13695 --source include/show_msg80.inc
13697 DROP PROCEDURE IF EXISTS sp1;
13699 delimiter //;
13700 CREATE PROCEDURE sp1()
13701 BEGIN
13702     declare continue handler for sqlstate '23000' set @x2 = 1;
13704     set @x = 1;
13706     insert into t2(f1) values (1);
13708     set @x = 2;
13710     insert into t2(f1) values (1);
13712     set @x = 3;
13713 END//
13714 delimiter ;//
13716 CALL sp1();
13718 # cleanup
13720 DROP PROCEDURE sp1;
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
13728 DROP PROCEDURE IF EXISTS handler1;
13730 delimiter //;
13731 --error ER_PARSE_ERROR
13732 CREATE PROCEDURE handler1()
13733 BEGIN
13734     declare undo handler for sqlstate '23000' set @x2 = 1;
13736     set @x = 1;
13738     insert into t values (1);
13740     set @x = 2;
13742     insert into t values (1);
13744     set @x = 3;
13745 END//
13746 delimiter ;//
13748 # testcase: ensure that invalid handler declarations are rejected with an
13749 #            appropriate error message. (continue- handler_type).
13752 DROP PROCEDURE IF EXISTS handler1;
13754 delimiter //;
13755 --error ER_PARSE_ERROR
13756 CREATE PROCEDURE handler1()
13757 BEGIN
13758     declare continueinv handler for sqlstate '2300' set @x2 = 1;
13760     set @x = 1;
13762     insert into t values (1);
13764     set @x = 2;
13766     insert into t values (1);
13768     set @x = 3;
13769 END//
13770 delimiter ;//
13772 # testcase: ensure that invalid handler declarations are rejected with
13773 #            an appropriate error message (undo - handler_type ).
13776 DROP PROCEDURE IF EXISTS handler1;
13778 delimiter //;
13779 --error ER_PARSE_ERROR
13780 CREATE PROCEDURE handler1()
13781 BEGIN
13782     declare undoinv handler for sqlstate '2300' set @x2 = 1;
13784     set @x = 1;
13786     insert into t values (1);
13788     set @x = 2;
13790     insert into t values (1);
13792     set @x = 3;
13793 END//
13794 delimiter ;//
13796 # testcase: ensure that invalid handler declarations are rejected with an
13797 #            appropriate error message (exit- handler_type )
13800 DROP PROCEDURE IF EXISTS handler1;
13802 delimiter //;
13803 --error ER_PARSE_ERROR
13804 CREATE PROCEDURE handler1 ()
13805 BEGIN
13806     declare exitinv handler for sqlstate '2300' set @x2 = 1;
13808     set @x = 1;
13810     insert into t values (1);
13812     set @x = 2;
13814     insert into t values (1);
13816     set @x = 3;
13817 END//
13818 delimiter ;//
13820 DROP PROCEDURE IF EXISTS sp1;
13822 delimiter //;
13823 --error ER_PARSE_ERROR
13824 CREATE PROCEDURE sp1( )
13825 BEGIN
13826     declare accessible handler for sqlstate '02000' set @var2 = 1;
13827 END//
13828 delimiter ;//
13830 DROP PROCEDURE IF EXISTS sp1;
13832 delimiter //;
13833 --error ER_PARSE_ERROR
13834 CREATE PROCEDURE sp1( )
13835 BEGIN
13836     declare add handler for sqlstate '02000' set @var2 = 1;
13837 END//
13838 delimiter ;//
13840 DROP PROCEDURE IF EXISTS sp1;
13842 delimiter //;
13843 --error ER_PARSE_ERROR
13844 CREATE PROCEDURE sp1( )
13845 BEGIN
13846     declare all handler for sqlstate '02000' set @var2 = 1;
13847 END//
13848 delimiter ;//
13850 DROP PROCEDURE IF EXISTS sp1;
13852 delimiter //;
13853 --error ER_PARSE_ERROR
13854 CREATE PROCEDURE sp1( )
13855 BEGIN
13856     declare alter handler for sqlstate '02000' set @var2 = 1;
13857 END//
13858 delimiter ;//
13860 DROP PROCEDURE IF EXISTS sp1;
13862 delimiter //;
13863 --error ER_PARSE_ERROR
13864 CREATE PROCEDURE sp1( )
13865 BEGIN
13866     declare analyze handler for sqlstate '02000' set @var2 = 1;
13867 END//
13868 delimiter ;//
13870 DROP PROCEDURE IF EXISTS sp1;
13872 delimiter //;
13873 --error ER_PARSE_ERROR
13874 CREATE PROCEDURE sp1( )
13875 BEGIN
13876     declare and handler for sqlstate '02000' set @var2 = 1;
13877 END//
13878 delimiter ;//
13880 DROP PROCEDURE IF EXISTS sp1;
13882 delimiter //;
13883 --error ER_PARSE_ERROR
13884 CREATE PROCEDURE sp1( )
13885 BEGIN
13886     declare as handler for sqlstate '02000' set @var2 = 1;
13887 END//
13888 delimiter ;//
13890 DROP PROCEDURE IF EXISTS sp1;
13892 delimiter //;
13893 --error ER_PARSE_ERROR
13894 CREATE PROCEDURE sp1( )
13895 BEGIN
13896     declare asc handler for sqlstate '02000' set @var2 = 1;
13897 END//
13898 delimiter ;//
13900 DROP PROCEDURE IF EXISTS sp1;
13902 delimiter //;
13903 --error ER_PARSE_ERROR
13904 CREATE PROCEDURE sp1( )
13905 BEGIN
13906     declare asensitive handler for sqlstate '02000' set @var2 = 1;
13907 END//
13908 delimiter ;//
13910 DROP PROCEDURE IF EXISTS sp1;
13912 delimiter //;
13913 --error ER_PARSE_ERROR
13914 CREATE PROCEDURE sp1( )
13915 BEGIN
13916     declare before handler for sqlstate '02000' set @var2 = 1;
13917 END//
13918 delimiter ;//
13920 DROP PROCEDURE IF EXISTS sp1;
13922 delimiter //;
13923 --error ER_PARSE_ERROR
13924 CREATE PROCEDURE sp1( )
13925 BEGIN
13926     declare between handler for sqlstate '02000' set @var2 = 1;
13927 END//
13928 delimiter ;//
13930 DROP PROCEDURE IF EXISTS sp1;
13932 delimiter //;
13933 --error ER_PARSE_ERROR
13934 CREATE PROCEDURE sp1( )
13935 BEGIN
13936     declare bigint handler for sqlstate '02000' set @var2 = 1;
13937 END//
13938 delimiter ;//
13940 DROP PROCEDURE IF EXISTS sp1;
13942 delimiter //;
13943 --error ER_PARSE_ERROR
13944 CREATE PROCEDURE sp1( )
13945 BEGIN
13946     declare binary handler for sqlstate '02000' set @var2 = 1;
13947 END//
13948 delimiter ;//
13950 DROP PROCEDURE IF EXISTS sp1;
13952 delimiter //;
13953 --error ER_PARSE_ERROR
13954 CREATE PROCEDURE sp1( )
13955 BEGIN
13956     declare blob handler for sqlstate '02000' set @var2 = 1;
13957 END//
13958 delimiter ;//
13960 DROP PROCEDURE IF EXISTS sp1;
13962 delimiter //;
13963 --error ER_PARSE_ERROR
13964 CREATE PROCEDURE sp1( )
13965 BEGIN
13966     declare both handler for sqlstate '02000' set @var2 = 1;
13967 END//
13968 delimiter ;//
13970 DROP PROCEDURE IF EXISTS sp1;
13972 delimiter //;
13973 --error ER_PARSE_ERROR
13974 CREATE PROCEDURE sp1( )
13975 BEGIN
13976     declare by handler for sqlstate '02000' set @var2 = 1;
13977 END//
13978 delimiter ;//
13980 DROP PROCEDURE IF EXISTS sp1;
13982 delimiter //;
13983 --error ER_PARSE_ERROR
13984 CREATE PROCEDURE sp1( )
13985 BEGIN
13986     declare call handler for sqlstate '02000' set @var2 = 1;
13987 END//
13988 delimiter ;//
13990 DROP PROCEDURE IF EXISTS sp1;
13992 delimiter //;
13993 --error ER_PARSE_ERROR
13994 CREATE PROCEDURE sp1( )
13995 BEGIN
13996     declare cascade handler for sqlstate '02000' set @var2 = 1;
13997 END//
13998 delimiter ;//
14000 DROP PROCEDURE IF EXISTS sp1;
14002 delimiter //;
14003 --error ER_PARSE_ERROR
14004 CREATE PROCEDURE sp1( )
14005 BEGIN
14006     declare case handler for sqlstate '02000' set @var2 = 1;
14007 END//
14008 delimiter ;//
14010 DROP PROCEDURE IF EXISTS sp1;
14012 delimiter //;
14013 --error ER_PARSE_ERROR
14014 CREATE PROCEDURE sp1( )
14015 BEGIN
14016     declare change handler for sqlstate '02000' set @var2 = 1;
14017 END//
14018 delimiter ;//
14020 DROP PROCEDURE IF EXISTS sp1;
14022 delimiter //;
14023 --error ER_PARSE_ERROR
14024 CREATE PROCEDURE sp1( )
14025 BEGIN
14026     declare char handler for sqlstate '02000' set @var2 = 1;
14027 END//
14028 delimiter ;//
14030 DROP PROCEDURE IF EXISTS sp1;
14032 delimiter //;
14033 --error ER_PARSE_ERROR
14034 CREATE PROCEDURE sp1( )
14035 BEGIN
14036     declare character handler for sqlstate '02000' set @var2 = 1;
14037 END//
14038 delimiter ;//
14040 DROP PROCEDURE IF EXISTS sp1;
14042 delimiter //;
14043 --error ER_PARSE_ERROR
14044 CREATE PROCEDURE sp1( )
14045 BEGIN
14046     declare check handler for sqlstate '02000' set @var2 = 1;
14047 END//
14048 delimiter ;//
14050 DROP PROCEDURE IF EXISTS sp1;
14052 delimiter //;
14053 --error ER_PARSE_ERROR
14054 CREATE PROCEDURE sp1( )
14055 BEGIN
14056     declare collate handler for sqlstate '02000' set @var2 = 1;
14057 END//
14058 delimiter ;//
14060 DROP PROCEDURE IF EXISTS sp1;
14062 delimiter //;
14063 --error ER_PARSE_ERROR
14064 CREATE PROCEDURE sp1( )
14065 BEGIN
14066     declare column handler for sqlstate '02000' set @var2 = 1;
14067 END//
14068 delimiter ;//
14070 DROP PROCEDURE IF EXISTS sp1;
14072 delimiter //;
14073 --error ER_PARSE_ERROR
14074 CREATE PROCEDURE sp1( )
14075 BEGIN
14076     declare condition handler for sqlstate '02000' set @var2 = 1;
14077 END//
14078 delimiter ;//
14080 DROP PROCEDURE IF EXISTS sp1;
14082 delimiter //;
14083 --error ER_PARSE_ERROR
14084 CREATE PROCEDURE sp1( )
14085 BEGIN
14086     declare constraint handler for sqlstate '02000' set @var2 = 1;
14087 END//
14088 delimiter ;//
14090 DROP PROCEDURE IF EXISTS sp1;
14092 --error ER_PARSE_ERROR
14093 delimiter //;
14094 CREATE PROCEDURE sp1( )
14095  BEGIN
14096    declare continue handler for sqlstate '02000' set @var2 = 1;
14097 END//
14098 delimiter ;//
14100 DROP PROCEDURE IF EXISTS sp1;
14102 delimiter //;
14103 --error ER_PARSE_ERROR
14104 CREATE PROCEDURE sp1( )
14105 BEGIN
14106     declare convert handler for sqlstate '02000' set @var2 = 1;
14107 END//
14108 delimiter ;//
14110 DROP PROCEDURE IF EXISTS sp1;
14112 delimiter //;
14113 --error ER_PARSE_ERROR
14114 CREATE PROCEDURE sp1( )
14115 BEGIN
14116     declare create handler for sqlstate '02000' set @var2 = 1;
14117 END//
14118 delimiter ;//
14120 DROP PROCEDURE IF EXISTS sp1;
14122 delimiter //;
14123 --error ER_PARSE_ERROR
14124 CREATE PROCEDURE sp1( )
14125 BEGIN
14126     declare cross handler for sqlstate '02000' set @var2 = 1;
14127 END//
14128 delimiter ;//
14130 DROP PROCEDURE IF EXISTS sp1;
14132 delimiter //;
14133 --error ER_PARSE_ERROR
14134 CREATE PROCEDURE sp1( )
14135 BEGIN
14136     declare current_date handler for sqlstate '02000' set @var2 = 1;
14137 END//
14138 delimiter ;//
14140 DROP PROCEDURE IF EXISTS sp1;
14142 delimiter //;
14143 --error ER_PARSE_ERROR
14144 CREATE PROCEDURE sp1( )
14145 BEGIN
14146     declare current_time handler for sqlstate '02000' set @var2 = 1;
14147 END//
14148 delimiter ;//
14150 DROP PROCEDURE IF EXISTS sp1;
14152 delimiter //;
14153 --error ER_PARSE_ERROR
14154 CREATE PROCEDURE sp1( )
14155 BEGIN
14156     declare current_timestamp handler for sqlstate '02000' set @var2 = 1;
14157 END//
14158 delimiter ;//
14160 DROP PROCEDURE IF EXISTS sp1;
14162 delimiter //;
14163 --error ER_PARSE_ERROR
14164 CREATE PROCEDURE sp1( )
14165 BEGIN
14166     declare current_user handler for sqlstate '02000' set @var2 = 1;
14167 END//
14168 delimiter ;//
14170 DROP PROCEDURE IF EXISTS sp1;
14172 delimiter //;
14173 --error ER_PARSE_ERROR
14174 CREATE PROCEDURE sp1( )
14175 BEGIN
14176     declare cursor handler for sqlstate '02000' set @var2 = 1;
14177 END//
14178 delimiter ;//
14180 DROP PROCEDURE IF EXISTS sp1;
14182 delimiter //;
14183 --error ER_PARSE_ERROR
14184 CREATE PROCEDURE sp1( )
14185 BEGIN
14186     declare database handler for sqlstate '02000' set @var2 = 1;
14187 END//
14188 delimiter ;//
14190 DROP PROCEDURE IF EXISTS sp1;
14192 delimiter //;
14193 --error ER_PARSE_ERROR
14194 CREATE PROCEDURE sp1( )
14195 BEGIN
14196     declare databases handler for sqlstate '02000' set @var2 = 1;
14197 END//
14198 delimiter ;//
14200 DROP PROCEDURE IF EXISTS sp1;
14202 delimiter //;
14203 --error ER_PARSE_ERROR
14204 CREATE PROCEDURE sp1( )
14205 BEGIN
14206     declare day_hour handler for sqlstate '02000' set @var2 = 1;
14207 END//
14208 delimiter ;//
14210 DROP PROCEDURE IF EXISTS sp1;
14212 delimiter //;
14213 --error ER_PARSE_ERROR
14214 CREATE PROCEDURE sp1( )
14215 BEGIN
14216     declare day_microsecond handler for sqlstate '02000' set @var2 = 1;
14217 END//
14218 delimiter ;//
14220 DROP PROCEDURE IF EXISTS sp1;
14222 delimiter //;
14223 --error ER_PARSE_ERROR
14224 CREATE PROCEDURE sp1( )
14225 BEGIN
14226     declare day_minute handler for sqlstate '02000' set @var2 = 1;
14227 END//
14228 delimiter ;//
14230 DROP PROCEDURE IF EXISTS sp1;
14232 delimiter //;
14233 --error ER_PARSE_ERROR
14234 CREATE PROCEDURE sp1( )
14235 BEGIN
14236     declare day_second handler for sqlstate '02000' set @var2 = 1;
14237 END//
14238 delimiter ;//
14240 DROP PROCEDURE IF EXISTS sp1;
14242 delimiter //;
14243 --error ER_PARSE_ERROR
14244 CREATE PROCEDURE sp1( )
14245 BEGIN
14246     declare dec handler for sqlstate '02000' set @var2 = 1;
14247 END//
14248 delimiter ;//
14250 DROP PROCEDURE IF EXISTS sp1;
14252 delimiter //;
14253 --error ER_PARSE_ERROR
14254 CREATE PROCEDURE sp1( )
14255 BEGIN
14256     declare decimal handler for sqlstate '02000' set @var2 = 1;
14257 END//
14258 delimiter ;//
14260 DROP PROCEDURE IF EXISTS sp1;
14262 delimiter //;
14263 --error ER_PARSE_ERROR
14264 CREATE PROCEDURE sp1( )
14265 BEGIN
14266     declare declare handler for sqlstate '02000' set @var2 = 1;
14267 END//
14268 delimiter ;//
14270 DROP PROCEDURE IF EXISTS sp1;
14272 delimiter //;
14273 --error ER_PARSE_ERROR
14274 CREATE PROCEDURE sp1( )
14275 BEGIN
14276     declare default handler for sqlstate '02000' set @var2 = 1;
14277 END//
14278 delimiter ;//
14280 DROP PROCEDURE IF EXISTS sp1;
14282 delimiter //;
14283 --error ER_PARSE_ERROR
14284 CREATE PROCEDURE sp1( )
14285 BEGIN
14286     declare delayed handler for sqlstate '02000' set @var2 = 1;
14287 END//
14288 delimiter ;//
14290 DROP PROCEDURE IF EXISTS sp1;
14292 delimiter //;
14293 --error ER_PARSE_ERROR
14294 CREATE PROCEDURE sp1( )
14295 BEGIN
14296     declare delete handler for sqlstate '02000' set @var2 = 1;
14297 END//
14298 delimiter ;//
14300 DROP PROCEDURE IF EXISTS sp1;
14302 delimiter //;
14303 --error ER_PARSE_ERROR
14304 CREATE PROCEDURE sp1( )
14305 BEGIN
14306     declare desc handler for sqlstate '02000' set @var2 = 1;
14307 END//
14308 delimiter ;//
14310 DROP PROCEDURE IF EXISTS sp1;
14312 delimiter //;
14313 --error ER_PARSE_ERROR
14314 CREATE PROCEDURE sp1( )
14315 BEGIN
14316     declare describe handler for sqlstate '02000' set @var2 = 1;
14317 END//
14318 delimiter ;//
14320 DROP PROCEDURE IF EXISTS sp1;
14322 delimiter //;
14323 --error ER_PARSE_ERROR
14324 CREATE PROCEDURE sp1( )
14325 BEGIN
14326     declare deterministic handler for sqlstate '02000' set @var2 = 1;
14327 END//
14328 delimiter ;//
14330 DROP PROCEDURE IF EXISTS sp1;
14332 delimiter //;
14333 --error ER_PARSE_ERROR
14334 CREATE PROCEDURE sp1( )
14335 BEGIN
14336     declare distinct handler for sqlstate '02000' set @var2 = 1;
14337 END//
14338 delimiter ;//
14340 DROP PROCEDURE IF EXISTS sp1;
14342 delimiter //;
14343 --error ER_PARSE_ERROR
14344 CREATE PROCEDURE sp1( )
14345 BEGIN
14346     declare distinctrow handler for sqlstate '02000' set @var2 = 1;
14347 END//
14348 delimiter ;//
14350 DROP PROCEDURE IF EXISTS sp1;
14352 delimiter //;
14353 --error ER_PARSE_ERROR
14354 CREATE PROCEDURE sp1( )
14355 BEGIN
14356     declare div handler for sqlstate '02000' set @var2 = 1;
14357 END//
14358 delimiter ;//
14360 DROP PROCEDURE IF EXISTS sp1;
14362 delimiter //;
14363 --error ER_PARSE_ERROR
14364 CREATE PROCEDURE sp1( )
14365 BEGIN
14366     declare double handler for sqlstate '02000' set @var2 = 1;
14367 END//
14368 delimiter ;//
14370 DROP PROCEDURE IF EXISTS sp1;
14372 delimiter //;
14373 --error ER_PARSE_ERROR
14374 CREATE PROCEDURE sp1( )
14375 BEGIN
14376     declare drop handler for sqlstate '02000' set @var2 = 1;
14377 END//
14378 delimiter ;//
14380 DROP PROCEDURE IF EXISTS sp1;
14382 delimiter //;
14383 --error ER_PARSE_ERROR
14384 CREATE PROCEDURE sp1( )
14385 BEGIN
14386     declare dual handler for sqlstate '02000' set @var2 = 1;
14387 END//
14388 delimiter ;//
14390 DROP PROCEDURE IF EXISTS sp1;
14392 delimiter //;
14393 --error ER_PARSE_ERROR
14394 CREATE PROCEDURE sp1( )
14395 BEGIN
14396     declare each handler for sqlstate '02000' set @var2 = 1;
14397 END//
14398 delimiter ;//
14400 DROP PROCEDURE IF EXISTS sp1;
14402 delimiter //;
14403 --error ER_PARSE_ERROR
14404 CREATE PROCEDURE sp1( )
14405 BEGIN
14406     declare else handler for sqlstate '02000' set @var2 = 1;
14407 END//
14408 delimiter ;//
14410 DROP PROCEDURE IF EXISTS sp1;
14412 delimiter //;
14413 --error ER_PARSE_ERROR
14414 CREATE PROCEDURE sp1( )
14415 BEGIN
14416     declare elseif handler for sqlstate '02000' set @var2 = 1;
14417 END//
14418 delimiter ;//
14420 DROP PROCEDURE IF EXISTS sp1;
14422 delimiter //;
14423 --error ER_PARSE_ERROR
14424 CREATE PROCEDURE sp1( )
14425 BEGIN
14426     declare enclosed handler for sqlstate '02000' set @var2 = 1;
14427 END//
14428 delimiter ;//
14430 DROP PROCEDURE IF EXISTS sp1;
14432 delimiter //;
14433 --error ER_PARSE_ERROR
14434 CREATE PROCEDURE sp1( )
14435 BEGIN
14436     declare escaped handler for sqlstate '02000' set @var2 = 1;
14437 END//
14438 delimiter ;//
14440 DROP PROCEDURE IF EXISTS sp1;
14442 delimiter //;
14443 --error ER_PARSE_ERROR
14444 CREATE PROCEDURE sp1( )
14445 BEGIN
14446     declare exists handler for sqlstate '02000' set @var2 = 1;
14447 END//
14448 delimiter ;//
14450 DROP PROCEDURE IF EXISTS sp1;
14452 --error ER_PARSE_ERROR
14453 delimiter //;
14454 CREATE PROCEDURE sp1( )
14455  BEGIN
14456    declare exit handler for sqlstate '02000' set @var2 = 1;
14457 END//
14458 delimiter ;//
14460 DROP PROCEDURE IF EXISTS sp1;
14462 delimiter //;
14463 --error ER_PARSE_ERROR
14464 CREATE PROCEDURE sp1( )
14465 BEGIN
14466     declare explain handler for sqlstate '02000' set @var2 = 1;
14467 END//
14468 delimiter ;//
14470 DROP PROCEDURE IF EXISTS sp1;
14472 delimiter //;
14473 --error ER_PARSE_ERROR
14474 CREATE PROCEDURE sp1( )
14475 BEGIN
14476     declare false handler for sqlstate '02000' set @var2 = 1;
14477 END//
14478 delimiter ;//
14480 DROP PROCEDURE IF EXISTS sp1;
14482 delimiter //;
14483 --error ER_PARSE_ERROR
14484 CREATE PROCEDURE sp1( )
14485 BEGIN
14486     declare fetch handler for sqlstate '02000' set @var2 = 1;
14487 END//
14488 delimiter ;//
14490 DROP PROCEDURE IF EXISTS sp1;
14492 delimiter //;
14493 --error ER_PARSE_ERROR
14494 CREATE PROCEDURE sp1( )
14495 BEGIN
14496     declare float handler for sqlstate '02000' set @var2 = 1;
14497 END//
14498 delimiter ;//
14500 DROP PROCEDURE IF EXISTS sp1;
14502 delimiter //;
14503 --error ER_PARSE_ERROR
14504 CREATE PROCEDURE sp1( )
14505 BEGIN
14506     declare float4 handler for sqlstate '02000' set @var2 = 1;
14507 END//
14508 delimiter ;//
14510 DROP PROCEDURE IF EXISTS sp1;
14512 delimiter //;
14513 --error ER_PARSE_ERROR
14514 CREATE PROCEDURE sp1( )
14515 BEGIN
14516     declare float8 handler for sqlstate '02000' set @var2 = 1;
14517 END//
14518 delimiter ;//
14520 DROP PROCEDURE IF EXISTS sp1;
14522 delimiter //;
14523 --error ER_PARSE_ERROR
14524 CREATE PROCEDURE sp1( )
14525 BEGIN
14526     declare for handler for sqlstate '02000' set @var2 = 1;
14527 END//
14528 delimiter ;//
14530 DROP PROCEDURE IF EXISTS sp1;
14532 delimiter //;
14533 --error ER_PARSE_ERROR
14534 CREATE PROCEDURE sp1( )
14535 BEGIN
14536     declare force handler for sqlstate '02000' set @var2 = 1;
14537 END//
14538 delimiter ;//
14540 DROP PROCEDURE IF EXISTS sp1;
14542 delimiter //;
14543 --error ER_PARSE_ERROR
14544 CREATE PROCEDURE sp1( )
14545 BEGIN
14546     declare foreign handler for sqlstate '02000' set @var2 = 1;
14547 END//
14548 delimiter ;//
14550 DROP PROCEDURE IF EXISTS sp1;
14552 delimiter //;
14553 --error ER_PARSE_ERROR
14554 CREATE PROCEDURE sp1( )
14555 BEGIN
14556     declare from handler for sqlstate '02000' set @var2 = 1;
14557 END//
14558 delimiter ;//
14560 DROP PROCEDURE IF EXISTS sp1;
14562 delimiter //;
14563 --error ER_PARSE_ERROR
14564 CREATE PROCEDURE sp1( )
14565 BEGIN
14566     declare fulltext handler for sqlstate '02000' set @var2 = 1;
14567 END//
14568 delimiter ;//
14570 DROP PROCEDURE IF EXISTS sp1;
14572 delimiter //;
14573 --error ER_PARSE_ERROR
14574 CREATE PROCEDURE sp1( )
14575 BEGIN
14576     declare grant handler for sqlstate '02000' set @var2 = 1;
14577 END//
14578 delimiter ;//
14580 DROP PROCEDURE IF EXISTS sp1;
14582 delimiter //;
14583 --error ER_PARSE_ERROR
14584 CREATE PROCEDURE sp1( )
14585 BEGIN
14586     declare group handler for sqlstate '02000' set @var2 = 1;
14587 END//
14588 delimiter ;//
14590 DROP PROCEDURE IF EXISTS sp1;
14592 delimiter //;
14593 --error ER_PARSE_ERROR
14594 CREATE PROCEDURE sp1( )
14595 BEGIN
14596     declare having handler for sqlstate '02000' set @var2 = 1;
14597 END//
14598 delimiter ;//
14600 DROP PROCEDURE IF EXISTS sp1;
14602 delimiter //;
14603 --error ER_PARSE_ERROR
14604 CREATE PROCEDURE sp1( )
14605 BEGIN
14606     declare high_priority handler for sqlstate '02000' set @var2 = 1;
14607 END//
14608 delimiter ;//
14610 DROP PROCEDURE IF EXISTS sp1;
14612 delimiter //;
14613 --error ER_PARSE_ERROR
14614 CREATE PROCEDURE sp1( )
14615 BEGIN
14616     declare hour_microsecond handler for sqlstate '02000' set @var2 = 1;
14617 END//
14618 delimiter ;//
14620 DROP PROCEDURE IF EXISTS sp1;
14622 delimiter //;
14623 --error ER_PARSE_ERROR
14624 CREATE PROCEDURE sp1( )
14625 BEGIN
14626     declare hour_minute handler for sqlstate '02000' set @var2 = 1;
14627 END//
14628 delimiter ;//
14630 DROP PROCEDURE IF EXISTS sp1;
14632 delimiter //;
14633 --error ER_PARSE_ERROR
14634 CREATE PROCEDURE sp1( )
14635 BEGIN
14636     declare hour_second handler for sqlstate '02000' set @var2 = 1;
14637 END//
14638 delimiter ;//
14640 DROP PROCEDURE IF EXISTS sp1;
14642 delimiter //;
14643 --error ER_PARSE_ERROR
14644 CREATE PROCEDURE sp1( )
14645 BEGIN
14646     declare if handler for sqlstate '02000' set @var2 = 1;
14647 END//
14648 delimiter ;//
14650 DROP PROCEDURE IF EXISTS sp1;
14652 delimiter //;
14653 --error ER_PARSE_ERROR
14654 CREATE PROCEDURE sp1( )
14655 BEGIN
14656     declare ignore handler for sqlstate '02000' set @var2 = 1;
14657 END//
14658 delimiter ;//
14660 DROP PROCEDURE IF EXISTS sp1;
14662 delimiter //;
14663 --error ER_PARSE_ERROR
14664 CREATE PROCEDURE sp1( )
14665 BEGIN
14666     declare in handler for sqlstate '02000' set @var2 = 1;
14667 END//
14668 delimiter ;//
14670 DROP PROCEDURE IF EXISTS sp1;
14672 delimiter //;
14673 --error ER_PARSE_ERROR
14674 CREATE PROCEDURE sp1( )
14675 BEGIN
14676     declare index handler for sqlstate '02000' set @var2 = 1;
14677 END//
14678 delimiter ;//
14680 DROP PROCEDURE IF EXISTS sp1;
14682 delimiter //;
14683 --error ER_PARSE_ERROR
14684 CREATE PROCEDURE sp1( )
14685 BEGIN
14686     declare infile handler for sqlstate '02000' set @var2 = 1;
14687 END//
14688 delimiter ;//
14690 DROP PROCEDURE IF EXISTS sp1;
14692 delimiter //;
14693 --error ER_PARSE_ERROR
14694 CREATE PROCEDURE sp1( )
14695 BEGIN
14696     declare inner handler for sqlstate '02000' set @var2 = 1;
14697 END//
14698 delimiter ;//
14700 DROP PROCEDURE IF EXISTS sp1;
14702 delimiter //;
14703 --error ER_PARSE_ERROR
14704 CREATE PROCEDURE sp1( )
14705 BEGIN
14706     declare inout handler for sqlstate '02000' set @var2 = 1;
14707 END//
14708 delimiter ;//
14710 DROP PROCEDURE IF EXISTS sp1;
14712 delimiter //;
14713 --error ER_PARSE_ERROR
14714 CREATE PROCEDURE sp1( )
14715 BEGIN
14716     declare insensitive handler for sqlstate '02000' set @var2 = 1;
14717 END//
14718 delimiter ;//
14720 DROP PROCEDURE IF EXISTS sp1;
14722 delimiter //;
14723 --error ER_PARSE_ERROR
14724 CREATE PROCEDURE sp1( )
14725 BEGIN
14726     declare insert handler for sqlstate '02000' set @var2 = 1;
14727 END//
14728 delimiter ;//
14730 DROP PROCEDURE IF EXISTS sp1;
14732 delimiter //;
14733 --error ER_PARSE_ERROR
14734 CREATE PROCEDURE sp1( )
14735 BEGIN
14736     declare int handler for sqlstate '02000' set @var2 = 1;
14737 END//
14738 delimiter ;//
14740 DROP PROCEDURE IF EXISTS sp1;
14742 delimiter //;
14743 --error ER_PARSE_ERROR
14744 CREATE PROCEDURE sp1( )
14745 BEGIN
14746     declare int1 handler for sqlstate '02000' set @var2 = 1;
14747 END//
14748 delimiter ;//
14750 DROP PROCEDURE IF EXISTS sp1;
14752 delimiter //;
14753 --error ER_PARSE_ERROR
14754 CREATE PROCEDURE sp1( )
14755 BEGIN
14756     declare int2 handler for sqlstate '02000' set @var2 = 1;
14757 END//
14758 delimiter ;//
14760 DROP PROCEDURE IF EXISTS sp1;
14762 delimiter //;
14763 --error ER_PARSE_ERROR
14764 CREATE PROCEDURE sp1( )
14765 BEGIN
14766     declare int3 handler for sqlstate '02000' set @var2 = 1;
14767 END//
14768 delimiter ;//
14770 DROP PROCEDURE IF EXISTS sp1;
14772 delimiter //;
14773 --error ER_PARSE_ERROR
14774 CREATE PROCEDURE sp1( )
14775 BEGIN
14776     declare int4 handler for sqlstate '02000' set @var2 = 1;
14777 END//
14778 delimiter ;//
14780 DROP PROCEDURE IF EXISTS sp1;
14782 delimiter //;
14783 --error ER_PARSE_ERROR
14784 CREATE PROCEDURE sp1( )
14785 BEGIN
14786     declare int8 handler for sqlstate '02000' set @var2 = 1;
14787 END//
14788 delimiter ;//
14790 DROP PROCEDURE IF EXISTS sp1;
14792 delimiter //;
14793 --error ER_PARSE_ERROR
14794 CREATE PROCEDURE sp1( )
14795 BEGIN
14796     declare integer handler for sqlstate '02000' set @var2 = 1;
14797 END//
14798 delimiter ;//
14800 DROP PROCEDURE IF EXISTS sp1;
14802 delimiter //;
14803 --error ER_PARSE_ERROR
14804 CREATE PROCEDURE sp1( )
14805 BEGIN
14806     declare interval handler for sqlstate '02000' set @var2 = 1;
14807 END//
14808 delimiter ;//
14810 DROP PROCEDURE IF EXISTS sp1;
14812 delimiter //;
14813 --error ER_PARSE_ERROR
14814 CREATE PROCEDURE sp1( )
14815 BEGIN
14816     declare into handler for sqlstate '02000' set @var2 = 1;
14817 END//
14818 delimiter ;//
14820 DROP PROCEDURE IF EXISTS sp1;
14822 delimiter //;
14823 --error ER_PARSE_ERROR
14824 CREATE PROCEDURE sp1( )
14825 BEGIN
14826     declare is handler for sqlstate '02000' set @var2 = 1;
14827 END//
14828 delimiter ;//
14830 DROP PROCEDURE IF EXISTS sp1;
14832 delimiter //;
14833 --error ER_PARSE_ERROR
14834 CREATE PROCEDURE sp1( )
14835 BEGIN
14836     declare iterate handler for sqlstate '02000' set @var2 = 1;
14837 END//
14838 delimiter ;//
14840 DROP PROCEDURE IF EXISTS sp1;
14842 delimiter //;
14843 --error ER_PARSE_ERROR
14844 CREATE PROCEDURE sp1( )
14845 BEGIN
14846     declare join handler for sqlstate '02000' set @var2 = 1;
14847 END//
14848 delimiter ;//
14850 DROP PROCEDURE IF EXISTS sp1;
14852 delimiter //;
14853 --error ER_PARSE_ERROR
14854 CREATE PROCEDURE sp1( )
14855 BEGIN
14856     declare key handler for sqlstate '02000' set @var2 = 1;
14857 END//
14858 delimiter ;//
14860 DROP PROCEDURE IF EXISTS sp1;
14862 delimiter //;
14863 --error ER_PARSE_ERROR
14864 CREATE PROCEDURE sp1( )
14865 BEGIN
14866     declare keys handler for sqlstate '02000' set @var2 = 1;
14867 END//
14868 delimiter ;//
14870 DROP PROCEDURE IF EXISTS sp1;
14872 delimiter //;
14873 --error ER_PARSE_ERROR
14874 CREATE PROCEDURE sp1( )
14875 BEGIN
14876     declare kill handler for sqlstate '02000' set @var2 = 1;
14877 END//
14878 delimiter ;//
14880 DROP PROCEDURE IF EXISTS sp1;
14882 delimiter //;
14883 --error ER_PARSE_ERROR
14884 CREATE PROCEDURE sp1( )
14885 BEGIN
14886     declare leading handler for sqlstate '02000' set @var2 = 1;
14887 END//
14888 delimiter ;//
14890 DROP PROCEDURE IF EXISTS sp1;
14892 delimiter //;
14893 --error ER_PARSE_ERROR
14894 CREATE PROCEDURE sp1( )
14895 BEGIN
14896     declare leave handler for sqlstate '02000' set @var2 = 1;
14897 END//
14898 delimiter ;//
14900 DROP PROCEDURE IF EXISTS sp1;
14902 delimiter //;
14903 --error ER_PARSE_ERROR
14904 CREATE PROCEDURE sp1( )
14905 BEGIN
14906     declare left handler for sqlstate '02000' set @var2 = 1;
14907 END//
14908 delimiter ;//
14910 DROP PROCEDURE IF EXISTS sp1;
14912 delimiter //;
14913 --error ER_PARSE_ERROR
14914 CREATE PROCEDURE sp1( )
14915 BEGIN
14916     declare like handler for sqlstate '02000' set @var2 = 1;
14917 END//
14918 delimiter ;//
14920 DROP PROCEDURE IF EXISTS sp1;
14922 delimiter //;
14923 --error ER_PARSE_ERROR
14924 CREATE PROCEDURE sp1( )
14925 BEGIN
14926     declare limit handler for sqlstate '02000' set @var2 = 1;
14927 END//
14928 delimiter ;//
14930 DROP PROCEDURE IF EXISTS sp1;
14932 delimiter //;
14933 --error ER_PARSE_ERROR
14934 CREATE PROCEDURE sp1( )
14935 BEGIN
14936     declare linear handler for sqlstate '02000' set @var2 = 1;
14937 END//
14938 delimiter ;//
14940 DROP PROCEDURE IF EXISTS sp1;
14942 delimiter //;
14943 --error ER_PARSE_ERROR
14944 CREATE PROCEDURE sp1( )
14945 BEGIN
14946     declare lines handler for sqlstate '02000' set @var2 = 1;
14947 END//
14948 delimiter ;//
14950 DROP PROCEDURE IF EXISTS sp1;
14952 delimiter //;
14953 --error ER_PARSE_ERROR
14954 CREATE PROCEDURE sp1( )
14955 BEGIN
14956     declare load handler for sqlstate '02000' set @var2 = 1;
14957 END//
14958 delimiter ;//
14960 DROP PROCEDURE IF EXISTS sp1;
14962 delimiter //;
14963 --error ER_PARSE_ERROR
14964 CREATE PROCEDURE sp1( )
14965 BEGIN
14966     declare localtime handler for sqlstate '02000' set @var2 = 1;
14967 END//
14968 delimiter ;//
14970 DROP PROCEDURE IF EXISTS sp1;
14972 delimiter //;
14973 --error ER_PARSE_ERROR
14974 CREATE PROCEDURE sp1( )
14975 BEGIN
14976     declare localtimestamp handler for sqlstate '02000' set @var2 = 1;
14977 END//
14978 delimiter ;//
14980 DROP PROCEDURE IF EXISTS sp1;
14982 delimiter //;
14983 --error ER_PARSE_ERROR
14984 CREATE PROCEDURE sp1( )
14985 BEGIN
14986     declare lock handler for sqlstate '02000' set @var2 = 1;
14987 END//
14988 delimiter ;//
14990 DROP PROCEDURE IF EXISTS sp1;
14992 delimiter //;
14993 --error ER_PARSE_ERROR
14994 CREATE PROCEDURE sp1( )
14995 BEGIN
14996     declare long handler for sqlstate '02000' set @var2 = 1;
14997 END//
14998 delimiter ;//
15000 DROP PROCEDURE IF EXISTS sp1;
15002 delimiter //;
15003 --error ER_PARSE_ERROR
15004 CREATE PROCEDURE sp1( )
15005 BEGIN
15006     declare longblob handler for sqlstate '02000' set @var2 = 1;
15007 END//
15008 delimiter ;//
15010 DROP PROCEDURE IF EXISTS sp1;
15012 delimiter //;
15013 --error ER_PARSE_ERROR
15014 CREATE PROCEDURE sp1( )
15015 BEGIN
15016     declare longtext handler for sqlstate '02000' set @var2 = 1;
15017 END//
15018 delimiter ;//
15020 DROP PROCEDURE IF EXISTS sp1;
15022 delimiter //;
15023 --error ER_PARSE_ERROR
15024 CREATE PROCEDURE sp1( )
15025 BEGIN
15026     declare loop handler for sqlstate '02000' set @var2 = 1;
15027 END//
15028 delimiter ;//
15030 DROP PROCEDURE IF EXISTS sp1;
15032 delimiter //;
15033 --error ER_PARSE_ERROR
15034 CREATE PROCEDURE sp1( )
15035 BEGIN
15036     declare low_priority handler for sqlstate '02000' set @var2 = 1;
15037 END//
15038 delimiter ;//
15040 DROP PROCEDURE IF EXISTS sp1;
15042 delimiter //;
15043 --error ER_PARSE_ERROR
15044 CREATE PROCEDURE sp1( )
15045 BEGIN
15046     declare master_ssl_verify_server_cert handler for sqlstate '02000' set @var2 = 1;
15047 END//
15048 delimiter ;//
15050 DROP PROCEDURE IF EXISTS sp1;
15052 delimiter //;
15053 --error ER_PARSE_ERROR
15054 CREATE PROCEDURE sp1( )
15055 BEGIN
15056     declare match handler for sqlstate '02000' set @var2 = 1;
15057 END//
15058 delimiter ;//
15060 DROP PROCEDURE IF EXISTS sp1;
15062 delimiter //;
15063 --error ER_PARSE_ERROR
15064 CREATE PROCEDURE sp1( )
15065 BEGIN
15066     declare mediumblob handler for sqlstate '02000' set @var2 = 1;
15067 END//
15068 delimiter ;//
15070 DROP PROCEDURE IF EXISTS sp1;
15072 delimiter //;
15073 --error ER_PARSE_ERROR
15074 CREATE PROCEDURE sp1( )
15075 BEGIN
15076     declare mediumint handler for sqlstate '02000' set @var2 = 1;
15077 END//
15078 delimiter ;//
15080 DROP PROCEDURE IF EXISTS sp1;
15082 delimiter //;
15083 --error ER_PARSE_ERROR
15084 CREATE PROCEDURE sp1( )
15085 BEGIN
15086     declare mediumtext handler for sqlstate '02000' set @var2 = 1;
15087 END//
15088 delimiter ;//
15090 DROP PROCEDURE IF EXISTS sp1;
15092 delimiter //;
15093 --error ER_PARSE_ERROR
15094 CREATE PROCEDURE sp1( )
15095 BEGIN
15096     declare middleint handler for sqlstate '02000' set @var2 = 1;
15097 END//
15098 delimiter ;//
15100 DROP PROCEDURE IF EXISTS sp1;
15102 delimiter //;
15103 --error ER_PARSE_ERROR
15104 CREATE PROCEDURE sp1( )
15105 BEGIN
15106     declare minute_microsecond handler for sqlstate '02000' set @var2 = 1;
15107 END//
15108 delimiter ;//
15110 DROP PROCEDURE IF EXISTS sp1;
15112 delimiter //;
15113 --error ER_PARSE_ERROR
15114 CREATE PROCEDURE sp1( )
15115 BEGIN
15116     declare minute_second handler for sqlstate '02000' set @var2 = 1;
15117 END//
15118 delimiter ;//
15120 DROP PROCEDURE IF EXISTS sp1;
15122 delimiter //;
15123 --error ER_PARSE_ERROR
15124 CREATE PROCEDURE sp1( )
15125 BEGIN
15126     declare mod handler for sqlstate '02000' set @var2 = 1;
15127 END//
15128 delimiter ;//
15130 DROP PROCEDURE IF EXISTS sp1;
15132 delimiter //;
15133 --error ER_PARSE_ERROR
15134 CREATE PROCEDURE sp1( )
15135 BEGIN
15136     declare modifies handler for sqlstate '02000' set @var2 = 1;
15137 END//
15138 delimiter ;//
15140 DROP PROCEDURE IF EXISTS sp1;
15142 delimiter //;
15143 --error ER_PARSE_ERROR
15144 CREATE PROCEDURE sp1( )
15145 BEGIN
15146     declare natural handler for sqlstate '02000' set @var2 = 1;
15147 END//
15148 delimiter ;//
15150 DROP PROCEDURE IF EXISTS sp1;
15152 delimiter //;
15153 --error ER_PARSE_ERROR
15154 CREATE PROCEDURE sp1( )
15155 BEGIN
15156     declare not handler for sqlstate '02000' set @var2 = 1;
15157 END//
15158 delimiter ;//
15160 DROP PROCEDURE IF EXISTS sp1;
15162 delimiter //;
15163 --error ER_PARSE_ERROR
15164 CREATE PROCEDURE sp1( )
15165 BEGIN
15166     declare no_write_to_binlog handler for sqlstate '02000' set @var2 = 1;
15167 END//
15168 delimiter ;//
15170 DROP PROCEDURE IF EXISTS sp1;
15172 delimiter //;
15173 --error ER_PARSE_ERROR
15174 CREATE PROCEDURE sp1( )
15175 BEGIN
15176     declare null handler for sqlstate '02000' set @var2 = 1;
15177 END//
15178 delimiter ;//
15180 DROP PROCEDURE IF EXISTS sp1;
15182 delimiter //;
15183 --error ER_PARSE_ERROR
15184 CREATE PROCEDURE sp1( )
15185 BEGIN
15186     declare numeric handler for sqlstate '02000' set @var2 = 1;
15187 END//
15188 delimiter ;//
15190 DROP PROCEDURE IF EXISTS sp1;
15192 delimiter //;
15193 --error ER_PARSE_ERROR
15194 CREATE PROCEDURE sp1( )
15195 BEGIN
15196     declare on handler for sqlstate '02000' set @var2 = 1;
15197 END//
15198 delimiter ;//
15200 DROP PROCEDURE IF EXISTS sp1;
15202 delimiter //;
15203 --error ER_PARSE_ERROR
15204 CREATE PROCEDURE sp1( )
15205 BEGIN
15206     declare optimize handler for sqlstate '02000' set @var2 = 1;
15207 END//
15208 delimiter ;//
15210 DROP PROCEDURE IF EXISTS sp1;
15212 delimiter //;
15213 --error ER_PARSE_ERROR
15214 CREATE PROCEDURE sp1( )
15215 BEGIN
15216     declare option handler for sqlstate '02000' set @var2 = 1;
15217 END//
15218 delimiter ;//
15220 DROP PROCEDURE IF EXISTS sp1;
15222 delimiter //;
15223 --error ER_PARSE_ERROR
15224 CREATE PROCEDURE sp1( )
15225 BEGIN
15226     declare optionally handler for sqlstate '02000' set @var2 = 1;
15227 END//
15228 delimiter ;//
15230 DROP PROCEDURE IF EXISTS sp1;
15232 delimiter //;
15233 --error ER_PARSE_ERROR
15234 CREATE PROCEDURE sp1( )
15235 BEGIN
15236     declare or handler for sqlstate '02000' set @var2 = 1;
15237 END//
15238 delimiter ;//
15240 DROP PROCEDURE IF EXISTS sp1;
15242 delimiter //;
15243 --error ER_PARSE_ERROR
15244 CREATE PROCEDURE sp1( )
15245 BEGIN
15246     declare order handler for sqlstate '02000' set @var2 = 1;
15247 END//
15248 delimiter ;//
15250 DROP PROCEDURE IF EXISTS sp1;
15252 delimiter //;
15253 --error ER_PARSE_ERROR
15254 CREATE PROCEDURE sp1( )
15255 BEGIN
15256     declare out handler for sqlstate '02000' set @var2 = 1;
15257 END//
15258 delimiter ;//
15260 DROP PROCEDURE IF EXISTS sp1;
15262 delimiter //;
15263 --error ER_PARSE_ERROR
15264 CREATE PROCEDURE sp1( )
15265 BEGIN
15266     declare outer handler for sqlstate '02000' set @var2 = 1;
15267 END//
15268 delimiter ;//
15270 DROP PROCEDURE IF EXISTS sp1;
15272 delimiter //;
15273 --error ER_PARSE_ERROR
15274 CREATE PROCEDURE sp1( )
15275 BEGIN
15276     declare outfile handler for sqlstate '02000' set @var2 = 1;
15277 END//
15278 delimiter ;//
15280 DROP PROCEDURE IF EXISTS sp1;
15282 delimiter //;
15283 --error ER_PARSE_ERROR
15284 CREATE PROCEDURE sp1( )
15285 BEGIN
15286     declare precision handler for sqlstate '02000' set @var2 = 1;
15287 END//
15288 delimiter ;//
15290 DROP PROCEDURE IF EXISTS sp1;
15292 delimiter //;
15293 --error ER_PARSE_ERROR
15294 CREATE PROCEDURE sp1( )
15295 BEGIN
15296     declare primary handler for sqlstate '02000' set @var2 = 1;
15297 END//
15298 delimiter ;//
15300 DROP PROCEDURE IF EXISTS sp1;
15302 delimiter //;
15303 --error ER_PARSE_ERROR
15304 CREATE PROCEDURE sp1( )
15305 BEGIN
15306     declare privileges handler for sqlstate '02000' set @var2 = 1;
15307 END//
15308 delimiter ;//
15310 DROP PROCEDURE IF EXISTS sp1;
15312 delimiter //;
15313 --error ER_PARSE_ERROR
15314 CREATE PROCEDURE sp1( )
15315 BEGIN
15316     declare procedure handler for sqlstate '02000' set @var2 = 1;
15317 END//
15318 delimiter ;//
15320 DROP PROCEDURE IF EXISTS sp1;
15322 delimiter //;
15323 --error ER_PARSE_ERROR
15324 CREATE PROCEDURE sp1( )
15325 BEGIN
15326     declare purge handler for sqlstate '02000' set @var2 = 1;
15327 END//
15328 delimiter ;//
15330 DROP PROCEDURE IF EXISTS sp1;
15332 delimiter //;
15333 --error ER_PARSE_ERROR
15334 CREATE PROCEDURE sp1( )
15335 BEGIN
15336     declare range handler for sqlstate '02000' set @var2 = 1;
15337 END//
15338 delimiter ;//
15340 DROP PROCEDURE IF EXISTS sp1;
15342 delimiter //;
15343 --error ER_PARSE_ERROR
15344 CREATE PROCEDURE sp1( )
15345 BEGIN
15346     declare read handler for sqlstate '02000' set @var2 = 1;
15347 END//
15348 delimiter ;//
15350 DROP PROCEDURE IF EXISTS sp1;
15352 delimiter //;
15353 --error ER_PARSE_ERROR
15354 CREATE PROCEDURE sp1( )
15355 BEGIN
15356     declare reads handler for sqlstate '02000' set @var2 = 1;
15357 END//
15358 delimiter ;//
15360 DROP PROCEDURE IF EXISTS sp1;
15362 delimiter //;
15363 --error ER_PARSE_ERROR
15364 CREATE PROCEDURE sp1( )
15365 BEGIN
15366     declare read_only handler for sqlstate '02000' set @var2 = 1;
15367 END//
15368 delimiter ;//
15370 DROP PROCEDURE IF EXISTS sp1;
15372 delimiter //;
15373 --error ER_PARSE_ERROR
15374 CREATE PROCEDURE sp1( )
15375 BEGIN
15376     declare read_write handler for sqlstate '02000' set @var2 = 1;
15377 END//
15378 delimiter ;//
15380 DROP PROCEDURE IF EXISTS sp1;
15382 delimiter //;
15383 --error ER_PARSE_ERROR
15384 CREATE PROCEDURE sp1( )
15385 BEGIN
15386     declare real handler for sqlstate '02000' set @var2 = 1;
15387 END//
15388 delimiter ;//
15390 DROP PROCEDURE IF EXISTS sp1;
15392 delimiter //;
15393 --error ER_PARSE_ERROR
15394 CREATE PROCEDURE sp1( )
15395 BEGIN
15396     declare references handler for sqlstate '02000' set @var2 = 1;
15397 END//
15398 delimiter ;//
15400 DROP PROCEDURE IF EXISTS sp1;
15402 delimiter //;
15403 --error ER_PARSE_ERROR
15404 CREATE PROCEDURE sp1( )
15405 BEGIN
15406     declare regexp handler for sqlstate '02000' set @var2 = 1;
15407 END//
15408 delimiter ;//
15410 DROP PROCEDURE IF EXISTS sp1;
15412 delimiter //;
15413 --error ER_PARSE_ERROR
15414 CREATE PROCEDURE sp1( )
15415 BEGIN
15416     declare release handler for sqlstate '02000' set @var2 = 1;
15417 END//
15418 delimiter ;//
15420 DROP PROCEDURE IF EXISTS sp1;
15422 delimiter //;
15423 --error ER_PARSE_ERROR
15424 CREATE PROCEDURE sp1( )
15425 BEGIN
15426     declare rename handler for sqlstate '02000' set @var2 = 1;
15427 END//
15428 delimiter ;//
15430 DROP PROCEDURE IF EXISTS sp1;
15432 delimiter //;
15433 --error ER_PARSE_ERROR
15434 CREATE PROCEDURE sp1( )
15435 BEGIN
15436     declare repeat handler for sqlstate '02000' set @var2 = 1;
15437 END//
15438 delimiter ;//
15440 DROP PROCEDURE IF EXISTS sp1;
15442 delimiter //;
15443 --error ER_PARSE_ERROR
15444 CREATE PROCEDURE sp1( )
15445 BEGIN
15446     declare replace handler for sqlstate '02000' set @var2 = 1;
15447 END//
15448 delimiter ;//
15450 DROP PROCEDURE IF EXISTS sp1;
15452 delimiter //;
15453 --error ER_PARSE_ERROR
15454 CREATE PROCEDURE sp1( )
15455 BEGIN
15456     declare require handler for sqlstate '02000' set @var2 = 1;
15457 END//
15458 delimiter ;//
15460 DROP PROCEDURE IF EXISTS sp1;
15462 delimiter //;
15463 --error ER_PARSE_ERROR
15464 CREATE PROCEDURE sp1( )
15465 BEGIN
15466     declare restrict handler for sqlstate '02000' set @var2 = 1;
15467 END//
15468 delimiter ;//
15470 DROP PROCEDURE IF EXISTS sp1;
15472 delimiter //;
15473 --error ER_PARSE_ERROR
15474 CREATE PROCEDURE sp1( )
15475 BEGIN
15476     declare return handler for sqlstate '02000' set @var2 = 1;
15477 END//
15478 delimiter ;//
15480 DROP PROCEDURE IF EXISTS sp1;
15482 delimiter //;
15483 --error ER_PARSE_ERROR
15484 CREATE PROCEDURE sp1( )
15485 BEGIN
15486     declare revoke handler for sqlstate '02000' set @var2 = 1;
15487 END//
15488 delimiter ;//
15490 DROP PROCEDURE IF EXISTS sp1;
15492 delimiter //;
15493 --error ER_PARSE_ERROR
15494 CREATE PROCEDURE sp1( )
15495 BEGIN
15496     declare right handler for sqlstate '02000' set @var2 = 1;
15497 END//
15498 delimiter ;//
15500 DROP PROCEDURE IF EXISTS sp1;
15502 delimiter //;
15503 --error ER_PARSE_ERROR
15504 CREATE PROCEDURE sp1( )
15505 BEGIN
15506     declare rlike handler for sqlstate '02000' set @var2 = 1;
15507 END//
15508 delimiter ;//
15510 DROP PROCEDURE IF EXISTS sp1;
15512 delimiter //;
15513 --error ER_PARSE_ERROR
15514 CREATE PROCEDURE sp1( )
15515 BEGIN
15516     declare schema handler for sqlstate '02000' set @var2 = 1;
15517 END//
15518 delimiter ;//
15520 DROP PROCEDURE IF EXISTS sp1;
15522 delimiter //;
15523 --error ER_PARSE_ERROR
15524 CREATE PROCEDURE sp1( )
15525 BEGIN
15526     declare schemas handler for sqlstate '02000' set @var2 = 1;
15527 END//
15528 delimiter ;//
15530 DROP PROCEDURE IF EXISTS sp1;
15532 delimiter //;
15533 --error ER_PARSE_ERROR
15534 CREATE PROCEDURE sp1( )
15535 BEGIN
15536     declare second_microsecond handler for sqlstate '02000' set @var2 = 1;
15537 END//
15538 delimiter ;//
15540 DROP PROCEDURE IF EXISTS sp1;
15542 delimiter //;
15543 --error ER_PARSE_ERROR
15544 CREATE PROCEDURE sp1( )
15545 BEGIN
15546     declare select handler for sqlstate '02000' set @var2 = 1;
15547 END//
15548 delimiter ;//
15550 DROP PROCEDURE IF EXISTS sp1;
15552 delimiter //;
15553 --error ER_PARSE_ERROR
15554 CREATE PROCEDURE sp1( )
15555 BEGIN
15556     declare sensitive handler for sqlstate '02000' set @var2 = 1;
15557 END//
15558 delimiter ;//
15560 DROP PROCEDURE IF EXISTS sp1;
15562 delimiter //;
15563 --error ER_PARSE_ERROR
15564 CREATE PROCEDURE sp1( )
15565 BEGIN
15566     declare separator handler for sqlstate '02000' set @var2 = 1;
15567 END//
15568 delimiter ;//
15570 DROP PROCEDURE IF EXISTS sp1;
15572 delimiter //;
15573 --error ER_PARSE_ERROR
15574 CREATE PROCEDURE sp1( )
15575 BEGIN
15576     declare set handler for sqlstate '02000' set @var2 = 1;
15577 END//
15578 delimiter ;//
15580 DROP PROCEDURE IF EXISTS sp1;
15582 delimiter //;
15583 --error ER_PARSE_ERROR
15584 CREATE PROCEDURE sp1( )
15585 BEGIN
15586     declare show handler for sqlstate '02000' set @var2 = 1;
15587 END//
15588 delimiter ;//
15590 DROP PROCEDURE IF EXISTS sp1;
15592 delimiter //;
15593 --error ER_PARSE_ERROR
15594 CREATE PROCEDURE sp1( )
15595 BEGIN
15596     declare smallint handler for sqlstate '02000' set @var2 = 1;
15597 END//
15598 delimiter ;//
15600 DROP PROCEDURE IF EXISTS sp1;
15602 delimiter //;
15603 --error ER_PARSE_ERROR
15604 CREATE PROCEDURE sp1( )
15605 BEGIN
15606     declare spatial handler for sqlstate '02000' set @var2 = 1;
15607 END//
15608 delimiter ;//
15610 DROP PROCEDURE IF EXISTS sp1;
15612 delimiter //;
15613 --error ER_PARSE_ERROR
15614 CREATE PROCEDURE sp1( )
15615 BEGIN
15616     declare specific handler for sqlstate '02000' set @var2 = 1;
15617 END//
15618 delimiter ;//
15620 DROP PROCEDURE IF EXISTS sp1;
15622 delimiter //;
15623 --error ER_PARSE_ERROR
15624 CREATE PROCEDURE sp1( )
15625 BEGIN
15626     declare sql handler for sqlstate '02000' set @var2 = 1;
15627 END//
15628 delimiter ;//
15630 DROP PROCEDURE IF EXISTS sp1;
15632 delimiter //;
15633 --error ER_PARSE_ERROR
15634 CREATE PROCEDURE sp1( )
15635 BEGIN
15636     declare sqlexception handler for sqlstate '02000' set @var2 = 1;
15637 END//
15638 delimiter ;//
15640 DROP PROCEDURE IF EXISTS sp1;
15642 delimiter //;
15643 --error ER_PARSE_ERROR
15644 CREATE PROCEDURE sp1( )
15645 BEGIN
15646     declare sqlstate handler for sqlstate '02000' set @var2 = 1;
15647 END//
15648 delimiter ;//
15650 DROP PROCEDURE IF EXISTS sp1;
15652 delimiter //;
15653 --error ER_PARSE_ERROR
15654 CREATE PROCEDURE sp1( )
15655 BEGIN
15656     declare sqlwarning handler for sqlstate '02000' set @var2 = 1;
15657 END//
15658 delimiter ;//
15660 DROP PROCEDURE IF EXISTS sp1;
15662 delimiter //;
15663 --error ER_PARSE_ERROR
15664 CREATE PROCEDURE sp1( )
15665 BEGIN
15666     declare sql_big_result handler for sqlstate '02000' set @var2 = 1;
15667 END//
15668 delimiter ;//
15670 DROP PROCEDURE IF EXISTS sp1;
15672 delimiter //;
15673 --error ER_PARSE_ERROR
15674 CREATE PROCEDURE sp1( )
15675 BEGIN
15676     declare sql_calc_found_rows handler for sqlstate '02000' set @var2 = 1;
15677 END//
15678 delimiter ;//
15680 DROP PROCEDURE IF EXISTS sp1;
15682 delimiter //;
15683 --error ER_PARSE_ERROR
15684 CREATE PROCEDURE sp1( )
15685 BEGIN
15686     declare sql_small_result handler for sqlstate '02000' set @var2 = 1;
15687 END//
15688 delimiter ;//
15690 DROP PROCEDURE IF EXISTS sp1;
15692 delimiter //;
15693 --error ER_PARSE_ERROR
15694 CREATE PROCEDURE sp1( )
15695 BEGIN
15696     declare ssl handler for sqlstate '02000' set @var2 = 1;
15697 END//
15698 delimiter ;//
15700 DROP PROCEDURE IF EXISTS sp1;
15702 delimiter //;
15703 --error ER_PARSE_ERROR
15704 CREATE PROCEDURE sp1( )
15705 BEGIN
15706     declare starting handler for sqlstate '02000' set @var2 = 1;
15707 END//
15708 delimiter ;//
15710 DROP PROCEDURE IF EXISTS sp1;
15712 delimiter //;
15713 --error ER_PARSE_ERROR
15714 CREATE PROCEDURE sp1( )
15715 BEGIN
15716     declare straight_join handler for sqlstate '02000' set @var2 = 1;
15717 END//
15718 delimiter ;//
15720 DROP PROCEDURE IF EXISTS sp1;
15722 delimiter //;
15723 --error ER_PARSE_ERROR
15724 CREATE PROCEDURE sp1( )
15725 BEGIN
15726     declare table handler for sqlstate '02000' set @var2 = 1;
15727 END//
15728 delimiter ;//
15730 DROP PROCEDURE IF EXISTS sp1;
15732 delimiter //;
15733 --error ER_PARSE_ERROR
15734 CREATE PROCEDURE sp1( )
15735 BEGIN
15736     declare terminated handler for sqlstate '02000' set @var2 = 1;
15737 END//
15738 delimiter ;//
15740 DROP PROCEDURE IF EXISTS sp1;
15742 delimiter //;
15743 --error ER_PARSE_ERROR
15744 CREATE PROCEDURE sp1( )
15745 BEGIN
15746     declare then handler for sqlstate '02000' set @var2 = 1;
15747 END//
15748 delimiter ;//
15750 DROP PROCEDURE IF EXISTS sp1;
15752 delimiter //;
15753 --error ER_PARSE_ERROR
15754 CREATE PROCEDURE sp1( )
15755 BEGIN
15756     declare tinyblob handler for sqlstate '02000' set @var2 = 1;
15757 END//
15758 delimiter ;//
15760 DROP PROCEDURE IF EXISTS sp1;
15762 delimiter //;
15763 --error ER_PARSE_ERROR
15764 CREATE PROCEDURE sp1( )
15765 BEGIN
15766     declare tinyint handler for sqlstate '02000' set @var2 = 1;
15767 END//
15768 delimiter ;//
15770 DROP PROCEDURE IF EXISTS sp1;
15772 delimiter //;
15773 --error ER_PARSE_ERROR
15774 CREATE PROCEDURE sp1( )
15775 BEGIN
15776     declare tinytext handler for sqlstate '02000' set @var2 = 1;
15777 END//
15778 delimiter ;//
15780 DROP PROCEDURE IF EXISTS sp1;
15782 delimiter //;
15783 --error ER_PARSE_ERROR
15784 CREATE PROCEDURE sp1( )
15785 BEGIN
15786     declare to handler for sqlstate '02000' set @var2 = 1;
15787 END//
15788 delimiter ;//
15790 DROP PROCEDURE IF EXISTS sp1;
15792 delimiter //;
15793 --error ER_PARSE_ERROR
15794 CREATE PROCEDURE sp1( )
15795 BEGIN
15796     declare trailing handler for sqlstate '02000' set @var2 = 1;
15797 END//
15798 delimiter ;//
15800 DROP PROCEDURE IF EXISTS sp1;
15802 delimiter //;
15803 --error ER_PARSE_ERROR
15804 CREATE PROCEDURE sp1( )
15805 BEGIN
15806     declare trigger handler for sqlstate '02000' set @var2 = 1;
15807 END//
15808 delimiter ;//
15810 DROP PROCEDURE IF EXISTS sp1;
15812 delimiter //;
15813 --error ER_PARSE_ERROR
15814 CREATE PROCEDURE sp1( )
15815 BEGIN
15816     declare true handler for sqlstate '02000' set @var2 = 1;
15817 END//
15818 delimiter ;//
15820 DROP PROCEDURE IF EXISTS sp1;
15822 delimiter //;
15823 --error ER_PARSE_ERROR
15824 CREATE PROCEDURE sp1( )
15825 BEGIN
15826     declare undo handler for sqlstate '02000' set @var2 = 1;
15827 END//
15828 delimiter ;//
15830 DROP PROCEDURE IF EXISTS sp1;
15832 delimiter //;
15833 --error ER_PARSE_ERROR
15834 CREATE PROCEDURE sp1( )
15835 BEGIN
15836     declare union handler for sqlstate '02000' set @var2 = 1;
15837 END//
15838 delimiter ;//
15840 DROP PROCEDURE IF EXISTS sp1;
15842 delimiter //;
15843 --error ER_PARSE_ERROR
15844 CREATE PROCEDURE sp1( )
15845 BEGIN
15846     declare unique handler for sqlstate '02000' set @var2 = 1;
15847 END//
15848 delimiter ;//
15850 DROP PROCEDURE IF EXISTS sp1;
15852 delimiter //;
15853 --error ER_PARSE_ERROR
15854 CREATE PROCEDURE sp1( )
15855 BEGIN
15856     declare unlock handler for sqlstate '02000' set @var2 = 1;
15857 END//
15858 delimiter ;//
15860 DROP PROCEDURE IF EXISTS sp1;
15862 delimiter //;
15863 --error ER_PARSE_ERROR
15864 CREATE PROCEDURE sp1( )
15865 BEGIN
15866     declare unsigned handler for sqlstate '02000' set @var2 = 1;
15867 END//
15868 delimiter ;//
15870 DROP PROCEDURE IF EXISTS sp1;
15872 delimiter //;
15873 --error ER_PARSE_ERROR
15874 CREATE PROCEDURE sp1( )
15875 BEGIN
15876     declare update handler for sqlstate '02000' set @var2 = 1;
15877 END//
15878 delimiter ;//
15880 DROP PROCEDURE IF EXISTS sp1;
15882 delimiter //;
15883 --error ER_PARSE_ERROR
15884 CREATE PROCEDURE sp1( )
15885 BEGIN
15886     declare usage handler for sqlstate '02000' set @var2 = 1;
15887 END//
15888 delimiter ;//
15890 DROP PROCEDURE IF EXISTS sp1;
15892 delimiter //;
15893 --error ER_PARSE_ERROR
15894 CREATE PROCEDURE sp1( )
15895 BEGIN
15896     declare use handler for sqlstate '02000' set @var2 = 1;
15897 END//
15898 delimiter ;//
15900 DROP PROCEDURE IF EXISTS sp1;
15902 delimiter //;
15903 --error ER_PARSE_ERROR
15904 CREATE PROCEDURE sp1( )
15905 BEGIN
15906     declare using handler for sqlstate '02000' set @var2 = 1;
15907 END//
15908 delimiter ;//
15910 DROP PROCEDURE IF EXISTS sp1;
15912 delimiter //;
15913 --error ER_PARSE_ERROR
15914 CREATE PROCEDURE sp1( )
15915 BEGIN
15916     declare utc_date handler for sqlstate '02000' set @var2 = 1;
15917 END//
15918 delimiter ;//
15920 DROP PROCEDURE IF EXISTS sp1;
15922 delimiter //;
15923 --error ER_PARSE_ERROR
15924 CREATE PROCEDURE sp1( )
15925 BEGIN
15926     declare utc_time handler for sqlstate '02000' set @var2 = 1;
15927 END//
15928 delimiter ;//
15930 DROP PROCEDURE IF EXISTS sp1;
15932 delimiter //;
15933 --error ER_PARSE_ERROR
15934 CREATE PROCEDURE sp1( )
15935 BEGIN
15936     declare utc_timestamp handler for sqlstate '02000' set @var2 = 1;
15937 END//
15938 delimiter ;//
15940 DROP PROCEDURE IF EXISTS sp1;
15942 delimiter //;
15943 --error ER_PARSE_ERROR
15944 CREATE PROCEDURE sp1( )
15945 BEGIN
15946     declare values handler for sqlstate '02000' set @var2 = 1;
15947 END//
15948 delimiter ;//
15950 DROP PROCEDURE IF EXISTS sp1;
15952 delimiter //;
15953 --error ER_PARSE_ERROR
15954 CREATE PROCEDURE sp1( )
15955 BEGIN
15956     declare varbinary handler for sqlstate '02000' set @var2 = 1;
15957 END//
15958 delimiter ;//
15960 DROP PROCEDURE IF EXISTS sp1;
15962 delimiter //;
15963 --error ER_PARSE_ERROR
15964 CREATE PROCEDURE sp1( )
15965 BEGIN
15966     declare varchar handler for sqlstate '02000' set @var2 = 1;
15967 END//
15968 delimiter ;//
15970 DROP PROCEDURE IF EXISTS sp1;
15972 delimiter //;
15973 --error ER_PARSE_ERROR
15974 CREATE PROCEDURE sp1( )
15975 BEGIN
15976     declare varcharacter handler for sqlstate '02000' set @var2 = 1;
15977 END//
15978 delimiter ;//
15980 DROP PROCEDURE IF EXISTS sp1;
15982 delimiter //;
15983 --error ER_PARSE_ERROR
15984 CREATE PROCEDURE sp1( )
15985 BEGIN
15986     declare varying handler for sqlstate '02000' set @var2 = 1;
15987 END//
15988 delimiter ;//
15990 DROP PROCEDURE IF EXISTS sp1;
15992 delimiter //;
15993 --error ER_PARSE_ERROR
15994 CREATE PROCEDURE sp1( )
15995 BEGIN
15996     declare when handler for sqlstate '02000' set @var2 = 1;
15997 END//
15998 delimiter ;//
16000 DROP PROCEDURE IF EXISTS sp1;
16002 delimiter //;
16003 --error ER_PARSE_ERROR
16004 CREATE PROCEDURE sp1( )
16005 BEGIN
16006     declare where handler for sqlstate '02000' set @var2 = 1;
16007 END//
16008 delimiter ;//
16010 DROP PROCEDURE IF EXISTS sp1;
16012 delimiter //;
16013 --error ER_PARSE_ERROR
16014 CREATE PROCEDURE sp1( )
16015 BEGIN
16016     declare while handler for sqlstate '02000' set @var2 = 1;
16017 END//
16018 delimiter ;//
16020 DROP PROCEDURE IF EXISTS sp1;
16022 delimiter //;
16023 --error ER_PARSE_ERROR
16024 CREATE PROCEDURE sp1( )
16025 BEGIN
16026     declare with handler for sqlstate '02000' set @var2 = 1;
16027 END//
16028 delimiter ;//
16030 DROP PROCEDURE IF EXISTS sp1;
16032 delimiter //;
16033 --error ER_PARSE_ERROR
16034 CREATE PROCEDURE sp1( )
16035 BEGIN
16036     declare write handler for sqlstate '02000' set @var2 = 1;
16037 END//
16038 delimiter ;//
16040 DROP PROCEDURE IF EXISTS sp1;
16042 delimiter //;
16043 --error ER_PARSE_ERROR
16044 CREATE PROCEDURE sp1( )
16045 BEGIN
16046     declare xor handler for sqlstate '02000' set @var2 = 1;
16047 END//
16048 delimiter ;//
16050 DROP PROCEDURE IF EXISTS sp1;
16052 delimiter //;
16053 --error ER_PARSE_ERROR
16054 CREATE PROCEDURE sp1( )
16055 BEGIN
16056     declare year_month handler for sqlstate '02000' set @var2 = 1;
16057 END//
16058 delimiter ;//
16060 DROP PROCEDURE IF EXISTS sp1;
16062 delimiter //;
16063 --error ER_PARSE_ERROR
16064 CREATE PROCEDURE sp1( )
16065 BEGIN
16066     declare zerofill handler for sqlstate '02000' set @var2 = 1;
16067 END//
16068 delimiter ;//
16071 # ==============================================================================
16073 # test plan section: 4.2 - syntax checks for programming statements - 2
16075 # ==============================================================================
16078 USE db_storedproc;
16081 # ------------------------------------------------------------------------------
16082 let $message= Testcase 4.2.26:;
16083 --source include/show_msg80.inc
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.
16089 set @v1='0';
16090 set @v2='0';
16091 --disable_warnings
16092 DROP PROCEDURE IF EXISTS sp1;
16093 --enable_warnings
16095 delimiter //;
16096 CREATE PROCEDURE sp1()
16097 BEGIN
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;
16122 END//
16123 delimiter ;//
16125 CALL sp1();
16126   SELECT @v1, @v2;
16128 # cleanup
16129 DROP PROCEDURE sp1;
16132 # ------------------------------------------------------------------------------
16133 let $message= Testcase 4.2.28:;
16134 --source include/show_msg80.inc
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.
16140 SET @x = 0;
16141 SET @y = 0;
16142 DROP PROCEDURE IF EXISTS sp1;
16144 SET @start_global_value = @@GLOBAL.sort_buffer_size;
16145 delimiter //;
16146 CREATE PROCEDURE sp1()
16147 BEGIN
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;
16157 END//
16158 delimiter ;//
16159 CALL sp1();
16160 SELECT @x, @y;
16161 SET @@GLOBAL.sort_buffer_size = @start_global_value;
16164 # ------------------------------------------------------------------------------
16165 let $message= Testcase 4.2.29:;
16166 --source include/show_msg80.inc
16168 # testcase: ensure that the set statement can assign values to variables either
16169 #            separately or multiple variables in a list.
16172 DROP PROCEDURE IF EXISTS sp1;
16174 delimiter //;
16175 CREATE PROCEDURE sp1()
16176 BEGIN
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;
16183 END//
16184 delimiter ;//
16186 CALL sp1();
16188 # cleanup
16189 DROP PROCEDURE sp1;
16193 # ------------------------------------------------------------------------------
16194 let $message= Testcase 4.2.30:;
16195 --source include/show_msg80.inc
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
16200 # integer data_type.
16202   set @xx=0;
16204 DROP PROCEDURE IF EXISTS sp1;
16206 delimiter //;
16207 CREATE PROCEDURE sp1()
16208 BEGIN
16209     declare xx int;
16210     set xx = 'asd';
16211     set @xx = xx;
16212     SELECT @xx;
16213 END//
16214 delimiter ;//
16216 CALL sp1();
16218 DROP PROCEDURE IF EXISTS sp1;
16220 delimiter //;
16221 CREATE PROCEDURE sp1()
16222 BEGIN
16223     declare xx int;
16224     set xx = 5;
16225     set @xx = xx;
16226     SELECT @xx;
16227 END//
16228 delimiter ;//
16230 CALL sp1();
16232 # cleanup
16233 DROP PROCEDURE sp1;
16236 # ------------------------------------------------------------------------------
16237 let $message= Testcase 4.2.31 - a:;
16238 --source include/show_msg80.inc
16240 # character data_type
16242   set @xx=0;
16244 DROP PROCEDURE IF EXISTS sp1;
16246 delimiter //;
16247 CREATE PROCEDURE sp1()
16248 BEGIN
16249     declare xx char;
16250     set xx = 'temp';
16251     set @xx = xx;
16252 END//
16253 delimiter ;//
16255 CALL sp1();
16257   SELECT @xx;
16259 # cleanup
16260 DROP PROCEDURE sp1;
16263 # ------------------------------------------------------------------------------
16264 let $message= Testcase 4.2.31 - b:;
16265 --source include/show_msg80.inc
16267 # float data_type
16269 DROP PROCEDURE IF EXISTS sp1;
16271 delimiter //;
16272 CREATE PROCEDURE sp1()
16273 BEGIN
16274     declare xx float;
16275     set xx = 'asd';
16276     SELECT xx;
16277 END//
16278 delimiter ;//
16280 CALL sp1();
16282 DROP PROCEDURE IF EXISTS sp1;
16284 delimiter //;
16285 CREATE PROCEDURE sp1()
16286 BEGIN
16287     declare xx float;
16288     set xx = 1.6;
16289     SELECT xx;
16290 END//
16291 delimiter ;//
16293 CALL sp1();
16295 # cleanup
16296 DROP PROCEDURE sp1;
16300 # ------------------------------------------------------------------------------
16301 let $message= Testcase 4.2.31 - c:;
16302 --source include/show_msg80.inc
16304 # datetime data_type
16306 DROP PROCEDURE IF EXISTS sp1;
16308 delimiter //;
16309 CREATE PROCEDURE sp1()
16310 BEGIN
16311     declare xx datetime;
16312     set xx = 'asd';
16313     SELECT xx;
16314 END//
16315 delimiter ;//
16317 CALL sp1();
16319 DROP PROCEDURE IF EXISTS sp1;
16321 delimiter //;
16322 CREATE PROCEDURE sp1()
16323 BEGIN
16324     declare xx datetime;
16325     set xx = '2006-06-06 01:01:01';
16326     SELECT xx;
16327 END//
16328 delimiter ;//
16330 CALL sp1();
16332 # cleanup
16333 DROP PROCEDURE sp1;
16336 # ------------------------------------------------------------------------------
16337 let $message= Testcase 4.2.31 - d:;
16338 --source include/show_msg80.inc
16340 # varchar data_type
16342 DROP PROCEDURE IF EXISTS sp1;
16344 delimiter //;
16345 CREATE PROCEDURE sp1()
16346 BEGIN
16347     declare xx varchar(20);
16348     set xx = "abcdefghijk";
16349     SELECT xx;
16350 END//
16351 delimiter ;//
16353 CALL sp1();
16355 # cleanup
16356 DROP PROCEDURE sp1;
16359 # ------------------------------------------------------------------------------
16360 let $message= Testcase 4.2.31 - e:;
16361 --source include/show_msg80.inc
16363 # tinyint
16365 DROP PROCEDURE IF EXISTS sp1;
16367 delimiter //;
16368 CREATE PROCEDURE sp1()
16369 BEGIN
16370     declare xx tinyint;
16371     set xx = 'asd';
16372     SELECT xx;
16373 END//
16374 delimiter ;//
16376 CALL sp1();
16378 DROP PROCEDURE IF EXISTS sp1;
16380 delimiter //;
16381 CREATE PROCEDURE sp1()
16382 BEGIN
16383     declare xx tinyint;
16384     set xx = -125;
16385     SELECT xx;
16386 END//
16387 delimiter ;//
16389 CALL sp1();
16391 # cleanup
16392 DROP PROCEDURE sp1;
16396 # ------------------------------------------------------------------------------
16397 let $message= Testcase 4.2.37:;
16398 --source include/show_msg80.inc
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.
16404 DROP PROCEDURE IF EXISTS sp1;
16406 delimiter //;
16407 CREATE PROCEDURE sp1( )
16408 BEGIN
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;
16412 END//
16413 delimiter ;//
16415 DROP PROCEDURE IF EXISTS sp1;
16417 delimiter //;
16418 CREATE PROCEDURE sp1()
16419 BEGIN
16420     declare x char ascii;
16421     SELECT f1 into x from t2 limit 1;
16422 END//
16423 delimiter ;//
16425 CALL sp1();
16427 DROP PROCEDURE IF EXISTS sp1;
16429 delimiter //;
16430 CREATE PROCEDURE sp1()
16431 BEGIN
16432     declare x tinytext;
16433     SELECT f1 into x from t2 limit 1;
16434 END//
16435 delimiter ;//
16437 CALL sp1();
16440 DROP PROCEDURE IF EXISTS sp1;
16442 delimiter //;
16443 CREATE PROCEDURE sp1()
16444 BEGIN
16445     declare x text;
16446     SELECT f1 into x from t2 limit 1;
16447 END//
16448 delimiter ;//
16450 CALL sp1();
16452 DROP PROCEDURE IF EXISTS sp1;
16454 delimiter //;
16455 CREATE PROCEDURE sp1()
16456 BEGIN
16457     declare x mediumtext;
16458     SELECT f1 into x from t2 limit 1;
16459 END//
16460 delimiter ;//
16462 CALL sp1();
16464 DROP PROCEDURE IF EXISTS sp1;
16466 delimiter //;
16467 CREATE PROCEDURE sp1()
16468 BEGIN
16469     declare x longtext;
16470     SELECT f1 into x from t2 limit 1;
16471 END//
16472 delimiter ;//
16474 CALL sp1();
16476 DROP PROCEDURE IF EXISTS sp1;
16478 delimiter //;
16479 CREATE PROCEDURE sp1()
16480 BEGIN
16481     declare x tinyblob;
16482     SELECT f1 into x from t2 limit 1;
16483 END//
16484 delimiter ;//
16486 CALL sp1();
16488 DROP PROCEDURE IF EXISTS sp1;
16490 delimiter //;
16491 CREATE PROCEDURE sp1()
16492 BEGIN
16493     declare x blob;
16494     SELECT f1 into x from t2 limit 1;
16495 END//
16496 delimiter ;//
16498 CALL sp1();
16500 DROP PROCEDURE IF EXISTS sp1;
16502 delimiter //;
16503 CREATE PROCEDURE sp1()
16504 BEGIN
16505     declare x mediumblob;
16506     SELECT f1 into x from t2 limit 1;
16507 END//
16508 delimiter ;//
16510 CALL sp1();
16512 DROP PROCEDURE IF EXISTS sp1;
16514 delimiter //;
16515 CREATE PROCEDURE sp1()
16516 BEGIN
16517     declare x longblob;
16518     SELECT f1 into x from t2 limit 1;
16519 END//
16520 delimiter ;//
16522 CALL sp1();
16524 DROP PROCEDURE IF EXISTS sp1;
16526 delimiter //;
16527 CREATE PROCEDURE sp1()
16528 BEGIN
16529     declare x binary;
16530     SELECT f1 into x from t2 limit 1;
16531 END//
16532 delimiter ;//
16534 CALL sp1();
16536 --disable_warnings
16538 DROP PROCEDURE IF EXISTS sp1;
16540 delimiter //;
16541 CREATE PROCEDURE sp1()
16542 BEGIN
16543     declare x tinyint;
16544     SELECT f1 into x from t2 limit 1;
16545 END//
16546 delimiter ;//
16548 CALL sp1();
16550 DROP PROCEDURE IF EXISTS sp1;
16552 delimiter //;
16553 CREATE PROCEDURE sp1()
16554 BEGIN
16555     declare x tinyint unsigned;
16556     SELECT f1 into x from t2 limit 1;
16557 END//
16558 delimiter ;//
16560 CALL sp1();
16562 DROP PROCEDURE IF EXISTS sp1;
16564 delimiter //;
16565 CREATE PROCEDURE sp1()
16566 BEGIN
16567     declare x tinyint zerofill;
16568     SELECT f1 into x from t2 limit 1;
16569 END//
16570 delimiter ;//
16572 CALL sp1();
16574 DROP PROCEDURE IF EXISTS sp1;
16576 delimiter //;
16577 CREATE PROCEDURE sp1()
16578 BEGIN
16579     declare x tinyint unsigned zerofill;
16580     SELECT f1 into x from t2 limit 1;
16581 END//
16582 delimiter ;//
16584 CALL sp1();
16586 DROP PROCEDURE IF EXISTS sp1;
16588 delimiter //;
16589 CREATE PROCEDURE sp1()
16590 BEGIN
16591     declare x smallint;
16592     SELECT f1 into x from t2 limit 1;
16593 END//
16594 delimiter ;//
16596 CALL sp1();
16598 DROP PROCEDURE IF EXISTS sp1;
16600 delimiter //;
16601 CREATE PROCEDURE sp1()
16602 BEGIN
16603     declare x smallint unsigned;
16604     SELECT f1 into x from t2 limit 1;
16605 END//
16606 delimiter ;//
16608 CALL sp1();
16610 DROP PROCEDURE IF EXISTS sp1;
16612 delimiter //;
16613 CREATE PROCEDURE sp1()
16614 BEGIN
16615     declare x smallint zerofill;
16616     SELECT f1 into x from t2 limit 1;
16617 END//
16618 delimiter ;//
16620 CALL sp1();
16622 DROP PROCEDURE IF EXISTS sp1;
16624 delimiter //;
16625 CREATE PROCEDURE sp1()
16626 BEGIN
16627     declare x smallint unsigned zerofill;
16628     SELECT f1 into x from t2 limit 1;
16629 END//
16630 delimiter ;//
16632 CALL sp1();
16634 DROP PROCEDURE IF EXISTS sp1;
16636 delimiter //;
16637 CREATE PROCEDURE sp1()
16638 BEGIN
16639     declare x mediumint;
16640     SELECT f1 into x from t2 limit 1;
16641 END//
16642 delimiter ;//
16644 CALL sp1();
16646 DROP PROCEDURE IF EXISTS sp1;
16648 delimiter //;
16649 CREATE PROCEDURE sp1()
16650 BEGIN
16651     declare x mediumint unsigned;
16652     SELECT f1 into x from t2 limit 1;
16653 END//
16654 delimiter ;//
16656 CALL sp1();
16658 DROP PROCEDURE IF EXISTS sp1;
16659 delimiter //;
16660 CREATE PROCEDURE sp1()
16661 BEGIN
16662     declare x mediumint zerofill;
16663     SELECT f1 into x from t2 limit 1;
16664 END//
16665 delimiter ;//
16667 CALL sp1();
16669 DROP PROCEDURE IF EXISTS sp1;
16671 delimiter //;
16672 CREATE PROCEDURE sp1()
16673 BEGIN
16674     declare x mediumint unsigned zerofill;
16675     SELECT f1 into x from t2 limit 1;
16676 END//
16677 delimiter ;//
16679 CALL sp1();
16681 DROP PROCEDURE IF EXISTS sp1;
16683 delimiter //;
16684 CREATE PROCEDURE sp1()
16685 BEGIN
16686     declare x int;
16687     SELECT f1 into x from t2 limit 1;
16688 END//
16689 delimiter ;//
16691 CALL sp1();
16693 DROP PROCEDURE IF EXISTS sp1;
16695 delimiter //;
16696 CREATE PROCEDURE sp1()
16697 BEGIN
16698     declare x int unsigned;
16699     SELECT f1 into x from t2 limit 1;
16700 END//
16701 delimiter ;//
16703 CALL sp1();
16705 DROP PROCEDURE IF EXISTS sp1;
16707 delimiter //;
16708 CREATE PROCEDURE sp1()
16709 BEGIN
16710     declare x int zerofill;
16711     SELECT f1 into x from t2 limit 1;
16712 END//
16713 delimiter ;//
16715 CALL sp1();
16717 DROP PROCEDURE IF EXISTS sp1;
16719 delimiter //;
16720 CREATE PROCEDURE sp1()
16721 BEGIN
16722     declare x int unsigned zerofill;
16723     SELECT f1 into x from t2 limit 1;
16724 END//
16725 delimiter ;//
16727 CALL sp1();
16729 DROP PROCEDURE IF EXISTS sp1;
16731 delimiter //;
16732 CREATE PROCEDURE sp1()
16733 BEGIN
16734     declare x bigint;
16735     SELECT f1 into x from t2 limit 1;
16736 END//
16737 delimiter ;//
16739 CALL sp1();
16741 DROP PROCEDURE IF EXISTS sp1;
16743 delimiter //;
16744 CREATE PROCEDURE sp1()
16745 BEGIN
16746     declare x bigint unsigned;
16747     SELECT f1 into x from t2 limit 1;
16748 END//
16749 delimiter ;//
16751 CALL sp1();
16753 DROP PROCEDURE IF EXISTS sp1;
16755 delimiter //;
16756 CREATE PROCEDURE sp1()
16757 BEGIN
16758     declare x bigint zerofill;
16759     SELECT f1 into x from t2 limit 1;
16760 END//
16761 delimiter ;//
16763 CALL sp1();
16765 DROP PROCEDURE IF EXISTS sp1;
16767 delimiter //;
16768 CREATE PROCEDURE sp1()
16769 BEGIN
16770     declare x bigint unsigned zerofill;
16771     SELECT f1 into x from t2 limit 1;
16772 END//
16773 delimiter ;//
16775 CALL sp1();
16777 DROP PROCEDURE IF EXISTS sp1;
16779 delimiter //;
16780 CREATE PROCEDURE sp1()
16781 BEGIN
16782     declare x decimal;
16783     SELECT f1 into x from t2 limit 1;
16784 END//
16785 delimiter ;//
16787 CALL sp1();
16789 DROP PROCEDURE IF EXISTS sp1;
16791 delimiter //;
16792 CREATE PROCEDURE sp1()
16793 BEGIN
16794     declare x decimal unsigned;
16795     SELECT f1 into x from t2 limit 1;
16796 END//
16797 delimiter ;//
16799 CALL sp1();
16801 DROP PROCEDURE IF EXISTS sp1;
16803 delimiter //;
16804 CREATE PROCEDURE sp1()
16805 BEGIN
16806     declare x decimal zerofill;
16807     SELECT f1 into x from t2 limit 1;
16808 END//
16809 delimiter ;//
16811 CALL sp1();
16813 DROP PROCEDURE IF EXISTS sp1;
16815 delimiter //;
16816 CREATE PROCEDURE sp1()
16817 BEGIN
16818     declare x decimal unsigned zerofill;
16819     SELECT f1 into x from t2 limit 1;
16820 END//
16821 delimiter ;//
16823 CALL sp1();
16825 DROP PROCEDURE IF EXISTS sp1;
16827 delimiter //;
16828 CREATE PROCEDURE sp1()
16829 BEGIN
16830     declare x numeric;
16831     SELECT f1 into x from t2 limit 1;
16832 END//
16833 delimiter ;//
16835 CALL sp1();
16837 DROP PROCEDURE IF EXISTS sp1;
16839 delimiter //;
16840 CREATE PROCEDURE sp1()
16841 BEGIN
16842     declare x numeric unsigned;
16843     SELECT f1 into x from t2 limit 1;
16844 END//
16845 delimiter ;//
16847 CALL sp1();
16849 DROP PROCEDURE IF EXISTS sp1;
16851 delimiter //;
16852 CREATE PROCEDURE sp1()
16853 BEGIN
16854     declare x numeric zerofill;
16855     SELECT f1 into x from t2 limit 1;
16856 END//
16857 delimiter ;//
16859 CALL sp1();
16861 DROP PROCEDURE IF EXISTS sp1;
16863 delimiter //;
16864 CREATE PROCEDURE sp1()
16865 BEGIN
16866     declare x numeric unsigned zerofill;
16867     SELECT f1 into x from t2 limit 1;
16868 END//
16869 delimiter ;//
16871 CALL sp1();
16873 DROP PROCEDURE IF EXISTS sp1;
16875 delimiter //;
16876 CREATE PROCEDURE sp1()
16877 BEGIN
16878     declare x real;
16879     SELECT f1 into x from t2 limit 1;
16880 END//
16881 delimiter ;//
16883 CALL sp1();
16885 DROP PROCEDURE IF EXISTS sp1;
16887 delimiter //;
16888 CREATE PROCEDURE sp1()
16889 BEGIN
16890     declare x real unsigned;
16891     SELECT f1 into x from t2 limit 1;
16892 END//
16893 delimiter ;//
16895 CALL sp1();
16897 DROP PROCEDURE IF EXISTS sp1;
16899 delimiter //;
16900 CREATE PROCEDURE sp1()
16901 BEGIN
16902     declare x real zerofill;
16903     SELECT f1 into x from t2 limit 1;
16904 END//
16905 delimiter ;//
16907 CALL sp1();
16909 DROP PROCEDURE IF EXISTS sp1;
16911 delimiter //;
16912 CREATE PROCEDURE sp1()
16913 BEGIN
16914     declare x real unsigned zerofill;
16915     SELECT f1 into x from t2 limit 1;
16916 END//
16917 delimiter ;//
16919 CALL sp1();
16921 DROP PROCEDURE IF EXISTS sp1;
16923 delimiter //;
16924 CREATE PROCEDURE sp1()
16925 BEGIN
16926     declare x float;
16927     SELECT f1 into x from t2 limit 1;
16928 END//
16929 delimiter ;//
16931 CALL sp1();
16933 DROP PROCEDURE IF EXISTS sp1;
16935 delimiter //;
16936 CREATE PROCEDURE sp1()
16937 BEGIN
16938     declare x float unsigned;
16939     SELECT f1 into x from t2 limit 1;
16940 END//
16941 delimiter ;//
16943 CALL sp1();
16945 DROP PROCEDURE IF EXISTS sp1;
16947 delimiter //;
16948 CREATE PROCEDURE sp1()
16949 BEGIN
16950     declare x float zerofill;
16951     SELECT f1 into x from t2 limit 1;
16952 END//
16953 delimiter ;//
16955 CALL sp1();
16957 DROP PROCEDURE IF EXISTS sp1;
16959 delimiter //;
16960 CREATE PROCEDURE sp1()
16961 BEGIN
16962     declare x float unsigned zerofill;
16963     SELECT f1 into x from t2 limit 1;
16964 END//
16965 delimiter ;//
16967 CALL sp1();
16969 DROP PROCEDURE IF EXISTS sp1;
16971 delimiter //;
16972 CREATE PROCEDURE sp1()
16973 BEGIN
16974     declare x date;
16975     SELECT f1 into x from t2 limit 1;
16976 END//
16977 delimiter ;//
16979 CALL sp1();
16981 DROP PROCEDURE IF EXISTS sp1;
16983 delimiter //;
16984 CREATE PROCEDURE sp1()
16985 BEGIN
16986     declare x time;
16987     SELECT f1 into x from t2 limit 1;
16988 END//
16989 delimiter ;//
16991 CALL sp1();
16993 DROP PROCEDURE IF EXISTS sp1;
16995 delimiter //;
16996 CREATE PROCEDURE sp1()
16997 BEGIN
16998     declare x datetime;
16999     SELECT f1 into x from t2 limit 1;
17000 END//
17001 delimiter ;//
17003 CALL sp1();
17005 DROP PROCEDURE IF EXISTS sp1;
17007 delimiter //;
17008 CREATE PROCEDURE sp1()
17009 BEGIN
17010     declare x timestamp;
17011     SELECT f1 into x from t2 limit 1;
17012 END//
17013 delimiter ;//
17015 CALL sp1();
17017 DROP PROCEDURE IF EXISTS sp1;
17019 delimiter //;
17020 CREATE PROCEDURE sp1()
17021 BEGIN
17022     declare x year;
17023     SELECT f1 into x from t2 limit 1;
17024 END//
17025 delimiter ;//
17027 CALL sp1();
17029 DROP PROCEDURE IF EXISTS sp1;
17031 delimiter //;
17032 CREATE PROCEDURE sp1()
17033 BEGIN
17034     declare x year(3);
17035     SELECT f1 into x from t2 limit 1;
17036 END//
17037 delimiter ;//
17039 CALL sp1();
17041 DROP PROCEDURE IF EXISTS sp1;
17043 delimiter //;
17044 CREATE PROCEDURE sp1()
17045 BEGIN
17046     declare x year(4);
17047     SELECT f1 into x from t2 limit 1;
17048 END//
17049 delimiter ;//
17051 CALL sp1();
17053 DROP PROCEDURE IF EXISTS sp1;
17055 delimiter //;
17056 CREATE PROCEDURE sp1()
17057 BEGIN
17058     declare x enum("1enum", "2enum");
17059     SELECT f1 into x from t2 limit 1;
17060 END//
17061 delimiter ;//
17063 CALL sp1();
17065 DROP PROCEDURE IF EXISTS sp1;
17067 delimiter //;
17068 CREATE PROCEDURE sp1()
17069 BEGIN
17070     declare x set("1set", "2set");
17071     SELECT f1 into x from t2 limit 1;
17072 END//
17073 delimiter ;//
17075 CALL sp1();
17077 # cleanup
17078 DROP PROCEDURE sp1;
17079 --enable_warnings
17081 # ------------------------------------------------------------------------------
17082 let $message= Testcase 4.2.38:;
17083 --source include/show_msg80.inc
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.
17088 DROP PROCEDURE IF EXISTS sp1;
17090 delimiter //;
17091 CREATE PROCEDURE sp1()
17092 BEGIN
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;
17100 END//
17101 delimiter ;//
17103 CALL sp1();
17105 # cleanup
17106 DROP PROCEDURE sp1;
17110 # ------------------------------------------------------------------------------
17111 let $message= Testcase 4.2.39:;
17112 --source include/show_msg80.inc
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)
17117 DROP PROCEDURE IF EXISTS sp1;
17119 delimiter //;
17120 --error ER_SP_DUP_COND
17121 CREATE PROCEDURE sp1()
17122 BEGIN
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);
17127 END//
17128 delimiter ;//
17131 # ------------------------------------------------------------------------------
17132 let $message= Testcase 4.2.41:;
17133 --source include/show_msg80.inc
17135 # testcase: ensure that every sqlstate value declared with a declare  condition for
17136 #            statement is a character string that is 5 character.
17138 DROP PROCEDURE IF EXISTS sp1;
17140 delimiter //;
17141 --error ER_SP_BAD_SQLSTATE
17142 CREATE PROCEDURE sp1()
17143 BEGIN
17144     declare cond1 condition for sqlstate '1';
17145     declare continue handler for cond1 set @var2 = 1;
17146     insert into tnull values( 1);
17147 END//
17148 delimiter ;//
17150 --disable_warnings
17151 DROP PROCEDURE IF EXISTS sp1;
17152 --enable_warnings
17154 delimiter //;
17155 --error ER_SP_BAD_SQLSTATE
17156 CREATE PROCEDURE sp1()
17157 BEGIN
17158     declare cond1 condition for sqlstate '12';
17159     declare continue handler for cond1 set @var2 = 1;
17160     insert into tnull values( 1);
17161 END//
17162 delimiter ;//
17164 --disable_warnings
17165 DROP PROCEDURE IF EXISTS sp1;
17166 --enable_warnings
17168 delimiter //;
17169 --error ER_SP_BAD_SQLSTATE
17170 CREATE PROCEDURE sp1()
17171 BEGIN
17172     declare cond1 condition for sqlstate '123';
17173     declare continue handler for cond1 set @var2 = 1;
17174     insert into tnull values( 1);
17175 END//
17176 delimiter ;//
17178 --disable_warnings
17179 DROP PROCEDURE IF EXISTS sp1;
17180 --enable_warnings
17182 delimiter //;
17183 --error ER_SP_BAD_SQLSTATE
17184 CREATE PROCEDURE sp1()
17185 BEGIN
17186     declare cond1 condition for sqlstate '1234';
17187     declare continue handler for cond1 set @var2 = 1;
17188     insert into tnull values( 1);
17189 END//
17190 delimiter ;//
17192 --disable_warnings
17193 DROP PROCEDURE IF EXISTS sp1;
17194 --enable_warnings
17196 delimiter //;
17197 --error ER_SP_BAD_SQLSTATE
17198 CREATE PROCEDURE sp1()
17199 BEGIN
17200     declare cond1 condition for sqlstate '123456';
17201     declare continue handler for cond1 set @var2 = 1;
17202     insert into tnull values( 1);
17203 END//
17204 delimiter ;//
17207 # ------------------------------------------------------------------------------
17208 let $message= Testcase 4.2.42:;
17209 --source include/show_msg80.inc
17211 # testcase: ensure that the declare  condition for statement cannot declare a
17212 #            condition for an invalid sqlstate.
17215 --disable_warnings
17216 DROP PROCEDURE IF EXISTS sp1;
17217 --enable_warnings
17219 delimiter //;
17220 --error ER_SP_BAD_SQLSTATE
17221 CREATE PROCEDURE sp1()
17222 BEGIN
17223     declare cond1 condition for sqlstate 'abcdefghi';
17224     declare continue handler for cond1 set @var2 = 1;
17225     insert into tnull values( 1);
17226 END//
17227 delimiter ;//
17229 --disable_warnings
17230 DROP PROCEDURE IF EXISTS sp1;
17231 --enable_warnings
17233 delimiter //;
17234 --error ER_SP_BAD_SQLSTATE
17235 CREATE PROCEDURE sp1()
17236 BEGIN
17237     declare cond1 condition for sqlstate '42000test';
17238     declare continue handler for cond1 set @var2 = 1;
17239     insert into tnull values( 1);
17240 END//
17241 delimiter ;//
17243 --disable_warnings
17244 DROP PROCEDURE IF EXISTS sp1;
17245 --enable_warnings
17247 delimiter //;
17248 --error ER_SP_BAD_SQLSTATE
17249 CREATE PROCEDURE sp1()
17250 BEGIN
17251     declare cond1 condition for sqlstate '00000@#$%^&';
17252     declare continue handler for cond1 set @var2 = 1;
17253     insert into tnull values( 1);
17254 END//
17255 delimiter ;//
17257 --disable_warnings
17258 DROP PROCEDURE IF EXISTS sp1;
17259 --enable_warnings
17261 delimiter //;
17262 --error ER_SP_BAD_SQLSTATE
17263 CREATE PROCEDURE sp1()
17264 BEGIN
17265     declare cond1 condition for sqlstate '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890';
17266     declare continue handler for cond1 set @var2 = 1;
17267     insert into tnull values( 1);
17268 END//
17269 delimiter ;//
17271 --disable_warnings
17272 DROP PROCEDURE IF EXISTS sp1;
17273 --enable_warnings
17275 delimiter //;
17276 --error ER_SP_BAD_SQLSTATE
17277 CREATE PROCEDURE sp1()
17278 BEGIN
17279     declare cond1 condition for sqlstate 'null';
17280     declare continue handler for cond1 set @var2 = 1;
17281     insert into tnull values( 1);
17282 END//
17283 delimiter ;//
17285 --disable_warnings
17286 DROP PROCEDURE IF EXISTS sp1;
17287 --enable_warnings
17289 delimiter //;
17290 --error ER_SP_BAD_SQLSTATE
17291 CREATE PROCEDURE sp1()
17292 BEGIN
17293     declare cond1 condition for sqlstate ' ';
17294     declare continue handler for cond1 set @var2 = 1;
17295     insert into tnull values( 1);
17296 END//
17297 delimiter ;//
17299 --disable_warnings
17300 DROP PROCEDURE IF EXISTS sp1;
17301 --enable_warnings
17303 delimiter //;
17304 --error ER_PARSE_ERROR
17305 CREATE PROCEDURE sp1()
17306 BEGIN
17307     declare cond1 condition for sqlstate 1234567890;
17308     declare continue handler for cond1 set @var2 = 1;
17309     insert into tnull values( 1);
17310 END//
17311 delimiter ;//
17313 --disable_warnings
17314 DROP PROCEDURE IF EXISTS sp1;
17315 --enable_warnings
17317 delimiter //;
17318 --error ER_SP_BAD_SQLSTATE
17319 CREATE PROCEDURE sp1()
17320 BEGIN
17321     declare cond1 condition for sqlstate '2005-03-03';
17322     declare continue handler for cond1 set @var2 = 1;
17323     insert into tnull values( 1);
17324 END//
17325 delimiter ;//
17328 # ------------------------------------------------------------------------------
17329 let $message= Testcase 4.2.43:;
17330 --source include/show_msg80.inc
17332 # testcase: ensure that the declare  condition for statement cannot declare a
17333 #            condition for the successful completion sqlstate: 00000.
17335 --disable_warnings
17336 DROP PROCEDURE IF EXISTS sp1;
17337 --enable_warnings
17339 --echo expect failure, SQLSTATE 00000 is not an acceptable value
17340 --echo for an SP's handler
17341 delimiter //;
17342 --ERROR ER_SP_BAD_SQLSTATE
17343 CREATE PROCEDURE sp1()
17344 BEGIN
17345     declare cond1 condition for sqlstate '00000';
17346     declare continue handler for cond1 set @var2 = 1;
17347     set @x=1;
17348     SELECT @var2;
17349 END//
17350 delimiter ;//
17352 --echo ensure SP doesn't exist
17353 --ERROR ER_SP_DOES_NOT_EXIST
17354 CALL sp1();
17356 # cleanup
17357 --disable_warnings
17358 DROP PROCEDURE IF EXISTS sp1;
17359 --enable_warnings
17361 # ------------------------------------------------------------------------------
17362 let $message= Testcase 4.2.45:;
17363 --source include/show_msg80.inc
17365 # testcase: ensure that within the same scope, no two handlers may be declared for the same condition.
17368 --disable_warnings
17369 DROP PROCEDURE IF EXISTS sp1;
17370 --enable_warnings
17372 delimiter //;
17373 --error ER_SP_DUP_HANDLER
17374 CREATE PROCEDURE handler1 ()
17375 BEGIN
17376       declare continue handler for sqlstate '23000' set @varr1 = 5;
17377         declare continue handler for sqlstate '23000' set @varr3 = 7;
17378 END//
17379 delimiter ;//
17381 DROP PROCEDURE IF EXISTS handler1;
17383 delimiter //;
17384 --error ER_SP_DUP_HANDLER
17385 CREATE PROCEDURE handler1 ()
17386 BEGIN
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;
17390 END//
17391 delimiter ;//
17394 # ------------------------------------------------------------------------------
17395 let $message= Testcase 4.2.46:;
17396 --source include/show_msg80.inc
17398 # testcase: ensure that every sqlstate value declared with a declare  handler for
17399 #            statement is a character string that is 5 characters long.
17401 --disable_warnings
17402 DROP PROCEDURE IF EXISTS sp1;
17403 --enable_warnings
17405 delimiter //;
17406 --error ER_SP_BAD_SQLSTATE
17407 CREATE PROCEDURE sp1()
17408 BEGIN
17409     declare continue handler for sqlstate '1' set @var2 = 1;
17410 END//
17411 delimiter ;//
17413 --disable_warnings
17414 DROP PROCEDURE IF EXISTS sp1;
17415 --enable_warnings
17417 delimiter //;
17418 --error ER_SP_BAD_SQLSTATE
17419 CREATE PROCEDURE sp1()
17420 BEGIN
17421     declare continue handler for sqlstate '12' set @var2 = 1;
17422 END//
17423 delimiter ;//
17425 --disable_warnings
17426 DROP PROCEDURE IF EXISTS sp1;
17427 --enable_warnings
17429 delimiter //;
17430 --error ER_SP_BAD_SQLSTATE
17431 CREATE PROCEDURE sp1()
17432 BEGIN
17433     declare continue handler for sqlstate '123' set @var2 = 1;
17434 END//
17435 delimiter ;//
17437 --disable_warnings
17438 DROP PROCEDURE IF EXISTS sp1;
17439 --enable_warnings
17441 delimiter //;
17442 --error ER_SP_BAD_SQLSTATE
17443 CREATE PROCEDURE sp1()
17444 BEGIN
17445     declare continue handler for sqlstate '1234' set @var2 = 1;
17446 END//
17447 delimiter ;//
17449 --disable_warnings
17450 DROP PROCEDURE IF EXISTS sp1;
17451 --enable_warnings
17453 delimiter //;
17454 --error ER_SP_BAD_SQLSTATE
17455 CREATE PROCEDURE sp1()
17456 BEGIN
17457     declare continue handler for sqlstate '123456' set @var2 = 1;
17458 END//
17459 delimiter ;//
17462 # ------------------------------------------------------------------------------
17463 let $message= Testcase 4.2.47:;
17464 --source include/show_msg80.inc
17466 # testcase: ensure that the declare  handler for statement cannot declare a condition
17467 #            for an invalid sqlstate.
17469 --disable_warnings
17470 DROP PROCEDURE IF EXISTS sp1;
17471 --enable_warnings
17473 delimiter //;
17474 --error ER_SP_BAD_SQLSTATE
17475 CREATE PROCEDURE sp1()
17476 BEGIN
17477     declare continue handler for sqlstate '42s0200test'  set @var2 = 1;
17478     insert into tnull values( 1);
17479           SELECT @var2;
17480 END//
17481 delimiter ;//
17483 # cleanup
17484 #drop table IF EXISTS tnull;
17487 # ------------------------------------------------------------------------------
17488 let $message= Testcase 4.2.48:;
17489 --source include/show_msg80.inc
17491 # testcase: ensure that the declare  handler for statement cannot declare a condition
17492 #            for the successful completion sqlstate:  00000.
17494 --disable_warnings
17495 DROP PROCEDURE IF EXISTS sp1;
17496 --enable_warnings
17498 --echo This creation should fail, SQLSTATE 00000 is unacceptable
17499 --ERROR ER_SP_BAD_SQLSTATE
17500 delimiter //;
17501 CREATE PROCEDURE sp1()
17502 BEGIN
17503     declare continue handler for sqlstate '00000'  set @var2 = 1;
17504     set @x=1;
17505           SELECT @var2;
17506 END//
17507 delimiter ;//
17509 --echo Verify SP wasn't created
17510 --ERROR ER_SP_DOES_NOT_EXIST
17511 CALL sp1();
17513 # cleanup
17514 --disable_warnings
17515 DROP PROCEDURE IF EXISTSsp1;
17516 --enable_warnings
17519 # ------------------------------------------------------------------------------
17520 let $message= Testcase 4.2.52:;
17521 --source include/show_msg80.inc
17523 # testcase: ensure that no two cursors in a stored procedure can have the same name.
17525 --disable_warnings
17526 DROP PROCEDURE IF EXISTS sp1;
17527 --enable_warnings
17529 delimiter //;
17530 --error ER_SP_DUP_CURS
17531 CREATE PROCEDURE sp1( )
17532 BEGIN
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;
17551 END//
17552 delimiter ;//
17555 # ------------------------------------------------------------------------------
17556 let $message= Testcase 4.2.53:;
17557 --source include/show_msg80.inc
17559 # testcase: ensure that a cursor declaration may not include a SELECT  into statement.
17561 --disable_warnings
17562 DROP PROCEDURE IF EXISTS sp1;
17563 --enable_warnings
17565 delimiter //;
17566 --error ER_SP_BAD_CURSOR_SELECT
17567 CREATE PROCEDURE sp1( )
17568 BEGIN
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;
17586 END//
17587 delimiter ;//
17590 # ------------------------------------------------------------------------------
17591 let $message= Testcase 4.2.54:;
17592 --source include/show_msg80.inc
17594 # testcase: ensure that a cursor declaration that includes an order by
17595 #            claUSE may not be an updateable cursor.
17597 #FIXME: testcase empty / missing
17599 # ------------------------------------------------------------------------------
17600 let $message= Testcase 4.2.55:;
17601 --source include/show_msg80.inc
17603 # testcase: ensure that open <cursor name> fails unless a cursor with
17604 #            the same name has already been declared.
17606 --disable_warnings
17607 DROP PROCEDURE IF EXISTS sp1;
17608 --enable_warnings
17610 delimiter //;
17611 --error ER_SP_CURSOR_MISMATCH
17612 CREATE PROCEDURE sp1( )
17613 BEGIN
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;
17630 END//
17631 delimiter ;//
17633 --disable_warnings
17634 DROP PROCEDURE IF EXISTS sp1;
17635 --enable_warnings
17637 delimiter //;
17638 CREATE PROCEDURE sp1( )
17639 BEGIN
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;
17660 END//
17661 delimiter ;//
17663 --error ER_SP_CURSOR_ALREADY_OPEN
17664 CALL sp1();
17667 # ------------------------------------------------------------------------------
17668 let $message= Testcase 4.2.56:;
17669 --source include/show_msg80.inc
17671 # testcase: ensure that open <cursor name> fails if the same cursor is currently already open.
17673 DROP PROCEDURE IF EXISTS sp1;
17675 delimiter //;
17676 CREATE PROCEDURE sp1( )
17677 BEGIN
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;
17696 END//
17697 delimiter ;//
17699 --error ER_SP_CURSOR_ALREADY_OPEN
17700 CALL sp1();
17702 # cleanup
17703 DROP PROCEDURE sp1;
17707 # ------------------------------------------------------------------------------
17708 let $message= Testcase 4.2.57:;
17709 --source include/show_msg80.inc
17711 # testcase: ensure that fetch <cursor name> fails unless a cursor with the same name is already open.
17713 DROP PROCEDURE IF EXISTS sp1;
17715 delimiter //;
17716 CREATE PROCEDURE sp1( )
17717 BEGIN
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;
17736 END//
17737 delimiter ;//
17739 --error ER_SP_CURSOR_NOT_OPEN
17740 CALL sp1();
17742 # cleanup
17743 DROP PROCEDURE sp1;
17750 # ------------------------------------------------------------------------------
17751 let $message= Testcase 4.2.59:;
17752 --source include/show_msg80.inc
17754 # testcase: ensure that fetch <cursor name> fails with an appropriate error message
17755 #            if it is executed before the cursor has been opened.
17758 DROP PROCEDURE IF EXISTS sp1;
17760 delimiter //;
17761 CREATE PROCEDURE sp1( )
17762 BEGIN
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;
17780 END//
17781 delimiter ;//
17783 --error ER_SP_CURSOR_NOT_OPEN
17784 CALL sp1();
17786 DROP PROCEDURE IF EXISTS sp1;
17788 delimiter //;
17789 CREATE PROCEDURE sp1( )
17790 BEGIN
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;
17811 END//
17812 delimiter ;//
17814 --error ER_SP_CURSOR_NOT_OPEN
17815 CALL sp1();
17817 # cleanup
17818 DROP PROCEDURE sp1;
17821 # ------------------------------------------------------------------------------
17822 let $message= Testcase 4.2.60:;
17823 --source include/show_msg80.inc
17825 # testcase: ensure that fetch <cursor name> fails with an appropriate error message
17826 #            if it is executed after the cursor has been closed.
17828 DROP PROCEDURE IF EXISTS sp1;
17830 delimiter //;
17831 CREATE PROCEDURE sp1( )
17832 BEGIN
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;
17850 END//
17851 delimiter ;//
17853 --error ER_SP_CURSOR_NOT_OPEN
17854 CALL sp1();
17856 DROP PROCEDURE IF EXISTS sp1;
17858 delimiter //;
17859 CREATE PROCEDURE sp1( )
17860 BEGIN
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;
17876 END//
17877 delimiter ;//
17879 --error ER_SP_CURSOR_NOT_OPEN
17880 CALL sp1();
17882 # cleanup
17883 DROP PROCEDURE sp1;
17888 # ------------------------------------------------------------------------------
17889 let $message= Testcase 4.2.62:;
17890 --source include/show_msg80.inc
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.
17896 DROP PROCEDURE IF EXISTS sp1;
17898 delimiter //;
17899 CREATE PROCEDURE sp1( )
17900 BEGIN
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;
17919 END//
17920 delimiter ;//
17922 #This test seems to make no sense, as always NULL may be set.
17923 #--error ER_SP_CURSOR_NOT_OPEN
17924 CALL sp1();
17926 # cleanup
17927 DROP PROCEDURE sp1;
17931 # ------------------------------------------------------------------------------
17932 let $message= Testcase 4.2.63:;
17933 --source include/show_msg80.inc
17935 # testcase: ensure that close <cursor name> fails unless a cursor with the same name is already open.
17937 DROP PROCEDURE IF EXISTS sp1;
17939 delimiter //;
17940 CREATE PROCEDURE sp1()
17941 BEGIN
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;
17960 END//
17961 delimiter ;//
17963 --error ER_SP_CURSOR_NOT_OPEN
17964 CALL sp1();
17966 DROP PROCEDURE IF EXISTS sp1;
17968 delimiter //;
17969 CREATE PROCEDURE sp1( )
17970 BEGIN
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;
17984 END//
17985 delimiter ;//
17987 --error ER_SP_CURSOR_NOT_OPEN
17988 CALL sp1();
17990 # cleanup
17991 DROP PROCEDURE sp1;
17995 # ------------------------------------------------------------------------------
17996 let $message= Testcase 4.2.64:;
17997 --source include/show_msg80.inc
17999 # testcase: ensure that all cursors are closed when a transaction terminates with a commit statement.
18001 DROP PROCEDURE IF EXISTS sp1;
18003 delimiter //;
18004 CREATE 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;
18020 END//
18021 delimiter ;//
18023 --error ER_SP_FETCH_NO_DATA
18024 CALL sp1();
18026 # cleanup
18027 DROP PROCEDURE sp1;
18031 # ------------------------------------------------------------------------------
18032 let $message= Testcase 4.2.65:;
18033 --source include/show_msg80.inc
18035 # testcase: ensure that all cursors are closed when a transaction terminates with a rollback statement.
18038 DROP PROCEDURE IF EXISTS sp1;
18040 delimiter //;
18041 CREATE PROCEDURE sp1( )
18042 BEGIN
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;
18057 END//
18058 delimiter ;//
18060 --error ER_SP_FETCH_NO_DATA
18061 CALL sp1();
18063 # cleanup
18064 DROP PROCEDURE sp1;
18067 # ------------------------------------------------------------------------------
18068 let $message= Testcase 4.2.66:;
18069 --source include/show_msg80.inc
18071 # testcase: ensure that the result set of the cursor that has been closed is not
18072 #            longer available to the fetch statement.
18075 DROP PROCEDURE IF EXISTS sp1;
18077 delimiter //;
18078 CREATE PROCEDURE sp1( )
18079 BEGIN
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;
18098 END//
18099 delimiter ;//
18101 --error ER_SP_CURSOR_NOT_OPEN
18102 CALL sp1();
18104 # cleanup
18105 DROP PROCEDURE sp1;
18109 # ------------------------------------------------------------------------------
18110 let $message= Testcase 4.2.67:;
18111 --source include/show_msg80.inc
18113 # testcase: ensure that cursor declared within a compound statement is closed when
18114 #            that compound statement ends (without cursor close statement)
18117 DROP PROCEDURE IF EXISTS sp1;
18119 delimiter //;
18120 CREATE PROCEDURE sp1( )
18121 BEGIN
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;
18139 END//
18140 delimiter ;//
18142 #--error ER_SP_FETCH_NO_DATA
18143 CALL sp1();
18145 # cleanup
18146 DROP PROCEDURE sp1;
18153 # ------------------------------------------------------------------------------
18154 let $message= Testcase 4.2.70:;
18155 --source include/show_msg80.inc
18157 # testcase: ensure that multiple cursors, nested within multiple compound statements
18158 #            within a stored procedure always act correctly and return the expected result.
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) );
18163 DROP PROCEDURE IF EXISTS sp1;
18165 delimiter //;
18166 CREATE PROCEDURE sp1( )
18167 BEGIN
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;
18203 END//
18204 delimiter ;//
18206 CALL sp1();
18208 SELECT count(*) from temp1;
18209 SELECT * from temp2;
18211 # cleanup
18212 DROP PROCEDURE sp1;
18213 drop table temp1;
18214 drop table temp2;
18217 # ==============================================================================
18218 let $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
18222 USE db_storedproc;
18224 # ------------------------------------------------------------------------------
18225 let $message= Testcase 4.3.1:;
18226 --source include/show_msg80.inc
18228 # testcase : ensure that all clauses that should be supported are supported
18230 --disable_warnings
18231 DROP PROCEDURE IF EXISTS sp1;
18232 DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
18233 --enable_warnings
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>
18237 eval
18238 CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742(
18239    middleinitial CHAR, lastname VARCHAR(50),
18240    age_averylongfieldname_averylongname_1234569 INT, COMMENT VARCHAR(100))
18241 ENGINE=$engine_type;
18243 INSERT INTO res_t3_itisalongname_1381742_itsaverylongname_1381742
18244 VALUES('a', 'aaaaaaaaaabbbbbbbbc', 0, 'default');
18246 delimiter //;
18247 CREATE PROCEDURE sp1(a INT)
18248 BEGIN
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;
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;
18282 END//
18283 delimiter ;//
18285 CALL sp1(101);
18287 CALL sp1(100);
18289 CALL sp1(75);
18291 CALL sp1(40);
18293 CALL sp1(20);
18295 CALL sp1(-1);
18297 SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742
18298  ORDER BY middleinitial, lastname, age_averylongfieldname_averylongname_1234569;
18300 # cleanup
18301 drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
18302 DROP PROCEDURE sp1;
18305 # ------------------------------------------------------------------------------
18306 let $message= Testcase 4.3.2:;
18307 --source include/show_msg80.inc
18309 # testcase: ensure that all clauses that should be supported are supported (case, while, repeat)
18311 --disable_warnings
18312 DROP PROCEDURE IF EXISTS sp2;
18313 --enable_warnings
18315 delimiter //;
18316 CREATE PROCEDURE sp2( action char(20) )
18317 BEGIN
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;
18356 END//
18357 delimiter ;//
18359 CALL sp2( 'insert' );
18360 --sorted_result
18361 SELECT * from t3 where f3 <=5 && f3 >= 0;
18363 SELECT count(*) from t3;
18364 CALL sp2( 'delete' );
18365 SELECT count(*) from t3;
18367 CALL sp2 ('test');
18368 SELECT @dummystring;
18370 # cleanup
18371 DROP PROCEDURE sp2;
18374 # ------------------------------------------------------------------------------
18375 let $message= Testcase 4.1.2:
18376               ---------------
18377 Ensure that all sub-clauses that should not be supported are disallowed with
18378 an appropriate error message. (case);
18379 --source include/show_msg80.inc
18382 --disable_warnings
18383 drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
18384 DROP PROCEDURE IF EXISTS sp3;
18385 --enable_warnings
18387 create table res_t3_itisalongname_1381742_itsaverylongname_1381742 (name char, address varchar(50), age_averylongfieldname_averylongname_1234569 smallint);
18389 delimiter //;
18390 --error ER_PARSE_ERROR
18391 CREATE PROCEDURE sp3( action char(20) )
18392 BEGIN
18393 label1: case
18394   when action = 'delete'  then
18395   delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18396 else
18397       set @dummystring = 'temp value';
18398       iterate label1;
18399 END case label1;
18400 END//
18401 delimiter ;//
18403 --disable_warnings
18404 DROP PROCEDURE IF EXISTS sp3;
18405 --enable_warnings
18407 delimiter //;
18408 --error ER_PARSE_ERROR
18409 CREATE PROCEDURE sp3( action char(20) )
18410 BEGIN
18411 label1: 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;
18420 END//
18421 delimiter ;//
18423 --disable_warnings
18424 DROP PROCEDURE IF EXISTS sp3;
18425 --enable_warnings
18427 delimiter //;
18428 --error ER_PARSE_ERROR
18429 CREATE PROCEDURE sp3( action char(20) )
18430 BEGIN
18431 case
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;
18440 END//
18441 delimiter ;//
18443 --disable_warnings
18444 DROP PROCEDURE IF EXISTS sp3;
18445 --enable_warnings
18447 delimiter //;
18448 --error ER_PARSE_ERROR
18449 CREATE PROCEDURE sp3( action char(20) )
18450 BEGIN
18451 declare v1 char(20);
18452 declare v2 char(20);
18453 declare count integer;
18454 set v1 = 'f1';
18455 set v2= 'address';
18456 set count = 1;
18457 case action
18458   when 'delete'  then
18459   when 'delete'  then
18460     delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
18461   END case;
18462 END//
18463 delimiter ;//
18465 --disable_warnings
18466 DROP PROCEDURE IF EXISTS sp3;
18467 --enable_warnings
18470 delimiter //;
18471 CREATE PROCEDURE sp3( action char(20) )
18472 BEGIN
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;
18502 END//
18503 delimiter ;//
18505 CALL sp3('insert');
18507 # cleanup
18508 DROP PROCEDURE sp3;
18509 drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
18512 # ------------------------------------------------------------------------------
18513 let $message= Testcase 4.3.4:;
18514 --source include/show_msg80.inc
18516 # testcase: ensure that all supported sub-clauses are supported only in the correct order (if)
18518 --disable_warnings
18519 DROP PROCEDURE IF EXISTS sp4;
18520 --enable_warnings
18522 delimiter //;
18523 --error ER_PARSE_ERROR
18524 CREATE PROCEDURE sp4()
18525 BEGIN
18526 declare 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;
18537 END//
18538 delimiter ;//
18540 --disable_warnings
18541 DROP PROCEDURE IF EXISTS sp4;
18542 --enable_warnings
18544 delimiter //;
18545 --error ER_PARSE_ERROR
18546 CREATE PROCEDURE sp4()
18547 BEGIN
18548 declare 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;
18558 END//
18559 delimiter ;//
18561 --disable_warnings
18562 DROP PROCEDURE IF EXISTS sp4;
18563 --enable_warnings
18565 delimiter //;
18566 --error ER_PARSE_ERROR
18567 CREATE PROCEDURE sp4()
18568 BEGIN
18569 declare 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;
18579 END//
18580 delimiter ;//
18582 --disable_warnings
18583 DROP PROCEDURE IF EXISTS sp4;
18584 --enable_warnings
18586 delimiter //;
18587 --error ER_PARSE_ERROR
18588 CREATE PROCEDURE sp4()
18589 BEGIN
18590 declare 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;
18600 END//
18601 delimiter ;//
18603 --disable_warnings
18604 DROP PROCEDURE IF EXISTS sp4;
18605 --enable_warnings
18607 delimiter //;
18608 --error ER_PARSE_ERROR
18609 CREATE PROCEDURE sp4()
18610 BEGIN
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;
18624 END//
18625 delimiter ;//
18627 --disable_warnings
18628 DROP PROCEDURE IF EXISTS sp4;
18629 --enable_warnings
18631 delimiter //;
18632 CREATE PROCEDURE sp4()
18633 BEGIN
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;
18653 END//
18654 delimiter ;//
18656 --error ER_BAD_FIELD_ERROR
18657 CALL sp4();
18659 # cleanup
18660 DROP PROCEDURE sp4;
18663 # ------------------------------------------------------------------------------
18664 let $message= Testcase 4.3.5:;
18665 --source include/show_msg80.inc
18667 #test case: ensure that all supported sub-clauses are supported only in the correct order (case)
18669 --disable_warnings
18670 DROP PROCEDURE IF EXISTS sp5;
18671 --enable_warnings
18673 delimiter //;
18674 --error ER_PARSE_ERROR
18675 CREATE PROCEDURE sp5()
18676 BEGIN
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;
18685 END//
18686 delimiter ;//
18688 --disable_warnings
18689 DROP PROCEDURE IF EXISTS sp5;
18690 --enable_warnings
18692 delimiter //;
18693 --error ER_PARSE_ERROR
18694 CREATE PROCEDURE sp5(count int)
18695 BEGIN
18696   when case count = 1 then
18697     set count = 10;
18698   when count  = 2 then
18699     set count =  count + 1;
18700   END case;
18701 END//
18702 delimiter ;//
18704 --disable_warnings
18705 DROP PROCEDURE IF EXISTS sp5;
18706 --enable_warnings
18708 delimiter //;
18709 --error ER_PARSE_ERROR
18710 CREATE PROCEDURE sp5(count int)
18711 BEGIN
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;
18718 END//
18719 delimiter ;//
18721 --disable_warnings
18722 DROP PROCEDURE IF EXISTS sp5;
18723 --enable_warnings
18725 delimiter //;
18726 --error ER_PARSE_ERROR
18727 CREATE PROCEDURE sp5(count int)
18728 BEGIN
18729   when count = 1 then
18730     set count = 10;
18731   case when count  = 2 then
18732     set count =  count + 1;
18733   END case;
18734 END//
18735 delimiter ;//
18738 # ------------------------------------------------------------------------------
18739 let $message= Testcase 4.3.6:
18740               ---------------
18741 Ensure that all supported sub-clauses are supported only in the correct order (repeat).;
18742 --source include/show_msg80.inc
18744 --disable_warnings
18745 DROP PROCEDURE IF EXISTS sp6;
18746 --enable_warnings
18748 delimiter //;
18749 --error ER_PARSE_ERROR
18750 CREATE PROCEDURE sp6()
18751 BEGIN
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
18758 END//
18759 delimiter ;//
18761 --disable_warnings
18762 DROP PROCEDURE IF EXISTS sp6;
18763 --enable_warnings
18765 delimiter //;
18766 --error ER_PARSE_ERROR
18767 CREATE PROCEDURE sp6()
18768 BEGIN
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;
18775 END//
18776 delimiter ;//
18778 --disable_warnings
18779 DROP PROCEDURE IF EXISTS sp6;
18780 --enable_warnings
18782 delimiter //;
18783 --error ER_PARSE_ERROR
18784 CREATE PROCEDURE sp6()
18785 BEGIN
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;
18792 END//
18793 delimiter ;//
18795 --disable_warnings
18796 DROP PROCEDURE IF EXISTS sp6;
18797 --enable_warnings
18799 delimiter //;
18800 --error ER_PARSE_ERROR
18801 CREATE PROCEDURE sp6()
18802 BEGIN
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;
18808 END//
18809 delimiter ;//
18811 --disable_warnings
18812 DROP PROCEDURE IF EXISTS sp6;
18813 --enable_warnings
18815 delimiter //;
18816 --error ER_PARSE_ERROR
18817 CREATE PROCEDURE sp6()
18818 BEGIN
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;
18826 END//
18827 delimiter ;//
18829 --disable_warnings
18830 DROP PROCEDURE IF EXISTS sp6;
18831 --enable_warnings
18833 delimiter //;
18834 CREATE PROCEDURE sp6()
18835 BEGIN
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;
18842 END//
18843 delimiter ;//
18845 CALL sp6();
18847 # cleanup
18848 DROP PROCEDURE sp6;
18851 # ------------------------------------------------------------------------------
18852 let $message= Testcase 4.3.7:;
18853 --source include/show_msg80.inc
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).
18858 --disable_warnings
18859 DROP PROCEDURE IF EXISTS sp7;
18860 --enable_warnings
18862 delimiter //;
18863 --error ER_PARSE_ERROR
18864 CREATE PROCEDURE sp7()
18865 BEGIN
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;
18872 END//
18873 delimiter ;//
18875 --disable_warnings
18876 DROP PROCEDURE IF EXISTS sp7;
18877 --enable_warnings
18879 delimiter //;
18880 --error ER_PARSE_ERROR
18881 CREATE PROCEDURE sp7()
18882 BEGIN
18883   label1: END loop;
18884     set @dummystring = 'temp value';
18885     if count > 10 then leave label1;
18886     END if;
18887     iterate label1;
18888   loop;
18889 END//
18890 delimiter ;//
18892 --disable_warnings
18893 DROP PROCEDURE IF EXISTS sp7;
18894 --enable_warnings
18896 delimiter //;
18897 --error ER_PARSE_ERROR
18898 CREATE PROCEDURE sp7()
18899 BEGIN
18900   label1: iterate label1;
18901   loop
18902     set @dummystring = 'temp value';
18903     if count > 10 then leave label1;
18904     END if;
18906   END loop label1;
18907 END//
18908 delimiter ;//
18911 # ------------------------------------------------------------------------------
18912 let $message= Testcase 4.3.8:;
18913 --source include/show_msg80.inc
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)
18918 --disable_warnings
18919 DROP PROCEDURE IF EXISTS sp8;
18920 --enable_warnings
18922 delimiter //;
18923 --error ER_PARSE_ERROR
18924 CREATE PROCEDURE sp8()
18925 BEGIN
18926   declare v1 int default 5;
18927   do while v1 > 0
18928     set v1 = v1 - 1;
18929     END while;
18930 END//
18931 delimiter ;//
18933 --disable_warnings
18934 DROP PROCEDURE IF EXISTS sp8;
18935 --enable_warnings
18937 delimiter //;
18938 --error ER_PARSE_ERROR
18939 CREATE PROCEDURE sp8()
18940 BEGIN
18941   declare v1 int default 5;
18942   do v1 > 0 while
18943     set v1 = v1 - 1;
18944   END while;
18945 END//
18946 delimiter ;//
18948 --disable_warnings
18949 DROP PROCEDURE IF EXISTS sp8;
18950 --enable_warnings
18952 delimiter //;
18953 --error ER_PARSE_ERROR
18954 CREATE PROCEDURE sp8()
18955 BEGIN
18956   declare v1 int default 5;
18957   END while;
18958     set v1 = v1 - 1;
18959   while v1 > 0 do;
18960 END//
18961 delimiter ;//
18963 # ------------------------------------------------------------------------------
18964 let $message= Testcase 4.3.12:;
18965 --source include/show_msg80.inc
18967 # testcase : ensure that the labels enclosing each loop statement must match
18969 --disable_warnings
18970 drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
18971 DROP PROCEDURE IF EXISTS sp12;
18972 --enable_warnings
18974 create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
18976 delimiter //;
18977 --error ER_SP_LABEL_MISMATCH
18978 CREATE PROCEDURE sp12( )
18979 BEGIN
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;
18994 END//
18995 delimiter ;//
18997 # cleanup
18998 drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
19002 # ------------------------------------------------------------------------------
19003 let $message= Testcase 4.3.13:;
19004 --source include/show_msg80.inc
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
19009 --disable_warnings
19010 drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
19011 DROP PROCEDURE IF EXISTS sp13;
19012 --enable_warnings
19014 create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
19016 delimiter //;
19017 CREATE PROCEDURE sp13( )
19018 BEGIN
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;
19027 END//
19028 delimiter ;//
19030 CALL sp13();
19031 SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19033 # cleanup
19034 DROP PROCEDURE sp13;
19035 drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
19038 # ------------------------------------------------------------------------------
19039 let $message= Testcase 4.3.14:;
19040 --source include/show_msg80.inc
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.
19045 --disable_warnings
19046 drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
19047 DROP PROCEDURE IF EXISTS sp14;
19048 --enable_warnings
19050 create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
19052 delimiter //;
19053 --error ER_SP_LILABEL_MISMATCH
19054 CREATE PROCEDURE sp14( )
19055 BEGIN
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;
19064 END//
19065 delimiter ;//
19067 # cleanup
19068 drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
19071 # ------------------------------------------------------------------------------
19072 let $message= Testcase 4.3.15:;
19073 --source include/show_msg80.inc
19075 # ensure that every beginning label must END with a colon (:)
19077 --disable_warnings
19078 drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
19079 DROP PROCEDURE IF EXISTS sp15;
19080 --enable_warnings
19082 create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
19084 delimiter //;
19085 --error ER_PARSE_ERROR
19086 CREATE PROCEDURE sp15( )
19087 BEGIN
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;
19096 END//
19097 delimiter ;//
19100 # ------------------------------------------------------------------------------
19101 let $message= Testcase 4.3.16:
19102               ----------------
19103 Ensure that every beginning label with the same scope must be unique.;
19104 --source include/show_msg80.inc
19106 --disable_warnings
19107 DROP PROCEDURE IF EXISTS sp16;
19108 --enable_warnings
19110 delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19112 delimiter //;
19113 --error ER_SP_LABEL_REDEFINE
19114 CREATE PROCEDURE sp16( )
19115 BEGIN
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;
19128 END//
19129 delimiter ;//
19131 --disable_warnings
19132 DROP PROCEDURE IF EXISTS sp16;
19133 --enable_warnings
19135 delimiter //;
19136 --error ER_SP_LABEL_REDEFINE
19137 CREATE PROCEDURE sp16( )
19138 BEGIN
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;
19157 END//
19158 delimiter ;//
19161 # ------------------------------------------------------------------------------
19162 let $message= Testcase 4.3.17:;
19163 --source include/show_msg80.inc
19165 # testcase: ensure that the repeat statement acts correctly for all variants,
19166 #            including cases where statements are nested.
19170 # ------------------------------------------------------------------------------
19171 let $message= Testcase 4.3.18:;
19172 --source include/show_msg80.inc
19174 # testcase : ensure that the labels enclosing each repeat statement must match.
19176 --disable_warnings
19177 DROP PROCEDURE IF EXISTS sp18;
19178 --enable_warnings
19180 delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19182 delimiter //;
19183 --error ER_SP_LABEL_MISMATCH
19184 CREATE PROCEDURE sp18( )
19185 BEGIN
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;
19192 END//
19193 delimiter ;//
19196 # ------------------------------------------------------------------------------
19197 let $message= Testcase 4.3.19:;
19198 --source include/show_msg80.inc
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.
19204 delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19206 --disable_warnings
19207 DROP PROCEDURE IF EXISTS sp19;
19208 --enable_warnings
19210 delimiter //;
19211 CREATE PROCEDURE sp19( )
19212 BEGIN
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;
19219 END//
19220 delimiter ;//
19222 CALL sp19();
19223 SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19225 # cleanup
19226 DROP PROCEDURE sp19;
19229 # ------------------------------------------------------------------------------
19230 let $message= Testcase 4.3.20:;
19231 --source include/show_msg80.inc
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.
19237 delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19239 --disable_warnings
19240 DROP PROCEDURE IF EXISTS sp20;
19241 --enable_warnings
19243 delimiter //;
19244 --error ER_PARSE_ERROR
19245 CREATE PROCEDURE sp20( )
19246 BEGIN
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;
19253 END//
19254 delimiter ;//
19257 # ------------------------------------------------------------------------------
19258 let $message= Testcase 4.3.21:;
19259 --source include/show_msg80.inc
19261 # ensure that the while statement acts correctly for all variants,
19262 #         including cases where statements are nested
19266 # ------------------------------------------------------------------------------
19267 let $message= Testcase 4.3.22:;
19268 --source include/show_msg80.inc
19270 # testcase: ensure that the labels enclosing each while statement must match.
19272 delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19274 --disable_warnings
19275 DROP PROCEDURE IF EXISTS sp22;
19276 --enable_warnings
19278 delimiter //;
19279 --error ER_SP_LABEL_MISMATCH
19280 CREATE PROCEDURE sp22( )
19281 BEGIN
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;
19292 END//
19293 delimiter ;//
19296 # ------------------------------------------------------------------------------
19297 let $message= Testcase 4.3.23:;
19298 --source include/show_msg80.inc
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.
19304 delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19306 --disable_warnings
19307 DROP PROCEDURE IF EXISTS sp23;
19308 --enable_warnings
19310 delimiter //;
19311 --error ER_PARSE_ERROR
19312 CREATE PROCEDURE sp23( )
19313 BEGIN
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;
19324 END//
19325 delimiter ;//
19330 # ------------------------------------------------------------------------------
19331 let $message= Testcase 4.3.25:;
19332 --source include/show_msg80.inc
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.
19337 delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19338 --disable_warnings
19339 DROP PROCEDURE IF EXISTS sp25;
19340 --enable_warnings
19342 delimiter //;
19343 CREATE PROCEDURE sp25( )
19344 BEGIN
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;
19355 END//
19356 delimiter ;//
19358 CALL sp25 ();
19359 SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
19361 # cleanup
19362 DROP PROCEDURE sp25;
19363 drop table res_t3_itisalongname_1381742_itsaverylongname_1381742;
19366 # ==============================================================================
19367 let $message= Section 3.1.4 - Checks for the global nature of stored procedures:;
19368 --source include/show_msg80.inc
19370 USE db_storedproc;
19372 # ------------------------------------------------------------------------------
19373 let $message= Testcase 4.4.1:;
19374 --source include/show_msg80.inc
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
19379 --disable_warnings
19380 DROP PROCEDURE IF EXISTS sp1;
19381 DROP DATABASE IF EXISTS d40401;
19382 --enable_warnings
19384 delimiter //;
19385 CREATE PROCEDURE sp1 ( n char(20) )
19386 BEGIN
19387     SELECT n;
19388 END//
19389 delimiter ;//
19391   CREATE DATABASE d40401;
19392   USE d40401;
19394 CALL db_storedproc.sp1('abcd');
19396   USE db_storedproc;
19398 # cleanup
19399 DROP PROCEDURE sp1;
19400 DROP DATABASE d40401;
19403 # ------------------------------------------------------------------------------
19404 let $message= Testcase 4.4.2:;
19405 --source include/show_msg80.inc
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.
19410 --disable_warnings
19411 DROP FUNCTION IF EXISTS fn1;
19412 DROP FUNCTION IF EXISTS fn11;
19413 DROP DATABASE IF EXISTS d40402;
19414 --enable_warnings
19416 delimiter //;
19417 CREATE FUNCTION fn1(n int) returns int
19418   BEGIN
19419   declare a int;
19420   set a = 9 * n;
19421   return a;
19422 END//
19423 delimiter ;//
19425   CREATE DATABASE d40402;
19426   USE d40402;
19429     SELECT db_storedproc.fn1(100);
19431     SELECT db_storedproc.fn1(1000);
19433 delimiter //;
19434 CREATE FUNCTION db_storedproc.fn11(n int) returns int
19435 BEGIN
19436     declare a int;
19437     set a = 9 * n;
19438     return a;
19439 END//
19440 delimiter ;//
19442   SELECT db_storedproc.fn11(100);
19444   SELECT db_storedproc.fn11(1000);
19446   USE db_storedproc;
19448 # cleanup
19449 DROP FUNCTION fn1;
19450 DROP FUNCTION fn11;
19451 DROP DATABASE d40402;
19456 # ------------------------------------------------------------------------------
19457 let $message= Testcase 4.4.3:;
19458 --source include/show_msg80.inc
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.
19463 --disable_warnings
19464 DROP DATABASE IF EXISTS d1;
19465 DROP DATABASE IF EXISTS d2;
19466 --enable_warnings
19468   CREATE DATABASE d1;
19469   CREATE DATABASE d2;
19471   USE d1;
19473   create table res_t41(a char(5), b char(10));
19474   insert into res_t41 values('abcde', 'a!@#$%^&*(');
19476   USE d2;
19478   create table res_t42(a char(5), b char(10));
19480   USE d1;
19482 delimiter //;
19483 CREATE PROCEDURE sp2(n char (20))
19484 BEGIN
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);
19487 END//
19488 delimiter ;//
19490   USE d2;
19492 CALL d1.sp2('a!@#$%^&*(');
19494   show warnings;
19496   SELECT * from d1.res_t41;
19497   SELECT * from res_t42;
19499 # cleanup
19500   USE db_storedproc;
19501 DROP DATABASE d1;
19502 DROP DATABASE d2;
19505 # ------------------------------------------------------------------------------
19506 let $message= Testcase 4.4.4:;
19507 --source include/show_msg80.inc
19509 # testcase : ensure that the mysql-specific USE <database name> statement is disallowed
19510 #       in a stored procedure.
19512 --disable_warnings
19513 DROP DATABASE IF EXISTS d1;
19514 --enable_warnings
19516   CREATE DATABASE d1;
19518   USE d1;
19520 delimiter //;
19521 --error ER_SP_BADSTATEMENT
19522 CREATE PROCEDURE sp3()
19523 BEGIN
19524     USE d1;
19525 END//
19526 delimiter ;//
19528 # cleanup
19529   USE db_storedproc;
19530 DROP DATABASE d1;
19534 # ------------------------------------------------------------------------------
19535 let $message= Testcase 4.4.5:;
19536 --source include/show_msg80.inc
19538 # testcase: ensure that when a database is dropped, all stored procedures #created within
19539 #            that database are also cleanly dropped.
19541 --disable_warnings
19542 DROP DATABASE IF EXISTS d1;
19543 --enable_warnings
19545   CREATE DATABASE d1;
19547   USE d1;
19548   create table t43(a char(5), b char(10));
19549   insert into t43 values('abcde', 'a!@#$%^&*(');
19551 CREATE PROCEDURE d1.sp4()
19552    SELECT * from d1.t43;
19554 --replace_column 13 modified 14 created
19555   SELECT * from mysql.proc where specific_name = 'sp4';
19557   USE db_storedproc;
19558 DROP DATABASE d1;
19559   CREATE DATABASE d1;
19561   USE d1;
19562   create table t44(a char(5), b char(10));
19564 --replace_column 13 modified 14 created
19565   SELECT * from mysql.proc where specific_name = 'sp4';
19567 # cleanup
19568   USE db_storedproc;
19569 DROP DATABASE d1;
19572 # ------------------------------------------------------------------------------
19573 let $message= Testcase 4.4.6:;
19574 --source include/show_msg80.inc
19576 # testcase: ensure that a stored procedure created without a qualifying #database name belongs
19577 #            to the database in USE at creation time.
19580   USE db_storedproc;
19582 --disable_warnings
19583 DROP PROCEDURE IF EXISTS sp5;
19584 --enable_warnings
19586 CREATE PROCEDURE sp5()
19587   SELECT * from db_storedproc.t4 limit 0, 10;
19589   SELECT db from mysql.proc where specific_name = 'sp5';
19591 # cleanup
19592 DROP PROCEDURE sp5;
19595 # ------------------------------------------------------------------------------
19596 let $message= Testcase 4.4.7:;
19597 --source include/show_msg80.inc
19599 # testcase: ensure that a stored procedure created with a qualifying database
19600 #        name belongs to the database specified.
19602   USE db_storedproc;
19604 --disable_warnings
19605 drop table IF EXISTS t46;
19606 DROP PROCEDURE IF EXISTS sp6;
19607 --enable_warnings
19609   create table t46(f1 char(20), f2 char(20));
19610   insert into t46 values ('abcd', 'wxyz');
19612 CREATE PROCEDURE db_storedproc.sp6()
19613   SELECT * from db_storedproc.t4 limit 0, 10;
19615   SELECT db from mysql.proc where specific_name = 'sp6';
19617 # cleanup
19618 drop table t46;
19619 DROP PROCEDURE sp6;
19622 # ------------------------------------------------------------------------------
19623 let $message= Testcase 4.4.8:;
19624 --source include/show_msg80.inc
19626 # testcase : ensure that, regardless of the database in which it was created,
19627 #       a procedure can be altered from any database.
19629 --disable_warnings
19630 DROP DATABASE IF EXISTS d1;
19631 DROP DATABASE IF EXISTS d2;
19632 --enable_warnings
19634   CREATE DATABASE d1;
19635   CREATE DATABASE d2;
19637   USE d1;
19639 CREATE PROCEDURE sp8 ( n char(20) ) sql security DEFINER comment 'initial'
19640   SELECT * from t1 where t1.f1 = n;
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';
19648 # ------------------------------------------------------------------------------
19649 let $message= Testcase 4.4.9:;
19650 --source include/show_msg80.inc
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.
19655   USE d1;
19657 --disable_warnings
19658 DROP FUNCTION IF EXISTS fn1;
19659 DROP FUNCTION IF EXISTS fn11;
19660 --enable_warnings
19662 delimiter //;
19663 CREATE FUNCTION d1.fn2(n int) returns int sql security invoker comment 'initial'
19664 BEGIN
19665     declare a int;
19666     set a = 0.9 * n;
19667     return a;
19668 END//
19669 delimiter ;//
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';
19677 # ------------------------------------------------------------------------------
19678 let $message= Testcase 4.4.10:;
19679 --source include/show_msg80.inc
19681 # testcase: ensure that, regardless of the database in which it was created,
19682 #      a procedure can be dropped from any database.
19685   USE d1;
19687 CREATE PROCEDURE sp9 ( n char(20) )
19688   SELECT * from t1 where t1.f1 = n;
19690   USE d2;
19691 DROP PROCEDURE d1.sp9; --replace_column 13 modified 14 created
19692   SELECT * from mysql.proc where specific_name='sp9' and db='d1';
19695 # ------------------------------------------------------------------------------
19696 let $message= Testcase 4.4.11:;
19697 --source include/show_msg80.inc
19699 # testcase: ensure that, regardless of the database in which it was created,
19700 #      a function can be dropped from any database.
19703   USE d1;
19705 delimiter //;
19706 CREATE FUNCTION d1.fn3(n int) returns int
19707 BEGIN
19708     declare a int;
19709     set a = 0.9 * n;
19710     return a;
19711 END//
19712 delimiter ;//
19714   USE d2;
19715 DROP FUNCTION d1.fn3;
19716 --replace_column 13 modified 14 created
19717   SELECT * from mysql.proc where specific_name='fn3' and db='d1';
19719 # cleanup
19721   USE db_storedproc;
19722 DROP DATABASE d1;
19723 DROP DATABASE d2;
19726 # ==============================================================================
19727 # test plan section: 4.5 -
19728 # ==============================================================================
19729 let $message= Section 3.1.5 - Parameter use checks:
19730 Functions with all data types;
19731 --source include/show_msg80.inc
19733 #FIXME hpux11
19734 let $plus_20=   1.00e+20;
19735 let $plus_24=   1.00e+24;
19736 let $plus_30=   1.00e+30;
19737 let $plus_36=   1.00e+36;
19738 let $plus_40=   1.00e+40;
19739 let $minus_30= -1.00e+30;
19740 let $minus_36= -1.00e+36;
19741 let $minus_40= -1.00e+40;
19743 let $callvar01m= -1.00e+20;
19744 let $callvar01p=  1.00e+20;
19745 let $callvar02=  -9.22e+18;
19746 let $callvar03=  -9.22e+18;
19748 let $procvar01_m30= -1.00e+30;
19749 let $procvar01_m36= -1.00e+36;
19750 let $procvar01_m40= -1.00e+40;
19751 let $procvar01_20=  1.00e+20;
19752 let $procvar01_24=  1.00e+24;
19753 let $procvar01_30=  1.00e+30;
19754 let $procvar01_36=  1.00e+36;
19755 let $procvar01_40=  1.00e+40;
19757 #################123456789-123456789-123456789-123456789-
19758 let $plus_20=   100000000000000000000;
19759 let $plus_24=   1000000000000000000000000;
19760 let $plus_30=   1000000000000000000000000000000;
19761 let $plus_36=   1000000000000000000000000000000000000;
19762 let $plus_40=   10000000000000000000000000000000000000000;
19763 let $minus_30= -1000000000000000000000000000000;
19764 let $minus_36= -1000000000000000000000000000000000000;
19765 let $minus_40= -10000000000000000000000000000000000000000;
19767 let $procvar_m00=   -1.00e+22;
19768 let $procvar_00=     1.00e+22;
19769 let $procvar01_m30= $procvar_m00;
19770 let $procvar01_m36= $procvar_m00;
19771 let $procvar01_m40= $procvar_m00;
19772 let $procvar01_20=  $procvar_00;
19773 let $procvar01_24=  $procvar_00;
19774 let $procvar01_30=  $procvar_00;
19775 let $procvar01_36=  $procvar_00;
19776 let $procvar01_40=  $procvar_00;
19777 let $procvar03= -9.22e+18;
19778 let $procvar05= -9.22e+18;
19779 let $procvar07= -9.22e+18;
19782 --disable_warnings
19783 DROP DATABASE IF EXISTS d1;
19784 --enable_warnings
19786 CREATE DATABASE d1;
19787 USE d1;
19789 --disable_warnings
19790 DROP FUNCTION IF EXISTS fn1;
19791 --enable_warnings
19793 delimiter //;
19794 CREATE FUNCTION fn1( f1 bigint) returns bigint
19795 BEGIN
19796    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19797   return f1;
19798 END//
19799 delimiter ;//
19801 SELECT fn1(-9.22e+18);
19804 --disable_warnings
19805 DROP FUNCTION IF EXISTS fn2;
19806 --enable_warnings
19808 delimiter //;
19809 CREATE FUNCTION fn2( f1 bigint unsigned) returns bigint unsigned
19810 BEGIN
19811    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19812   return f1;
19813 END//
19814 delimiter ;//
19816 SELECT fn2(1.84e+19);
19819 --disable_warnings
19820 DROP FUNCTION IF EXISTS fn3;
19821 --enable_warnings
19823 delimiter //;
19824 CREATE FUNCTION fn3( f1 bigint unsigned zerofill) returns bigint unsigned zerofill
19825 BEGIN
19826    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19827   return f1;
19828 END//
19829 delimiter ;//
19831 --disable_ps_protocol
19832 SELECT fn3(1.84e+17);
19833 --enable_ps_protocol
19835 --disable_warnings
19836 DROP FUNCTION IF EXISTS fn4;
19837 --enable_warnings
19839 delimiter //;
19840 CREATE FUNCTION fn4( f1 bigint zerofill) returns bigint zerofill
19841 BEGIN
19842    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19843   return f1;
19844 END//
19845 delimiter ;//
19847 --disable_ps_protocol
19848 SELECT fn4(-9.22e+15);
19849 --enable_ps_protocol
19851 --disable_warnings
19852 DROP FUNCTION IF EXISTS fn5;
19853 --enable_warnings
19855 delimiter //;
19856 CREATE FUNCTION fn5( f1 decimal) returns decimal
19857 BEGIN
19858    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19859   return f1;
19860 END//
19861 delimiter ;//
19863 SELECT fn5(-1.00e+09);
19866 --disable_warnings
19867 DROP FUNCTION IF EXISTS fn6;
19868 --enable_warnings
19870 delimiter //;
19871 CREATE FUNCTION fn6( f1 decimal (0)) returns decimal (0)
19872 BEGIN
19873    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19874   return f1;
19875 END//
19876 delimiter ;//
19878 SELECT fn6(-1.00e+09);
19881 --disable_warnings
19882 DROP FUNCTION IF EXISTS fn7;
19883 --enable_warnings
19885 delimiter //;
19886 CREATE FUNCTION fn7( f1 decimal (0) unsigned) returns decimal (0) unsigned
19887 BEGIN
19888    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19889   return f1;
19890 END//
19891 delimiter ;//
19893 SELECT fn7(99999999999);
19896 --disable_warnings
19897 DROP FUNCTION IF EXISTS fn8;
19898 --enable_warnings
19900 delimiter //;
19901 CREATE FUNCTION fn8( f1 decimal (0) unsigned zerofill) returns decimal (0) unsigned zerofill
19902 BEGIN
19903    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19904   return f1;
19905 END//
19906 delimiter ;//
19908 SELECT fn8(999999999);
19910 --disable_warnings
19911 DROP FUNCTION IF EXISTS fn9;
19912 --enable_warnings
19914 delimiter //;
19915 CREATE FUNCTION fn9( f1 decimal (0) zerofill) returns decimal (0) zerofill
19916 BEGIN
19917    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19918   return f1;
19919 END//
19920 delimiter ;//
19922 SELECT fn9(-1.00e+09);
19925 --disable_warnings
19926 DROP FUNCTION IF EXISTS fn10;
19927 --enable_warnings
19929 delimiter //;
19930 CREATE FUNCTION fn10( f1 decimal (0, 0)) returns decimal (0, 0)
19931 BEGIN
19932    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19933   return f1;
19934 END//
19935 delimiter ;//
19937 SELECT fn10(-1.00e+09);
19940 --disable_warnings
19941 DROP FUNCTION IF EXISTS fn11;
19942 --enable_warnings
19944 delimiter //;
19945 CREATE FUNCTION fn11( f1 decimal (0, 0) unsigned) returns decimal (0, 0) unsigned
19946 BEGIN
19947    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19948   return f1;
19949 END//
19950 delimiter ;//
19952 SELECT fn11(99999999999);
19955 --disable_warnings
19956 DROP FUNCTION IF EXISTS fn12;
19957 --enable_warnings
19959 delimiter //;
19960 CREATE FUNCTION fn12( f1 decimal (0, 0) unsigned zerofill) returns decimal (0, 0) unsigned zerofill
19961 BEGIN
19962    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19963   return f1;
19964 END//
19965 delimiter ;//
19967 SELECT fn12(999999999);
19969 --disable_warnings
19970 DROP FUNCTION IF EXISTS fn13;
19971 --enable_warnings
19973 delimiter //;
19974 CREATE FUNCTION fn13( f1 decimal (0, 0) zerofill) returns decimal (0, 0) zerofill
19975 BEGIN
19976    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19977   return f1;
19978 END//
19979 delimiter ;//
19981 SELECT fn13(-1.00e+09);
19984 --disable_warnings
19985 DROP FUNCTION IF EXISTS fn14;
19986 --enable_warnings
19988 delimiter //;
19989 CREATE FUNCTION fn14( f1 decimal (63, 30)) returns decimal (63, 30)
19990 BEGIN
19991    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
19992   return f1;
19993 END//
19994 delimiter ;//
19996 SELECT fn14(-1.00e+21);
19999 --disable_warnings
20000 DROP FUNCTION IF EXISTS fn15;
20001 --enable_warnings
20003 delimiter //;
20004 CREATE FUNCTION fn15( f1 decimal (63, 30) unsigned) returns decimal (63, 30) unsigned
20005 BEGIN
20006    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20007   return f1;
20008 END//
20009 delimiter ;//
20011 SELECT fn15(1.00e+16);
20014 --disable_warnings
20015 DROP FUNCTION IF EXISTS fn16;
20016 --enable_warnings
20018 delimiter //;
20019 CREATE FUNCTION fn16( f1 decimal (63, 30) unsigned zerofill) returns decimal (63, 30) unsigned zerofill
20020 BEGIN
20021    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20022   return f1;
20023 END//
20024 delimiter ;//
20026 SELECT fn16(1.00e+16);
20029 --disable_warnings
20030 DROP FUNCTION IF EXISTS fn17;
20031 --enable_warnings
20033 delimiter //;
20034 CREATE FUNCTION fn17( f1 decimal (63, 30) zerofill) returns decimal (63, 30) zerofill
20035 BEGIN
20036    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20037   return f1;
20038 END//
20039 delimiter ;//
20041 SELECT fn17(-1.00e+21);
20044 --disable_warnings
20045 DROP FUNCTION IF EXISTS fn18_d;
20046 --enable_warnings
20048 delimiter //;
20049 CREATE FUNCTION fn18_d( f1 decimal (64)) returns decimal (64)
20050 BEGIN
20051    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20052   return f1;
20053 END//
20054 delimiter ;//
20056 #FIXME hpux11
20057 eval SELECT fn18_d( $minus_30 );
20060 --disable_warnings
20061 DROP FUNCTION IF EXISTS fn19_du;
20062 --enable_warnings
20064 delimiter //;
20065 CREATE FUNCTION fn19_du( f1 decimal (64) unsigned) returns decimal (64) unsigned
20066 BEGIN
20067    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20068   return f1;
20069 END//
20070 delimiter ;//
20072 eval SELECT fn19_du( $plus_20 );
20074 --disable_warnings
20075 DROP FUNCTION IF EXISTS fn20_duz;
20076 --enable_warnings
20078 delimiter //;
20079 CREATE FUNCTION fn20_duz( f1 decimal (64) unsigned zerofill) returns decimal (64) unsigned zerofill
20080 BEGIN
20081    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20082   return f1;
20083 END//
20084 delimiter ;//
20086 eval SELECT fn20_duz( $plus_24 );
20088 --disable_warnings
20089 DROP FUNCTION IF EXISTS fn21_d_z;
20090 --enable_warnings
20092 delimiter //;
20093 CREATE FUNCTION fn21_d_z( f1 decimal (64) zerofill) returns decimal (64) zerofill
20094 BEGIN
20095    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20096   return f1;
20097 END//
20098 delimiter ;//
20100 SELECT fn21_d_z(1.00e+00);
20102 --disable_warnings
20103 DROP FUNCTION IF EXISTS fn22;
20104 --enable_warnings
20106 delimiter //;
20107 CREATE FUNCTION fn22( f1 decimal unsigned) returns decimal unsigned
20108 BEGIN
20109    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20110   return f1;
20111 END//
20112 delimiter ;//
20114 SELECT fn22(1.00e+00);
20117 --disable_warnings
20118 DROP FUNCTION IF EXISTS fn23;
20119 --enable_warnings
20121 delimiter //;
20122 CREATE FUNCTION fn23( f1 decimal unsigned zerofill) returns decimal unsigned zerofill
20123 BEGIN
20124    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20125   return f1;
20126 END//
20127 delimiter ;//
20129 SELECT fn23(1.00e+00);
20131 --disable_warnings
20132 DROP FUNCTION IF EXISTS fn24;
20133 --enable_warnings
20135 delimiter //;
20136 CREATE FUNCTION fn24( f1 decimal zerofill) returns decimal zerofill
20137 BEGIN
20138    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20139   return f1;
20140 END//
20141 delimiter ;//
20143 SELECT fn24(-1.00e+09);
20146 --disable_warnings
20147 DROP FUNCTION IF EXISTS fn25;
20148 --enable_warnings
20150 delimiter //;
20151 CREATE FUNCTION fn25( f1 double) returns double
20152 BEGIN
20153    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20154   return f1;
20155 END//
20156 delimiter ;//
20158 SELECT fn25(1.00e+00);
20161 --disable_warnings
20162 DROP FUNCTION IF EXISTS fn26;
20163 --enable_warnings
20165 delimiter //;
20166 CREATE FUNCTION fn26( f1 double unsigned) returns double unsigned
20167 BEGIN
20168    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20169   return f1;
20170 END//
20171 delimiter ;//
20173 SELECT fn26(1.00e+00);
20175 --disable_warnings
20176 DROP FUNCTION IF EXISTS fn27;
20177 --enable_warnings
20179 delimiter //;
20180 CREATE FUNCTION fn27( f1 double unsigned zerofill) returns double unsigned zerofill
20181 BEGIN
20182    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20183   return f1;
20184 END//
20185 delimiter ;//
20187 --disable_ps_protocol
20188 SELECT fn27(1.00e+00);
20189 --enable_ps_protocol
20192 --disable_warnings
20193 DROP FUNCTION IF EXISTS fn28;
20194 --enable_warnings
20196 delimiter //;
20197 CREATE FUNCTION fn28( f1 double zerofill) returns double zerofill
20198 BEGIN
20199    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20200   return f1;
20201 END//
20202 delimiter ;//
20204 --disable_ps_protocol
20205 SELECT fn28(1.00e+00);
20206 --enable_ps_protocol
20209 --disable_warnings
20210 DROP FUNCTION IF EXISTS fn29;
20211 --enable_warnings
20214 delimiter //;
20215 CREATE FUNCTION fn29( f1 float) returns float
20216 BEGIN
20217    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20218   return f1;
20219 END//
20220 delimiter ;//
20222 SELECT fn29(1.00e+00);
20225 --disable_warnings
20226 DROP FUNCTION IF EXISTS fn30;
20227 --enable_warnings
20229 delimiter //;
20230 CREATE FUNCTION fn30( f1 float unsigned) returns float unsigned
20231 BEGIN
20232    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20233   return f1;
20234 END//
20235 delimiter ;//
20237 SELECT fn30(1.00e+00);
20240 --disable_warnings
20241 DROP FUNCTION IF EXISTS fn31;
20242 --enable_warnings
20244 delimiter //;
20245 CREATE FUNCTION fn31( f1 float unsigned zerofill) returns float unsigned zerofill
20246 BEGIN
20247    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20248   return f1;
20249 END//
20250 delimiter ;//
20252 --disable_ps_protocol
20253 SELECT fn31(1.00e+00);
20254 --enable_ps_protocol
20257 --disable_warnings
20258 DROP FUNCTION IF EXISTS fn32;
20259 --enable_warnings
20261 delimiter //;
20262 CREATE FUNCTION fn32( f1 float zerofill) returns float zerofill
20263 BEGIN
20264    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20265   return f1;
20266 END//
20267 delimiter ;//
20269 --disable_ps_protocol
20270 SELECT fn32(1.00e+00);
20271 --enable_ps_protocol
20274 --disable_warnings
20275 DROP FUNCTION IF EXISTS fn33;
20276 --enable_warnings
20278 delimiter //;
20279 CREATE FUNCTION fn33( f1 float(0)) returns float(0)
20280 BEGIN
20281    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20282   return f1;
20283 END//
20284 delimiter ;//
20286 SELECT fn33(1.00e+00);
20289 --disable_warnings
20290 DROP FUNCTION IF EXISTS fn34;
20291 --enable_warnings
20293 delimiter //;
20294 CREATE FUNCTION fn34( f1 float(0) unsigned) returns float(0) unsigned
20295 BEGIN
20296    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20297   return f1;
20298 END//
20299 delimiter ;//
20301 SELECT fn34(1.00e+00);
20304 --disable_warnings
20305 DROP FUNCTION IF EXISTS fn35;
20306 --enable_warnings
20308 delimiter //;
20309 CREATE FUNCTION fn35( f1 float(0) unsigned zerofill) returns float(0) unsigned zerofill
20310 BEGIN
20311    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20312   return f1;
20313 END//
20314 delimiter ;//
20316 --disable_ps_protocol
20317 SELECT fn35(1.00e+00);
20318 --enable_ps_protocol
20321 --disable_warnings
20322 DROP FUNCTION IF EXISTS fn36;
20323 --enable_warnings
20325 delimiter //;
20326 CREATE FUNCTION fn36( f1 float(0) zerofill) returns float(0) zerofill
20327 BEGIN
20328    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20329   return f1;
20330 END//
20331 delimiter ;//
20333 --disable_ps_protocol
20334 SELECT fn36(1.00e+00);
20335 --enable_ps_protocol
20338 --disable_warnings
20339 DROP FUNCTION IF EXISTS fn37;
20340 --enable_warnings
20342 delimiter //;
20343 CREATE FUNCTION fn37( f1 float(23)) returns float(23)
20344 BEGIN
20345    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20346   return f1;
20347 END//
20348 delimiter ;//
20350 SELECT fn37(1.00e+00);
20353 --disable_warnings
20354 DROP FUNCTION IF EXISTS fn38;
20355 --enable_warnings
20357 delimiter //;
20358 CREATE FUNCTION fn38( f1 float(23) unsigned) returns float(23) unsigned
20359 BEGIN
20360    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20361   return f1;
20362 END//
20363 delimiter ;//
20365 SELECT fn38(1.00e+00);
20368 --disable_warnings
20369 DROP FUNCTION IF EXISTS fn39;
20370 --enable_warnings
20372 delimiter //;
20373 CREATE FUNCTION fn39( f1 float(23) unsigned zerofill) returns float(23) unsigned zerofill
20374 BEGIN
20375    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20376   return f1;
20377 END//
20378 delimiter ;//
20380 --disable_ps_protocol
20381 SELECT fn39(1.00e+00);
20382 --enable_ps_protocol
20385 --disable_warnings
20386 DROP FUNCTION IF EXISTS fn40;
20387 --enable_warnings
20389 delimiter //;
20390 CREATE FUNCTION fn40( f1 float(23) zerofill) returns float(23) zerofill
20391 BEGIN
20392    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20393   return f1;
20394 END//
20395 delimiter ;//
20397 --disable_ps_protocol
20398 SELECT fn40(1.00e+00);
20399 --enable_ps_protocol
20402 --disable_warnings
20403 DROP FUNCTION IF EXISTS fn41;
20404 --enable_warnings
20406 delimiter //;
20407 CREATE FUNCTION fn41( f1 float(24)) returns float(24)
20408 BEGIN
20409    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20410   return f1;
20411 END//
20412 delimiter ;//
20414 SELECT fn41(1.00e+00);
20417 --disable_warnings
20418 DROP FUNCTION IF EXISTS fn42;
20419 --enable_warnings
20421 delimiter //;
20422 CREATE FUNCTION fn42( f1 float(24) unsigned) returns float(24) unsigned
20423 BEGIN
20424    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20425   return f1;
20426 END//
20427 delimiter ;//
20429 SELECT fn42(1.00e+00);
20431 --disable_warnings
20432 DROP FUNCTION IF EXISTS fn43;
20433 --enable_warnings
20435 delimiter //;
20436 CREATE FUNCTION fn43( f1 float(24) unsigned zerofill) returns float(24) unsigned zerofill
20437 BEGIN
20438    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20439   return f1;
20440 END//
20441 delimiter ;//
20443 --disable_ps_protocol
20444 SELECT fn43(1.00e+00);
20445 --enable_ps_protocol
20448 --disable_warnings
20449 DROP FUNCTION IF EXISTS fn44;
20450 --enable_warnings
20452 delimiter //;
20453 CREATE FUNCTION fn44( f1 float(24) zerofill) returns float(24) zerofill
20454 BEGIN
20455    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20456   return f1;
20457 END//
20458 delimiter ;//
20460 --disable_ps_protocol
20461 SELECT fn44(1.00e+00);
20462 --enable_ps_protocol
20465 --disable_warnings
20466 DROP FUNCTION IF EXISTS fn45;
20467 --enable_warnings
20469 delimiter //;
20470 CREATE FUNCTION fn45( f1 float(53)) returns float(53)
20471 BEGIN
20472    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20473   return f1;
20474 END//
20475 delimiter ;//
20477 SELECT fn45(1.00e+00);
20480 --disable_warnings
20481 DROP FUNCTION IF EXISTS fn46;
20482 --enable_warnings
20484 delimiter //;
20485 CREATE FUNCTION fn46( f1 float(53) unsigned) returns float(53) unsigned
20486 BEGIN
20487    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20488   return f1;
20489 END//
20490 delimiter ;//
20492 SELECT fn46(1.00e+00);
20494 --disable_warnings
20495 DROP FUNCTION IF EXISTS fn47;
20496 --enable_warnings
20498 delimiter //;
20499 CREATE FUNCTION fn47( f1 float(53) unsigned zerofill) returns float(53) unsigned zerofill
20500 BEGIN
20501    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20502   return f1;
20503 END//
20504 delimiter ;//
20506 --disable_ps_protocol
20507 SELECT fn47(1.00e+00);
20508 --enable_ps_protocol
20511 --disable_warnings
20512 DROP FUNCTION IF EXISTS fn48;
20513 --enable_warnings
20515 delimiter //;
20516 CREATE FUNCTION fn48( f1 float(53) zerofill) returns float(53) zerofill
20517 BEGIN
20518    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20519   return f1;
20520 END//
20521 delimiter ;//
20523 --disable_ps_protocol
20524 SELECT fn48(1.00e+00);
20525 --enable_ps_protocol
20528 --disable_warnings
20529 DROP FUNCTION IF EXISTS fn49;
20530 --enable_warnings
20532 delimiter //;
20533 CREATE FUNCTION fn49( f1 int) returns int
20534 BEGIN
20535    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20536   return f1;
20537 END//
20538 delimiter ;//
20540 SELECT fn49(-2.15e+09);
20543 --disable_warnings
20544 DROP FUNCTION IF EXISTS fn50;
20545 --enable_warnings
20547 delimiter //;
20548 CREATE FUNCTION fn50( f1 int unsigned) returns int unsigned
20549 BEGIN
20550    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20551   return f1;
20552 END//
20553 delimiter ;//
20555 SELECT fn50(4.29e+09);
20558 --disable_warnings
20559 DROP FUNCTION IF EXISTS fn51;
20560 --enable_warnings
20562 delimiter //;
20563 CREATE FUNCTION fn51( f1 int unsigned zerofill) returns int unsigned zerofill
20564 BEGIN
20565    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20566   return f1;
20567 END//
20568 delimiter ;//
20570 SELECT fn51(4.29e+09);
20573 --disable_warnings
20574 DROP FUNCTION IF EXISTS fn52;
20575 --enable_warnings
20577 delimiter //;
20578 CREATE FUNCTION fn52( f1 int zerofill) returns int zerofill
20579 BEGIN
20580    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20581   return f1;
20582 END//
20583 delimiter ;//
20585 --disable_ps_protocol
20586 SELECT fn52(2.15e+08);
20587 --enable_ps_protocol
20589 --disable_warnings
20590 DROP FUNCTION IF EXISTS fn53;
20591 --enable_warnings
20593 delimiter //;
20594 CREATE FUNCTION fn53( f1 mediumint) returns mediumint
20595 BEGIN
20596    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20597   return f1;
20598 END//
20599 delimiter ;//
20601 SELECT fn53(-8388600);
20603 --disable_warnings
20604 DROP FUNCTION IF EXISTS fn54;
20605 --enable_warnings
20607 delimiter //;
20608 CREATE FUNCTION fn54( f1 mediumint unsigned) returns mediumint unsigned
20609 BEGIN
20610    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20611   return f1;
20612 END//
20613 delimiter ;//
20615 SELECT fn54(16777201);
20618 --disable_warnings
20619 DROP FUNCTION IF EXISTS fn55;
20620 --enable_warnings
20622 delimiter //;
20623 CREATE FUNCTION fn55( f1 mediumint unsigned zerofill) returns mediumint unsigned zerofill
20624 BEGIN
20625    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20626   return f1;
20627 END//
20628 delimiter ;//
20630 SELECT fn55(16777210);
20633 --disable_warnings
20634 DROP FUNCTION IF EXISTS fn56;
20635 --enable_warnings
20637 delimiter //;
20638 CREATE FUNCTION fn56( f1 mediumint zerofill) returns mediumint zerofill
20639 BEGIN
20640    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20641   return f1;
20642 END//
20643 delimiter ;//
20645 SELECT fn56(-8388601);
20647 --disable_warnings
20648 DROP FUNCTION IF EXISTS fn57;
20649 --enable_warnings
20651 delimiter //;
20652 CREATE FUNCTION fn57( f1 numeric) returns numeric
20653 BEGIN
20654    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20655   return f1;
20656 END//
20657 delimiter ;//
20659 SELECT fn57(-999999999);
20662 --disable_warnings
20663 DROP FUNCTION IF EXISTS fn58;
20664 --enable_warnings
20666 delimiter //;
20667 CREATE FUNCTION fn58( f1 numeric (0)) returns numeric (0)
20668 BEGIN
20669    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20670   return f1;
20671 END//
20672 delimiter ;//
20674 SELECT fn58(-999999999);
20677 --disable_warnings
20678 DROP FUNCTION IF EXISTS fn59;
20679 --enable_warnings
20681 delimiter //;
20682 CREATE FUNCTION fn59( f1 numeric (0) unsigned) returns numeric (0) unsigned
20683 BEGIN
20684    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20685   return f1;
20686 END//
20687 delimiter ;//
20689 SELECT fn59(9999999999);
20691 --disable_warnings
20692 DROP FUNCTION IF EXISTS fn60;
20693 --enable_warnings
20695 delimiter //;
20696 CREATE FUNCTION fn60( f1 numeric (0) unsigned zerofill) returns numeric (0) unsigned zerofill
20697 BEGIN
20698    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20699   return f1;
20700 END//
20701 delimiter ;//
20703 SELECT fn60(99999999);
20706 --disable_warnings
20707 DROP FUNCTION IF EXISTS fn61;
20708 --enable_warnings
20710 delimiter //;
20711 CREATE FUNCTION fn61( f1 numeric (0) zerofill) returns numeric (0) zerofill
20712 BEGIN
20713    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20714   return f1;
20715 END//
20716 delimiter ;//
20718 SELECT fn61(-99999999);
20721 --disable_warnings
20722 DROP FUNCTION IF EXISTS fn62;
20723 --enable_warnings
20725 delimiter //;
20726 CREATE FUNCTION fn62( f1 numeric (0, 0)) returns numeric (0, 0)
20727 BEGIN
20728    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20729   return f1;
20730 END//
20731 delimiter ;//
20733 SELECT fn62(-999999999);
20736 --disable_warnings
20737 DROP FUNCTION IF EXISTS fn63;
20738 --enable_warnings
20740 delimiter //;
20741 CREATE FUNCTION fn63( f1 numeric (0, 0) unsigned) returns numeric (0, 0) unsigned
20742 BEGIN
20743    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20744   return f1;
20745 END//
20746 delimiter ;//
20748 SELECT fn63(9999999999);
20751 --disable_warnings
20752 DROP FUNCTION IF EXISTS fn64;
20753 --enable_warnings
20755 delimiter //;
20756 CREATE FUNCTION fn64( f1 numeric (0, 0) unsigned zerofill) returns numeric (0, 0) unsigned zerofill
20757 BEGIN
20758    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20759   return f1;
20760 END//
20761 delimiter ;//
20763 SELECT fn64(99999999);
20766 --disable_warnings
20767 DROP FUNCTION IF EXISTS fn65;
20768 --enable_warnings
20770 delimiter //;
20771 CREATE FUNCTION fn65( f1 numeric (0, 0) zerofill) returns numeric (0, 0) zerofill
20772 BEGIN
20773    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20774   return f1;
20775 END//
20776 delimiter ;//
20778 SELECT fn65(-99999999);
20781 --disable_warnings
20782 DROP FUNCTION IF EXISTS fn66;
20783 --enable_warnings
20785 delimiter //;
20786 CREATE FUNCTION fn66( f1 numeric (63, 30)) returns numeric (63, 30)
20787 BEGIN
20788    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20789   return f1;
20790 END//
20791 delimiter ;//
20793 SELECT fn66(-1e+36);
20796 --disable_warnings
20797 DROP FUNCTION IF EXISTS fn67;
20798 --enable_warnings
20800 delimiter //;
20801 CREATE FUNCTION fn67( f1 numeric (63, 30) unsigned) returns numeric (63, 30) unsigned
20802 BEGIN
20803    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20804   return f1;
20805 END//
20806 delimiter ;//
20808 SELECT fn67(1e+36);
20811 --disable_warnings
20812 DROP FUNCTION IF EXISTS fn68;
20813 --enable_warnings
20815 delimiter //;
20816 CREATE FUNCTION fn68( f1 numeric (63, 30) unsigned zerofill) returns numeric (63, 30) unsigned zerofill
20817 BEGIN
20818    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20819   return f1;
20820 END//
20821 delimiter ;//
20823 SELECT fn68(1e+36);
20826 --disable_warnings
20827 DROP FUNCTION IF EXISTS fn69;
20828 --enable_warnings
20830 delimiter //;
20831 CREATE FUNCTION fn69( f1 numeric (63, 30) zerofill) returns numeric (63, 30) zerofill
20832 BEGIN
20833    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20834   return f1;
20835 END//
20836 delimiter ;//
20838 SELECT fn69(-1e+36);
20841 --disable_warnings
20842 DROP FUNCTION IF EXISTS fn70_n;
20843 --enable_warnings
20845 delimiter //;
20846 CREATE FUNCTION fn70_n( f1 numeric (64)) returns numeric (64)
20847 BEGIN
20848    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20849   return f1;
20850 END//
20851 delimiter ;//
20853 #FIXME hpux11
20854 #SELECT fn70_n(-1e+40);
20855 eval SELECT fn70_n( $minus_30 );
20856 eval SELECT fn70_n( $minus_40 );
20859 --disable_warnings
20860 DROP FUNCTION IF EXISTS fn71_nu;
20861 --enable_warnings
20863 delimiter //;
20864 CREATE FUNCTION fn71_nu( f1 numeric (64) unsigned) returns numeric (64) unsigned
20865 BEGIN
20866    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20867   return f1;
20868 END//
20869 delimiter ;//
20871 #FIXME hpux11
20872 #SELECT fn71_nu(1.00e+40);
20873 eval SELECT fn71_nu( $plus_40 );
20876 --disable_warnings
20877 DROP FUNCTION IF EXISTS fn72_nuz;
20878 --enable_warnings
20880 delimiter //;
20881 CREATE FUNCTION fn72_nuz( f1 numeric (64) unsigned zerofill) returns numeric (64) unsigned zerofill
20882 BEGIN
20883    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20884   return f1;
20885 END//
20886 delimiter ;//
20888 #FIXME hpux11
20889 #SELECT fn72_nuz(1.00e+40);
20890 eval SELECT fn72_nuz( $plus_40 );
20893 --disable_warnings
20894 DROP FUNCTION IF EXISTS fn73_n_z;
20895 --enable_warnings
20897 delimiter //;
20898 CREATE FUNCTION fn73_n_z( f1 numeric (64) zerofill) returns numeric (64) zerofill
20899 BEGIN
20900    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20901   return f1;
20902 END//
20903 delimiter ;//
20905 #FIXME hpux11
20906 #SELECT fn73_n_z(1.00e+40);
20907 eval SELECT fn73_n_z( $plus_40 );
20909 --disable_warnings
20910 DROP FUNCTION IF EXISTS fn74;
20911 --enable_warnings
20913 delimiter //;
20914 CREATE FUNCTION fn74( f1 numeric unsigned) returns numeric unsigned
20915 BEGIN
20916    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20917   return f1;
20918 END//
20919 delimiter ;//
20921 SELECT fn74(999999999);
20924 --disable_warnings
20925 DROP FUNCTION IF EXISTS fn75;
20926 --enable_warnings
20928 delimiter //;
20929 CREATE FUNCTION fn75( f1 numeric unsigned zerofill) returns numeric unsigned zerofill
20930 BEGIN
20931    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20932   return f1;
20933 END//
20934 delimiter ;//
20936 SELECT fn75(999999999);
20939 --disable_warnings
20940 DROP FUNCTION IF EXISTS fn76;
20941 --enable_warnings
20943 delimiter //;
20944 CREATE FUNCTION fn76( f1 numeric zerofill) returns numeric zerofill
20945 BEGIN
20946    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20947   return f1;
20948 END//
20949 delimiter ;//
20951 SELECT fn76(-999999999);
20954 --disable_warnings
20955 DROP FUNCTION IF EXISTS fn77;
20956 --enable_warnings
20958 delimiter //;
20959 CREATE FUNCTION fn77( f1 real) returns real
20960 BEGIN
20961    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20962   return f1;
20963 END//
20964 delimiter ;//
20966 SELECT fn77(1.1);
20969 --disable_warnings
20970 DROP FUNCTION IF EXISTS fn78;
20971 --enable_warnings
20973 delimiter //;
20974 CREATE FUNCTION fn78( f1 real unsigned) returns real unsigned
20975 BEGIN
20976    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20977   return f1;
20978 END//
20979 delimiter ;//
20981 SELECT fn78(1.1);
20984 --disable_warnings
20985 DROP FUNCTION IF EXISTS fn79;
20986 --enable_warnings
20988 delimiter //;
20989 CREATE FUNCTION fn79( f1 real unsigned zerofill) returns real unsigned zerofill
20990 BEGIN
20991    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
20992   return f1;
20993 END//
20994 delimiter ;//
20996 --disable_ps_protocol
20997 SELECT fn79(1.1);
20998 --enable_ps_protocol
21001 --disable_warnings
21002 DROP FUNCTION IF EXISTS fn80;
21003 --enable_warnings
21005 delimiter //;
21006 CREATE FUNCTION fn80( f1 real zerofill) returns real zerofill
21007 BEGIN
21008    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21009   return f1;
21010 END//
21011 delimiter ;//
21013 --disable_ps_protocol
21014 SELECT fn80(1.1);
21015 --enable_ps_protocol
21018 --disable_warnings
21019 DROP FUNCTION IF EXISTS fn81;
21020 --enable_warnings
21022 delimiter //;
21023 CREATE FUNCTION fn81( f1 smallint) returns smallint
21024 BEGIN
21025    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21026   return f1;
21027 END//
21028 delimiter ;//
21030 SELECT fn81(-32701);
21033 --disable_warnings
21034 DROP FUNCTION IF EXISTS fn82;
21035 --enable_warnings
21037 delimiter //;
21038 CREATE FUNCTION fn82( f1 smallint unsigned) returns smallint unsigned
21039 BEGIN
21040    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21041   return f1;
21042 END//
21043 delimiter ;//
21045 SELECT fn82(65531);
21048 --disable_warnings
21049 DROP FUNCTION IF EXISTS fn83;
21050 --enable_warnings
21052 delimiter //;
21053 CREATE FUNCTION fn83( f1 smallint unsigned zerofill) returns smallint unsigned zerofill
21054 BEGIN
21055    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21056   return f1;
21057 END//
21058 delimiter ;//
21060 SELECT fn83(65531);
21063 --disable_warnings
21064 DROP FUNCTION IF EXISTS fn84;
21065 --enable_warnings
21067 delimiter //;
21068 CREATE FUNCTION fn84( f1 smallint zerofill) returns smallint zerofill
21069 BEGIN
21070    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21071   return f1;
21072 END//
21073 delimiter ;//
21075 SELECT fn84(-32601);
21077 --disable_warnings
21078 DROP FUNCTION IF EXISTS fn85;
21079 --enable_warnings
21081 delimiter //;
21082 CREATE FUNCTION fn85( f1 tinyint) returns tinyint
21083 BEGIN
21084    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21085   return f1;
21086 END//
21087 delimiter ;//
21089 SELECT fn85(-115);
21092 --disable_warnings
21093 DROP FUNCTION IF EXISTS fn86;
21094 --enable_warnings
21096 delimiter //;
21097 CREATE FUNCTION fn86( f1 tinyint unsigned) returns tinyint unsigned
21098 BEGIN
21099    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21100   return f1;
21101 END//
21102 delimiter ;//
21104 SELECT fn86(251);
21107 --disable_warnings
21108 DROP FUNCTION IF EXISTS fn87;
21109 --enable_warnings
21111 delimiter //;
21112 CREATE FUNCTION fn87( f1 tinyint unsigned zerofill) returns tinyint unsigned zerofill
21113 BEGIN
21114    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21115   return f1;
21116 END//
21117 delimiter ;//
21119 SELECT fn87(201);
21122 --disable_warnings
21123 DROP FUNCTION IF EXISTS fn88;
21124 --enable_warnings
21126 delimiter //;
21127 CREATE FUNCTION fn88( f1 tinyint zerofill) returns tinyint zerofill
21128 BEGIN
21129    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21130   return f1;
21131 END//
21132 delimiter ;//
21134 SELECT fn88(-101);
21136 --disable_warnings
21137 DROP FUNCTION IF EXISTS fn89;
21138 --enable_warnings
21140 delimiter //;
21141 CREATE FUNCTION fn89( f1 enum('1enum', '2enum')) returns enum('1enum', '2enum')
21142 BEGIN
21143  IF f1 = '1enum' THEN
21144    SET f1 = '2enum';
21145   ELSE
21146    SET f1 = '1enum';
21147  END IF;
21148  RETURN f1;
21149 END//
21150 delimiter ;//
21152 SELECT fn89( '1enum');
21154 --disable_warnings
21155 DROP FUNCTION IF EXISTS fn90;
21156 --enable_warnings
21158 delimiter //;
21159 CREATE FUNCTION fn90( f1 set('1set', '2set')) returns set('1set', '2set')
21160 BEGIN
21161    IF f1 = '1set' THEN
21162       SET f1 = '2set';
21163    ELSE
21164       SET f1 = '1set';
21165    END IF;
21166    RETURN f1;
21167 END//
21168 delimiter ;//
21170 SELECT fn90( '1set');
21172 --disable_warnings
21173 DROP FUNCTION IF EXISTS fn91;
21174 --enable_warnings
21176 delimiter //;
21177 CREATE FUNCTION fn91( f1 date) returns date
21178 BEGIN
21179   set f1 = adddate(f1, interval 31 day);
21180   return f1;
21181 END//
21182 delimiter ;//
21184 SELECT fn91('1997-12-31');
21186 --disable_warnings
21187 DROP FUNCTION IF EXISTS fn92;
21188 --enable_warnings
21191 delimiter //;
21192 CREATE FUNCTION fn92( f1 time) returns time
21193 BEGIN
21194   set f1 = addtime(f1, '02:00:00.999998');
21195   return f1;
21196 END//
21197 delimiter ;//
21199 SELECT fn92( '23:59:59.999999');
21202 --disable_warnings
21203 DROP FUNCTION IF EXISTS fn93;
21204 --enable_warnings
21207 delimiter //;
21208 CREATE FUNCTION fn93( f1 datetime) returns datetime
21209 BEGIN
21210   set f1 = addtime(f1, '1 1:1:1.000002');
21211   return f1;
21212 END//
21213 delimiter ;//
21215 SELECT fn93('1997-12-31 23:59:59.999999');
21217 --disable_warnings
21218 DROP FUNCTION IF EXISTS fn94;
21219 --enable_warnings
21222 delimiter //;
21223 CREATE FUNCTION fn94( f1 char) returns char
21224 BEGIN
21225   set f1 = concat('a', f1);
21226   return f1;
21227 END//
21228 delimiter ;//
21230 SELECT fn94( 'h');
21232 --disable_warnings
21233 DROP FUNCTION IF EXISTS fn95;
21234 --enable_warnings
21237 delimiter //;
21238 CREATE FUNCTION fn95( f1 char ascii) returns char ascii
21239 BEGIN
21240   set f1 = concat('a', f1);
21241   return f1;
21242 END//
21243 delimiter ;//
21245 SELECT fn95('h');
21248 --disable_warnings
21249 DROP FUNCTION IF EXISTS fn96;
21250 --enable_warnings
21252 delimiter //;
21253 CREATE FUNCTION fn96( f1 binary) returns binary(2)
21254 BEGIN
21255   set f1 = concat('a', f1);
21256   return f1;
21257 END//
21258 delimiter ;//
21260 SELECT fn96( 'h');
21263 --disable_warnings
21264 DROP FUNCTION IF EXISTS fn97;
21265 --enable_warnings
21267 delimiter //;
21268 CREATE FUNCTION fn97( f1 longtext) returns longtext
21269 BEGIN
21270   set f1 = concat('hello', f1);
21271   return f1;
21272 END//
21273 delimiter ;//
21275 SELECT fn97( 'world');
21277 --disable_warnings
21278 DROP FUNCTION IF EXISTS fn98;
21279 --enable_warnings
21281 delimiter //;
21282 CREATE FUNCTION fn98( f1 mediumtext) returns mediumtext
21283 BEGIN
21284   set f1 = concat('hello', f1);
21285   return f1;
21286 END//
21287 delimiter ;//
21289 SELECT fn98( 'world');
21291 --disable_warnings
21292 DROP FUNCTION IF EXISTS fn99;
21293 --enable_warnings
21295 delimiter //;
21296 CREATE FUNCTION fn99( f1 text) returns text
21297 BEGIN
21298   set f1 = concat('hello', f1);
21299   return f1;
21300 END//
21301 delimiter ;//
21303 SELECT fn99( 'world');
21305 --disable_warnings
21306 DROP FUNCTION IF EXISTS fn100;
21307 --enable_warnings
21309 delimiter //;
21310 CREATE FUNCTION fn100( f1 tinytext) returns tinytext
21311 BEGIN
21312   set f1 = concat('hello', f1);
21313   return f1;
21314 END//
21315 delimiter ;//
21317 SELECT fn100( 'world');
21319 --disable_warnings
21320 DROP FUNCTION IF EXISTS fn101;
21321 --enable_warnings
21323 delimiter //;
21324 CREATE FUNCTION fn101( f1 year) returns year
21325 BEGIN
21326   set f1 = f1 + 10;
21327   return f1;
21328 END//
21329 delimiter ;//
21331 SELECT fn101(51);
21334 --disable_warnings
21335 DROP FUNCTION IF EXISTS fn102;
21336 --enable_warnings
21338 delimiter //;
21339 CREATE FUNCTION fn102( f1 year(4)) returns year(4)
21340 BEGIN
21341   set f1 = f1 + 51;
21342   return f1;
21343 END//
21344 delimiter ;//
21346 SELECT fn102(1982);
21349 --disable_warnings
21350 DROP FUNCTION IF EXISTS fn103;
21351 --enable_warnings
21353 delimiter //;
21354 CREATE FUNCTION fn103( f1 geometrycollection) returns geometrycollection
21355 BEGIN
21356   set f1 = f1;
21357   return f1;
21358 END//
21359 delimiter ;//
21361 SELECT fn103('\0\0\0\0\x01\x03\0\0\0\x02\0\0\0\x05\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?\x05\0\0\0\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@');
21364 --disable_warnings
21365 DROP FUNCTION IF EXISTS fn104;
21366 --enable_warnings
21368 delimiter //;
21369 CREATE FUNCTION fn104( f1 linestring) returns linestring
21370 BEGIN
21371   set f1 = f1;
21372   return f1;
21373 END//
21374 delimiter ;//
21376 SELECT fn104('\0\0\0\0\x01\x02\0\0\0\x03\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\b@\0\0\0\0\0\0\b@');
21379 --disable_warnings
21380 DROP FUNCTION IF EXISTS fn105;
21381 --enable_warnings
21383 delimiter //;
21384 CREATE FUNCTION fn105( f1 point) returns point
21385 BEGIN
21386   set f1 = f1;
21387   return f1;
21388 END//
21389 delimiter ;//
21391 SELECT fn105('\0\0\0\0\x01\x01\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@');
21394 --disable_warnings
21395 DROP FUNCTION IF EXISTS fn106;
21396 --enable_warnings
21398 delimiter //;
21399 CREATE FUNCTION fn106( f1 polygon) returns polygon
21400 BEGIN
21401   set f1 = f1;
21402   return f1;
21403 END//
21404 delimiter ;//
21406 SELECT fn106('\0\0\0\0\x01\x03\0\0\0\x02\0\0\0\x05\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?\x05\0\0\0\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@');
21409 --disable_warnings
21410 DROP FUNCTION IF EXISTS fn107;
21411 --enable_warnings
21413 delimiter //;
21414 CREATE FUNCTION fn107( f1 timestamp) returns timestamp
21415 BEGIN
21416   set f1 = now();
21417   return f1;
21418 END//
21419 delimiter ;//
21421 --replace_column 1 returned
21422 SELECT fn107(20050510080451);
21424 USE db_storedproc;
21425 DROP DATABASE d1;
21428 # ==============================================================================
21429 # test plan section: 4.5 - stored procs with in, out parameters using all datatypes
21430 # ==============================================================================
21432 --disable_warnings
21433 DROP DATABASE IF EXISTS db1;
21434 --enable_warnings
21436 CREATE DATABASE db1;
21437 USE db1;
21439 --disable_warnings
21440 DROP PROCEDURE IF EXISTS sp1;
21441 --enable_warnings
21443 delimiter //;
21444 CREATE PROCEDURE sp1( f1 bigint)
21445 BEGIN
21446    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21447   SELECT f1;
21448 END//
21449 delimiter ;//
21451 CALL sp1(-9.22e+18);
21454 --disable_warnings
21455 DROP PROCEDURE IF EXISTS sp2;
21456 --enable_warnings
21458 delimiter //;
21459 CREATE PROCEDURE sp2( f1 bigint unsigned)
21460 BEGIN
21461    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21462   SELECT f1;
21463 END//
21464 delimiter ;//
21466 CALL sp2(1.84e+19);
21469 --disable_warnings
21470 DROP PROCEDURE IF EXISTS sp3;
21471 --enable_warnings
21473 delimiter //;
21474 CREATE PROCEDURE sp3( f1 bigint unsigned zerofill)
21475 BEGIN
21476    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21477   SELECT f1;
21478 END//
21479 delimiter ;//
21481 CALL sp3(1.84e+17);
21484 --disable_warnings
21485 DROP PROCEDURE IF EXISTS sp4;
21486 --enable_warnings
21488 delimiter //;
21489 CREATE PROCEDURE sp4( f1 bigint zerofill)
21490 BEGIN
21491    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21492   SELECT f1;
21493 END//
21494 delimiter ;//
21496 CALL sp4(-9.22e+15);
21499 --disable_warnings
21500 DROP PROCEDURE IF EXISTS sp5;
21501 --enable_warnings
21503 delimiter //;
21504 CREATE PROCEDURE sp5( f1 decimal)
21505 BEGIN
21506    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21507   SELECT f1;
21508 END//
21509 delimiter ;//
21511 CALL sp5(-1.00e+09);
21514 --disable_warnings
21515 DROP PROCEDURE IF EXISTS sp6;
21516 --enable_warnings
21518 delimiter //;
21519 CREATE PROCEDURE sp6( f1 decimal (0))
21520 BEGIN
21521    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21522   SELECT f1;
21523 END//
21524 delimiter ;//
21526 CALL sp6(-1.00e+09);
21528 --disable_warnings
21529 DROP PROCEDURE IF EXISTS sp7;
21530 --enable_warnings
21532 delimiter //;
21533 CREATE PROCEDURE sp7( f1 decimal (0) unsigned)
21534 BEGIN
21535    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21536   SELECT f1;
21537 END//
21538 delimiter ;//
21540 CALL sp7(99999999999);
21542 --disable_warnings
21543 DROP PROCEDURE IF EXISTS sp8;
21544 --enable_warnings
21546 delimiter //;
21547 CREATE PROCEDURE sp8( f1 decimal (0) unsigned zerofill)
21548 BEGIN
21549    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21550   SELECT f1;
21551 END//
21552 delimiter ;//
21554 CALL sp8(999999999);
21557 --disable_warnings
21558 DROP PROCEDURE IF EXISTS sp9;
21559 --enable_warnings
21561 delimiter //;
21562 CREATE PROCEDURE sp9( f1 decimal (0) zerofill)
21563 BEGIN
21564    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21565   SELECT f1;
21566 END//
21567 delimiter ;//
21569 CALL sp9(-1.00e+09);
21571 --disable_warnings
21572 DROP PROCEDURE IF EXISTS sp10;
21573 --enable_warnings
21575 delimiter //;
21576 CREATE PROCEDURE sp10( f1 decimal (0, 0))
21577 BEGIN
21578    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21579   SELECT f1;
21580 END//
21581 delimiter ;//
21583 CALL sp10(-1.00e+09);
21585 --disable_warnings
21586 DROP PROCEDURE IF EXISTS sp11;
21587 --enable_warnings
21589 delimiter //;
21590 CREATE PROCEDURE sp11( f1 decimal (0, 0) unsigned)
21591 BEGIN
21592    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21593   SELECT f1;
21594 END//
21595 delimiter ;//
21597 CALL sp11(99999999999);
21599 --disable_warnings
21600 DROP PROCEDURE IF EXISTS sp12;
21601 --enable_warnings
21603 delimiter //;
21604 CREATE PROCEDURE sp12( f1 decimal (0, 0) unsigned zerofill)
21605 BEGIN
21606    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21607   SELECT f1;
21608 END//
21609 delimiter ;//
21611 CALL sp12(999999999);
21613 --disable_warnings
21614 DROP PROCEDURE IF EXISTS sp13;
21615 --enable_warnings
21617 delimiter //;
21618 CREATE PROCEDURE sp13( f1 decimal (0, 0) zerofill)
21619 BEGIN
21620    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21621   SELECT f1;
21622 END//
21623 delimiter ;//
21625 CALL sp13(-1.00e+09);
21627 --disable_warnings
21628 DROP PROCEDURE IF EXISTS sp14;
21629 --enable_warnings
21631 delimiter //;
21632 CREATE PROCEDURE sp14( f1 decimal (63, 30))
21633 BEGIN
21634    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21635   SELECT f1;
21636 END//
21637 delimiter ;//
21639 CALL sp14(-1.00e+21);
21642 --disable_warnings
21643 DROP PROCEDURE IF EXISTS sp15;
21644 --enable_warnings
21646 delimiter //;
21647 CREATE PROCEDURE sp15( f1 decimal (63, 30) unsigned)
21648 BEGIN
21649    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21650   SELECT f1;
21651 END//
21652 delimiter ;//
21654 CALL sp15(1.00e+16);
21657 --disable_warnings
21658 DROP PROCEDURE IF EXISTS sp16;
21659 --enable_warnings
21661 delimiter //;
21662 CREATE PROCEDURE sp16( f1 decimal (63, 30) unsigned zerofill)
21663 BEGIN
21664    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21665   SELECT f1;
21666 END//
21667 delimiter ;//
21669 CALL sp16(1.00e+16);
21672 --disable_warnings
21673 DROP PROCEDURE IF EXISTS sp17;
21674 --enable_warnings
21676 delimiter //;
21677 CREATE PROCEDURE sp17( f1 decimal (63, 30) zerofill)
21678 BEGIN
21679    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21680   SELECT f1;
21681 END//
21682 delimiter ;//
21684 CALL sp17(-1.00e+21);
21686 --disable_warnings
21687 DROP PROCEDURE IF EXISTS sp18_d;
21688 --enable_warnings
21690 delimiter //;
21691 CREATE PROCEDURE sp18_d( f1 decimal (64))
21692 BEGIN
21693    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21694   SELECT f1;
21695 END//
21696 delimiter ;//
21698 CALL sp18_d(-1.00e+30);
21699 eval CALL sp18_d( $minus_30 );
21701 --disable_warnings
21702 DROP PROCEDURE IF EXISTS sp19_du;
21703 --enable_warnings
21705 delimiter //;
21706 CREATE PROCEDURE sp19_du( f1 decimal (64) unsigned)
21707 BEGIN
21708    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21709   SELECT f1;
21710 END//
21711 delimiter ;//
21713 CALL sp19_du(1.00e+20);
21714 eval CALL sp19_du( $plus_20 );
21715 CALL sp19_du(1.00e+24);
21716 eval CALL sp19_du( $plus_24 );
21718 --disable_warnings
21719 DROP PROCEDURE IF EXISTS sp20_duz;
21720 --enable_warnings
21722 delimiter //;
21723 CREATE PROCEDURE sp20_duz( f1 decimal (64) unsigned zerofill)
21724 BEGIN
21725    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21726   SELECT f1;
21727 END//
21728 delimiter ;//
21730 CALL sp20_duz(1.00e+20);
21731 eval CALL sp20_duz( $plus_20 );
21732 CALL sp20_duz(1.00e+24);
21733 eval CALL sp20_duz( $plus_24 );
21735 --disable_warnings
21736 DROP PROCEDURE IF EXISTS sp21;
21737 --enable_warnings
21739 delimiter //;
21740 CREATE PROCEDURE sp21( f1 decimal (64) zerofill)
21741 BEGIN
21742    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21743   SELECT f1;
21744 END//
21745 delimiter ;//
21747 CALL sp21(1.00e+00);
21749 --disable_warnings
21750 DROP PROCEDURE IF EXISTS sp22;
21751 --enable_warnings
21753 delimiter //;
21754 CREATE PROCEDURE sp22( f1 decimal unsigned)
21755 BEGIN
21756    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21757   SELECT f1;
21758 END//
21759 delimiter ;//
21761 CALL sp22(1.00e+00);
21763 --disable_warnings
21764 DROP PROCEDURE IF EXISTS sp23;
21765 --enable_warnings
21767 delimiter //;
21768 CREATE PROCEDURE sp23( f1 decimal unsigned zerofill)
21769 BEGIN
21770    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21771   SELECT f1;
21772 END//
21773 delimiter ;//
21775 CALL sp23(1.00e+00);
21777 --disable_warnings
21778 DROP PROCEDURE IF EXISTS sp24;
21779 --enable_warnings
21781 delimiter //;
21782 CREATE PROCEDURE sp24( f1 decimal zerofill)
21783 BEGIN
21784    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21785   SELECT f1;
21786 END//
21787 delimiter ;//
21789 CALL sp24(-1.00e+09);
21791 --disable_warnings
21792 DROP PROCEDURE IF EXISTS sp25;
21793 --enable_warnings
21795 delimiter //;
21796 CREATE PROCEDURE sp25( f1 double)
21797 BEGIN
21798    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21799   SELECT f1;
21800 END//
21801 delimiter ;//
21803 CALL sp25(1.00e+00);
21805 --disable_warnings
21806 DROP PROCEDURE IF EXISTS sp26;
21807 --enable_warnings
21809 delimiter //;
21810 CREATE PROCEDURE sp26( f1 double unsigned)
21811 BEGIN
21812    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21813   SELECT f1;
21814 END//
21815 delimiter ;//
21817 CALL sp26(1.00e+00);
21819 --disable_warnings
21820 DROP PROCEDURE IF EXISTS sp27;
21821 --enable_warnings
21823 delimiter //;
21824 CREATE PROCEDURE sp27( f1 double unsigned zerofill)
21825 BEGIN
21826    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21827   SELECT f1;
21828 END//
21829 delimiter ;//
21831 CALL sp27(1.00e+00);
21833 --disable_warnings
21834 DROP PROCEDURE IF EXISTS sp28;
21835 --enable_warnings
21837 delimiter //;
21838 CREATE PROCEDURE sp28( f1 double zerofill)
21839 BEGIN
21840    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21841   SELECT f1;
21842 END//
21843 delimiter ;//
21845 CALL sp28(1.00e+00);
21847 --disable_warnings
21848 DROP PROCEDURE IF EXISTS sp29;
21849 --enable_warnings
21851 delimiter //;
21852 CREATE PROCEDURE sp29( f1 float)
21853 BEGIN
21854    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21855   SELECT f1;
21856 END//
21857 delimiter ;//
21859 CALL sp29(1.00e+00);
21861 --disable_warnings
21862 DROP PROCEDURE IF EXISTS sp30;
21863 --enable_warnings
21865 delimiter //;
21866 CREATE PROCEDURE sp30( f1 float unsigned)
21867 BEGIN
21868    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21869   SELECT f1;
21870 END//
21871 delimiter ;//
21873 CALL sp30(1.00e+00);
21875 --disable_warnings
21876 DROP PROCEDURE IF EXISTS sp31;
21877 --enable_warnings
21879 delimiter //;
21880 CREATE PROCEDURE sp31( f1 float unsigned zerofill)
21881 BEGIN
21882    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21883   SELECT f1;
21884 END//
21885 delimiter ;//
21887 CALL sp31(1.00e+00);
21889 --disable_warnings
21890 DROP PROCEDURE IF EXISTS sp32;
21891 --enable_warnings
21893 delimiter //;
21894 CREATE PROCEDURE sp32( f1 float zerofill)
21895 BEGIN
21896    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21897   SELECT f1;
21898 END//
21899 delimiter ;//
21901 CALL sp32(1.00e+00);
21903 --disable_warnings
21904 DROP PROCEDURE IF EXISTS sp33;
21905 --enable_warnings
21907 delimiter //;
21908 CREATE PROCEDURE sp33( f1 float(0))
21909 BEGIN
21910    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21911   SELECT f1;
21912 END//
21913 delimiter ;//
21915 CALL sp33(1.00e+00);
21917 --disable_warnings
21918 DROP PROCEDURE IF EXISTS sp34;
21919 --enable_warnings
21921 delimiter //;
21922 CREATE PROCEDURE sp34( f1 float(0) unsigned)
21923 BEGIN
21924    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21925   SELECT f1;
21926 END//
21927 delimiter ;//
21929 CALL sp34(1.00e+00);
21931 --disable_warnings
21932 DROP PROCEDURE IF EXISTS sp35;
21933 --enable_warnings
21935 delimiter //;
21936 CREATE PROCEDURE sp35( f1 float(0) unsigned zerofill)
21937 BEGIN
21938    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21939   SELECT f1;
21940 END//
21941 delimiter ;//
21943 CALL sp35(1.00e+00);
21945 --disable_warnings
21946 DROP PROCEDURE IF EXISTS sp36;
21947 --enable_warnings
21949 delimiter //;
21950 CREATE PROCEDURE sp36( f1 float(0) zerofill)
21951 BEGIN
21952    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21953   SELECT f1;
21954 END//
21955 delimiter ;//
21957 CALL sp36(1.00e+00);
21959 --disable_warnings
21960 DROP PROCEDURE IF EXISTS sp37;
21961 --enable_warnings
21963 delimiter //;
21964 CREATE PROCEDURE sp37( f1 float(23))
21965 BEGIN
21966    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21967   SELECT f1;
21968 END//
21969 delimiter ;//
21971 CALL sp37(1.00e+00);
21973 --disable_warnings
21974 DROP PROCEDURE IF EXISTS sp38;
21975 --enable_warnings
21977 delimiter //;
21978 CREATE PROCEDURE sp38( f1 float(23) unsigned)
21979 BEGIN
21980    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21981   SELECT f1;
21982 END//
21983 delimiter ;//
21985 CALL sp38(1.00e+00);
21987 --disable_warnings
21988 DROP PROCEDURE IF EXISTS sp39;
21989 --enable_warnings
21991 delimiter //;
21992 CREATE PROCEDURE sp39( f1 float(23) unsigned zerofill)
21993 BEGIN
21994    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
21995   SELECT f1;
21996 END//
21997 delimiter ;//
21999 CALL sp39(1.00e+00);
22001 --disable_warnings
22002 DROP PROCEDURE IF EXISTS sp40;
22003 --enable_warnings
22005 delimiter //;
22006 CREATE PROCEDURE sp40( f1 float(23) zerofill)
22007 BEGIN
22008    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22009   SELECT f1;
22010 END//
22011 delimiter ;//
22013 CALL sp40(1.00e+00);
22015 --disable_warnings
22016 DROP PROCEDURE IF EXISTS sp41;
22017 --enable_warnings
22019 delimiter //;
22020 CREATE PROCEDURE sp41( f1 float(24))
22021 BEGIN
22022    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22023   SELECT f1;
22024 END//
22025 delimiter ;//
22027 CALL sp41(1.00e+00);
22029 --disable_warnings
22030 DROP PROCEDURE IF EXISTS sp42;
22031 --enable_warnings
22033 delimiter //;
22034 CREATE PROCEDURE sp42( f1 float(24) unsigned)
22035 BEGIN
22036    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22037   SELECT f1;
22038 END//
22039 delimiter ;//
22041 CALL sp42(1.00e+00);
22043 --disable_warnings
22044 DROP PROCEDURE IF EXISTS sp43;
22045 --enable_warnings
22047 delimiter //;
22048 CREATE PROCEDURE sp43( f1 float(24) unsigned zerofill)
22049 BEGIN
22050    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22051   SELECT f1;
22052 END//
22053 delimiter ;//
22055 CALL sp43(1.00e+00);
22057 --disable_warnings
22058 DROP PROCEDURE IF EXISTS sp44;
22059 --enable_warnings
22061 delimiter //;
22062 CREATE PROCEDURE sp44( f1 float(24) zerofill)
22063 BEGIN
22064    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22065   SELECT f1;
22066 END//
22067 delimiter ;//
22069 CALL sp44(1.00e+00);
22071 --disable_warnings
22072 DROP PROCEDURE IF EXISTS sp45;
22073 --enable_warnings
22075 delimiter //;
22076 CREATE PROCEDURE sp45( f1 float(53))
22077 BEGIN
22078    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22079   SELECT f1;
22080 END//
22081 delimiter ;//
22083 CALL sp45(1.00e+00);
22085 --disable_warnings
22086 DROP PROCEDURE IF EXISTS sp46;
22087 --enable_warnings
22089 delimiter //;
22090 CREATE PROCEDURE sp46( f1 float(53) unsigned)
22091 BEGIN
22092    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22093   SELECT f1;
22094 END//
22095 delimiter ;//
22097 CALL sp46(1.00e+00);
22099 --disable_warnings
22100 DROP PROCEDURE IF EXISTS sp47;
22101 --enable_warnings
22103 delimiter //;
22104 CREATE PROCEDURE sp47( f1 float(53) unsigned zerofill)
22105 BEGIN
22106    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22107   SELECT f1;
22108 END//
22109 delimiter ;//
22111 CALL sp47(1.00e+00);
22113 --disable_warnings
22114 DROP PROCEDURE IF EXISTS sp48;
22115 --enable_warnings
22117 delimiter //;
22118 CREATE PROCEDURE sp48( f1 float(53) zerofill)
22119 BEGIN
22120    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22121   SELECT f1;
22122 END//
22123 delimiter ;//
22125 CALL sp48(1.00e+00);
22127 --disable_warnings
22128 DROP PROCEDURE IF EXISTS sp49;
22129 --enable_warnings
22131 delimiter //;
22132 CREATE PROCEDURE sp49( f1 int)
22133 BEGIN
22134    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22135   SELECT f1;
22136 END//
22137 delimiter ;//
22139 CALL sp49(-2.15e+09);
22141 --disable_warnings
22142 DROP PROCEDURE IF EXISTS sp50;
22143 --enable_warnings
22145 delimiter //;
22146 CREATE PROCEDURE sp50( f1 int unsigned)
22147 BEGIN
22148    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22149   SELECT f1;
22150 END//
22151 delimiter ;//
22153 CALL sp50(4.29e+09);
22155 --disable_warnings
22156 DROP PROCEDURE IF EXISTS sp51;
22157 --enable_warnings
22159 delimiter //;
22160 CREATE PROCEDURE sp51( f1 int unsigned zerofill)
22161 BEGIN
22162    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22163   SELECT f1;
22164 END//
22165 delimiter ;//
22167 CALL sp51(4.29e+09);
22169 --disable_warnings
22170 DROP PROCEDURE IF EXISTS sp52;
22171 --enable_warnings
22173 delimiter //;
22174 CREATE PROCEDURE sp52( f1 int zerofill)
22175 BEGIN
22176    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22177   SELECT f1;
22178 END//
22179 delimiter ;//
22181 CALL sp52(2.15e+08);
22183 --disable_warnings
22184 DROP PROCEDURE IF EXISTS sp53;
22185 --enable_warnings
22187 delimiter //;
22188 CREATE PROCEDURE sp53( f1 mediumint)
22189 BEGIN
22190    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22191   SELECT f1;
22192 END//
22193 delimiter ;//
22195 CALL sp53(-8388600);
22197 --disable_warnings
22198 DROP PROCEDURE IF EXISTS sp54;
22199 --enable_warnings
22201 delimiter //;
22202 CREATE PROCEDURE sp54( f1 mediumint unsigned)
22203 BEGIN
22204    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22205   SELECT f1;
22206 END//
22207 delimiter ;//
22209 CALL sp54(16777201);
22211 --disable_warnings
22212 DROP PROCEDURE IF EXISTS sp55;
22213 --enable_warnings
22215 delimiter //;
22216 CREATE PROCEDURE sp55( f1 mediumint unsigned zerofill)
22217 BEGIN
22218    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22219   SELECT f1;
22220 END//
22221 delimiter ;//
22223 CALL sp55(16777210);
22225 --disable_warnings
22226 DROP PROCEDURE IF EXISTS sp56;
22227 --enable_warnings
22229 delimiter //;
22230 CREATE PROCEDURE sp56( f1 mediumint zerofill)
22231 BEGIN
22232    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22233   SELECT f1;
22234 END//
22235 delimiter ;//
22237 CALL sp56(-8388601);
22239 --disable_warnings
22240 DROP PROCEDURE IF EXISTS sp57;
22241 --enable_warnings
22243 delimiter //;
22244 CREATE PROCEDURE sp57( f1 numeric)
22245 BEGIN
22246    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22247   SELECT f1;
22248 END//
22249 delimiter ;//
22251 CALL sp57(-999999999);
22253 --disable_warnings
22254 DROP PROCEDURE IF EXISTS sp58;
22255 --enable_warnings
22257 delimiter //;
22258 CREATE PROCEDURE sp58( f1 numeric (0))
22259 BEGIN
22260    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22261   SELECT f1;
22262 END//
22263 delimiter ;//
22265 CALL sp58(-999999999);
22267 --disable_warnings
22268 DROP PROCEDURE IF EXISTS sp59;
22269 --enable_warnings
22271 delimiter //;
22272 CREATE PROCEDURE sp59( f1 numeric (0) unsigned)
22273 BEGIN
22274    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22275   SELECT f1;
22276 END//
22277 delimiter ;//
22279 CALL sp59(9999999999);
22281 --disable_warnings
22282 DROP PROCEDURE IF EXISTS sp60;
22283 --enable_warnings
22285 delimiter //;
22286 CREATE PROCEDURE sp60( f1 numeric (0) unsigned zerofill)
22287 BEGIN
22288    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22289   SELECT f1;
22290 END//
22291 delimiter ;//
22293 CALL sp60(99999999);
22295 --disable_warnings
22296 DROP PROCEDURE IF EXISTS sp61;
22297 --enable_warnings
22299 delimiter //;
22300 CREATE PROCEDURE sp61( f1 numeric (0) zerofill)
22301 BEGIN
22302    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22303   SELECT f1;
22304 END//
22305 delimiter ;//
22307 CALL sp61(-99999999);
22309 --disable_warnings
22310 DROP PROCEDURE IF EXISTS sp62;
22311 --enable_warnings
22313 delimiter //;
22314 CREATE PROCEDURE sp62( f1 numeric (0, 0))
22315 BEGIN
22316    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22317   SELECT f1;
22318 END//
22319 delimiter ;//
22321 CALL sp62(-999999999);
22323 --disable_warnings
22324 DROP PROCEDURE IF EXISTS sp63;
22325 --enable_warnings
22327 delimiter //;
22328 CREATE PROCEDURE sp63( f1 numeric (0, 0) unsigned)
22329 BEGIN
22330    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22331   SELECT f1;
22332 END//
22333 delimiter ;//
22335 CALL sp63(9999999999);
22338 --disable_warnings
22339 DROP PROCEDURE IF EXISTS sp64;
22340 --enable_warnings
22342 delimiter //;
22343 CREATE PROCEDURE sp64( f1 numeric (0, 0) unsigned zerofill)
22344 BEGIN
22345    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22346   SELECT f1;
22347 END//
22348 delimiter ;//
22350 CALL sp64(99999999);
22353 --disable_warnings
22354 DROP PROCEDURE IF EXISTS sp65;
22355 --enable_warnings
22357 delimiter //;
22358 CREATE PROCEDURE sp65( f1 numeric (0, 0) zerofill)
22359 BEGIN
22360    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22361   SELECT f1;
22362 END//
22363 delimiter ;//
22365 CALL sp65(-99999999);
22368 --disable_warnings
22369 DROP PROCEDURE IF EXISTS sp66_n;
22370 --enable_warnings
22372 delimiter //;
22373 CREATE PROCEDURE sp66_n( f1 numeric (63, 30))
22374 BEGIN
22375    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22376   SELECT f1;
22377 END//
22378 delimiter ;//
22380 CALL sp66_n(-1e+36);
22381 eval CALL sp66_n( $minus_36 );
22383 --disable_warnings
22384 DROP PROCEDURE IF EXISTS sp67_nu;
22385 --enable_warnings
22387 delimiter //;
22388 CREATE PROCEDURE sp67_nu( f1 numeric (63, 30) unsigned)
22389 BEGIN
22390    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22391   SELECT f1;
22392 END//
22393 delimiter ;//
22395 CALL sp67_nu(1e+36);
22396 eval CALL sp67_nu( $plus_36 );
22399 --disable_warnings
22400 DROP PROCEDURE IF EXISTS sp68_nuz;
22401 --enable_warnings
22403 delimiter //;
22404 CREATE PROCEDURE sp68_nuz( f1 numeric (63, 30) unsigned zerofill)
22405 BEGIN
22406    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22407   SELECT f1;
22408 END//
22409 delimiter ;//
22411 CALL sp68_nuz(1e+36);
22412 eval CALL sp68_nuz( $plus_36 );
22415 --disable_warnings
22416 DROP PROCEDURE IF EXISTS sp69_n_z;
22417 --enable_warnings
22419 delimiter //;
22420 CREATE PROCEDURE sp69_n_z( f1 numeric (63, 30) zerofill)
22421 BEGIN
22422    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22423   SELECT f1;
22424 END//
22425 delimiter ;//
22427 CALL sp69_n_z(-1e+36);
22428 eval CALL sp69_n_z( $minus_36 );
22431 --disable_warnings
22432 DROP PROCEDURE IF EXISTS sp70_n;
22433 --enable_warnings
22435 delimiter //;
22436 CREATE PROCEDURE sp70_n( f1 numeric (64))
22437 BEGIN
22438    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22439   SELECT f1;
22440 END//
22441 delimiter ;//
22443 --disable_warnings
22444 CALL sp70_n(-1e+40);
22445 --enable_warnings
22446 eval CALL sp70_n( $minus_40 );
22449 --disable_warnings
22450 DROP PROCEDURE IF EXISTS sp71_nu;
22451 --enable_warnings
22453 delimiter //;
22454 CREATE PROCEDURE sp71_nu( f1 numeric (64) unsigned)
22455 BEGIN
22456    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22457   SELECT f1;
22458 END//
22459 delimiter ;//
22461 --disable_warnings
22462 CALL sp71_nu(1.00e+40);
22463 --enable_warnings
22464 eval CALL sp71_nu( $plus_40 );
22467 --disable_warnings
22468 DROP PROCEDURE IF EXISTS sp72_nuz;
22469 --enable_warnings
22471 delimiter //;
22472 CREATE PROCEDURE sp72_nuz( f1 numeric (64) unsigned zerofill)
22473 BEGIN
22474    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22475   SELECT f1;
22476 END//
22477 delimiter ;//
22479 --disable_warnings
22480 CALL sp72_nuz(1.00e+40);
22481 --enable_warnings
22482 eval CALL sp72_nuz( $plus_40 );
22485 --disable_warnings
22486 DROP PROCEDURE IF EXISTS sp73_n_z;
22487 --enable_warnings
22489 delimiter //;
22490 CREATE PROCEDURE sp73_n_z( f1 numeric (64) zerofill)
22491 BEGIN
22492    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22493   SELECT f1;
22494 END//
22495 delimiter ;//
22497 --disable_warnings
22498 CALL sp73_n_z(1.00e+40);
22499 --enable_warnings
22500 eval CALL sp73_n_z( $plus_40 );
22503 --disable_warnings
22504 DROP PROCEDURE IF EXISTS sp74;
22505 --enable_warnings
22507 delimiter //;
22508 CREATE PROCEDURE sp74( f1 numeric unsigned)
22509 BEGIN
22510    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22511   SELECT f1;
22512 END//
22513 delimiter ;//
22515 CALL sp74(999999999);
22517 --disable_warnings
22518 DROP PROCEDURE IF EXISTS sp75;
22519 --enable_warnings
22521 delimiter //;
22522 CREATE PROCEDURE sp75( f1 numeric unsigned zerofill)
22523 BEGIN
22524    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22525   SELECT f1;
22526 END//
22527 delimiter ;//
22529 CALL sp75(999999999);
22531 --disable_warnings
22532 DROP PROCEDURE IF EXISTS sp76;
22533 --enable_warnings
22535 delimiter //;
22536 CREATE PROCEDURE sp76( f1 numeric zerofill)
22537 BEGIN
22538    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22539   SELECT f1;
22540 END//
22541 delimiter ;//
22543 CALL sp76(-999999999);
22545 --disable_warnings
22546 DROP PROCEDURE IF EXISTS sp77;
22547 --enable_warnings
22549 delimiter //;
22550 CREATE PROCEDURE sp77( f1 real)
22551 BEGIN
22552    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22553   SELECT f1;
22554 END//
22555 delimiter ;//
22557 CALL sp77(1.1);
22559 --disable_warnings
22560 DROP PROCEDURE IF EXISTS sp78;
22561 --enable_warnings
22563 delimiter //;
22564 CREATE PROCEDURE sp78( f1 real unsigned)
22565 BEGIN
22566    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22567   SELECT f1;
22568 END//
22569 delimiter ;//
22571 CALL sp78(1.1);
22573 --disable_warnings
22574 DROP PROCEDURE IF EXISTS sp79;
22575 --enable_warnings
22577 delimiter //;
22578 CREATE PROCEDURE sp79( f1 real unsigned zerofill)
22579 BEGIN
22580    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22581   SELECT f1;
22582 END//
22583 delimiter ;//
22585 CALL sp79(1.1);
22587 --disable_warnings
22588 DROP PROCEDURE IF EXISTS sp80;
22589 --enable_warnings
22591 delimiter //;
22592 CREATE PROCEDURE sp80( f1 real zerofill)
22593 BEGIN
22594    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22595   SELECT f1;
22596 END//
22597 delimiter ;//
22599 CALL sp80(1.1);
22601 --disable_warnings
22602 DROP PROCEDURE IF EXISTS sp81;
22603 --enable_warnings
22605 delimiter //;
22606 CREATE PROCEDURE sp81( f1 smallint)
22607 BEGIN
22608    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22609   SELECT f1;
22610 END//
22611 delimiter ;//
22613 CALL sp81(-32701);
22615 --disable_warnings
22616 DROP PROCEDURE IF EXISTS sp82;
22617 --enable_warnings
22619 delimiter //;
22620 CREATE PROCEDURE sp82( f1 smallint unsigned)
22621 BEGIN
22622    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22623   SELECT f1;
22624 END//
22625 delimiter ;//
22627 CALL sp82(65531);
22629 --disable_warnings
22630 DROP PROCEDURE IF EXISTS sp83;
22631 --enable_warnings
22633 delimiter //;
22634 CREATE PROCEDURE sp83( f1 smallint unsigned zerofill)
22635 BEGIN
22636    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22637   SELECT f1;
22638 END//
22639 delimiter ;//
22641 CALL sp83(65531);
22643 --disable_warnings
22644 DROP PROCEDURE IF EXISTS sp84;
22645 --enable_warnings
22647 delimiter //;
22648 CREATE PROCEDURE sp84( f1 smallint zerofill)
22649 BEGIN
22650    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22651   SELECT f1;
22652 END//
22653 delimiter ;//
22655 CALL sp84(-32601);
22657 --disable_warnings
22658 DROP PROCEDURE IF EXISTS sp85;
22659 --enable_warnings
22661 delimiter //;
22662 CREATE PROCEDURE sp85( f1 tinyint)
22663 BEGIN
22664    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22665   SELECT f1;
22666 END//
22667 delimiter ;//
22669 CALL sp85(-115);
22671 --disable_warnings
22672 DROP PROCEDURE IF EXISTS sp86;
22673 --enable_warnings
22675 delimiter //;
22676 CREATE PROCEDURE sp86( f1 tinyint unsigned)
22677 BEGIN
22678    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22679   SELECT f1;
22680 END//
22681 delimiter ;//
22683 CALL sp86(251);
22685 --disable_warnings
22686 DROP PROCEDURE IF EXISTS sp87;
22687 --enable_warnings
22689 delimiter //;
22690 CREATE PROCEDURE sp87( f1 tinyint unsigned zerofill)
22691 BEGIN
22692    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22693   SELECT f1;
22694 END//
22695 delimiter ;//
22697 CALL sp87(201);
22699 --disable_warnings
22700 DROP PROCEDURE IF EXISTS sp88;
22701 --enable_warnings
22703 delimiter //;
22704 CREATE PROCEDURE sp88( f1 tinyint zerofill)
22705 BEGIN
22706    set f1 = (f1 / 2); set f1 = (f1 * 2); set f1 = (f1 - 10); set f1 = (f1 + 10);
22707   SELECT f1;
22708 END//
22709 delimiter ;//
22711 CALL sp88(-101);
22713 --disable_warnings
22714 DROP PROCEDURE IF EXISTS sp89;
22715 --enable_warnings
22717 delimiter //;
22718 CREATE PROCEDURE sp89( f1 enum('1enum', '2enum'))
22719 BEGIN
22720  IF f1 = '1enum' THEN set f1 = '2enum'; ELSE  set f1 = '1enum'; END IF;
22721 END//
22722 delimiter ;//
22724 CALL sp89( '1enum');
22726 --disable_warnings
22727 DROP PROCEDURE IF EXISTS sp90;
22728 --enable_warnings
22730 delimiter //;
22731 CREATE PROCEDURE sp90( f1 set('1set', '2set'))
22732 BEGIN
22733  IF f1 = '1set' THEN  set f1 = '2set';  ELSE set f1 = '1set'; END IF;
22734 END//
22735 delimiter ;//
22737 CALL sp90( '1set');
22739 --disable_warnings
22740 DROP PROCEDURE IF EXISTS sp91;
22741 --enable_warnings
22743 delimiter //;
22744 CREATE PROCEDURE sp91( f1 date)
22745 BEGIN
22746   set f1 = adddate(f1, interval 31 day);
22747   SELECT f1;
22748 END//
22749 delimiter ;//
22751 CALL sp91( '1997-12-31');
22753 --disable_warnings
22754 DROP PROCEDURE IF EXISTS sp92;
22755 --enable_warnings
22757 delimiter //;
22758 CREATE PROCEDURE sp92( f1 time)
22759 BEGIN
22760   set f1 = addtime(f1, '02:00:00.999998');
22761   SELECT f1;
22762 END//
22763 delimiter ;//
22765 CALL sp92( '23:59:59.999999');
22767 --disable_warnings
22768 DROP PROCEDURE IF EXISTS sp93;
22769 --enable_warnings
22771 delimiter //;
22772 CREATE PROCEDURE sp93( f1 datetime)
22773 BEGIN
22774   set f1 = addtime(f1, '1 1:1:1.000002');
22775   SELECT f1;
22776 END//
22777 delimiter ;//
22779 CALL sp93('1997-12-31 23:59:59.999999');
22781 --disable_warnings
22782 DROP PROCEDURE IF EXISTS sp94;
22783 --enable_warnings
22785 delimiter //;
22786 CREATE PROCEDURE sp94( f1 char)
22787 BEGIN
22788   set f1 = concat('a', f1);
22789   SELECT f1;
22790 END//
22791 delimiter ;//
22793 CALL sp94( 'h');
22795 --disable_warnings
22796 DROP PROCEDURE IF EXISTS sp95;
22797 --enable_warnings
22799 delimiter //;
22800 CREATE PROCEDURE sp95( f1 char ascii)
22801 BEGIN
22802   set f1 = concat('a', f1);
22803   SELECT f1;
22804 END//
22805 delimiter ;//
22807 CALL sp95( 'h');
22810 --disable_warnings
22811 DROP PROCEDURE IF EXISTS sp96;
22812 --enable_warnings
22814 delimiter //;
22815 CREATE PROCEDURE sp96( f1 char binary)
22816 BEGIN
22817   set f1 = concat('a', f1);
22818   SELECT f1;
22819 END//
22820 delimiter ;//
22822 CALL sp96( 'h');
22825 --disable_warnings
22826 DROP PROCEDURE IF EXISTS sp97;
22827 --enable_warnings
22829 delimiter //;
22830 CREATE PROCEDURE sp97( f1 longtext)
22831 BEGIN
22832   set f1 = concat('hello', f1);
22833   SELECT f1;
22834 END//
22835 delimiter ;//
22837 CALL sp97( 'world');
22839 --disable_warnings
22840 DROP PROCEDURE IF EXISTS sp98;
22841 --enable_warnings
22843 delimiter //;
22844 CREATE PROCEDURE sp98( f1 mediumtext)
22845 BEGIN
22846   set f1 = concat('hello', f1);
22847   SELECT f1;
22848 END//
22849 delimiter ;//
22851 CALL sp98( 'world');
22853 --disable_warnings
22854 DROP PROCEDURE IF EXISTS sp99;
22855 --enable_warnings
22857 delimiter //;
22858 CREATE PROCEDURE sp99( f1 text)
22859 BEGIN
22860   set f1 = concat('hello', f1);
22861   SELECT f1;
22862 END//
22863 delimiter ;//
22865 CALL sp99( 'world');
22867 --disable_warnings
22868 DROP PROCEDURE IF EXISTS sp100;
22869 --enable_warnings
22871 delimiter //;
22872 CREATE PROCEDURE sp100( f1 tinytext)
22873 BEGIN
22874   set f1 = concat('hello', f1);
22875   SELECT f1;
22876 END//
22877 delimiter ;//
22879 CALL sp100( 'world');
22881 --disable_warnings
22882 DROP PROCEDURE IF EXISTS sp101;
22883 --enable_warnings
22885 delimiter //;
22886 CREATE PROCEDURE sp101( f1 year)
22887 BEGIN
22888   set f1 = f1 + 10;
22889   SELECT f1;
22890 END//
22891 delimiter ;//
22893 CALL sp101(51);
22895 --disable_warnings
22896 DROP PROCEDURE IF EXISTS sp102;
22897 --enable_warnings
22899 delimiter //;
22900 CREATE PROCEDURE sp102( f1 year(4))
22901 BEGIN
22902   set f1 = f1 + 51;
22903   SELECT f1;
22904 END//
22905 delimiter ;//
22907 CALL sp102(1982);
22909 --disable_warnings
22910 DROP PROCEDURE IF EXISTS sp103;
22911 --enable_warnings
22913 delimiter //;
22914 CREATE PROCEDURE sp103( f1 geometrycollection)
22915 BEGIN
22916   set f1 = f1;
22917   SELECT f1;
22918 END//
22919 delimiter ;//
22921 CALL sp103('\0\0\0\0\x01\x03\0\0\0\x02\0\0\0\x05\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?\x05\0\0\0\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@');
22923 --disable_warnings
22924 DROP PROCEDURE IF EXISTS sp104;
22925 --enable_warnings
22927 delimiter //;
22928 CREATE PROCEDURE sp104( f1 linestring)
22929 BEGIN
22930   set f1 = f1;
22931   SELECT f1;
22932 END//
22933 delimiter ;//
22935 CALL sp104('\0\0\0\0\x01\x02\0\0\0\x03\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\b@\0\0\0\0\0\0\b@');
22937 --disable_warnings
22938 DROP PROCEDURE IF EXISTS sp105;
22939 --enable_warnings
22941 delimiter //;
22942 CREATE PROCEDURE sp105( f1 point)
22943 BEGIN
22944   set f1 = f1;
22945   SELECT f1;
22946 END//
22947 delimiter ;//
22949 CALL sp105('\0\0\0\0\x01\x01\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@');
22951 --disable_warnings
22952 DROP PROCEDURE IF EXISTS sp106;
22953 --enable_warnings
22955 delimiter //;
22956 CREATE PROCEDURE sp106( f1 polygon)
22957 BEGIN
22958   set f1 = f1;
22959   SELECT f1;
22960 END//
22961 delimiter ;//
22963 CALL sp106('\0\0\0\0\x01\x03\0\0\0\x02\0\0\0\x05\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?\x05\0\0\0\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0 @\0\0\0\0\0\0\x18@\0\0\0\0\0\0\x18@');
22965 --disable_warnings
22966 DROP PROCEDURE IF EXISTS sp107;
22967 --enable_warnings
22969 delimiter //;
22970 CREATE PROCEDURE sp107( f1 timestamp)
22971 BEGIN
22972   set f1 = now() + 0 + f1;
22973   SELECT f1;
22974 END//
22975 delimiter ;//
22977 --replace_column 1 returned
22978 CALL sp107(2.00e+13);
22980 USE db_storedproc;
22981 DROP DATABASE db1;
22984 # ==============================================================================
22985 # test plan section: 4.5 - parameter checks - multiple data types in stored procedure and functions
22986 # ==============================================================================
22988 --disable_warnings
22989 DROP DATABASE IF EXISTS db1;
22990 --enable_warnings
22992 CREATE DATABASE db1;
22993 USE db1;
22995 --disable_warnings
22996 DROP PROCEDURE IF EXISTS sp1;
22997 delimiter //;
22998 CREATE 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))
23001 BEGIN
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;
23007 END//
23008 delimiter ;//
23010 DROP PROCEDURE IF EXISTS spexecute01;
23011 delimiter //;
23012 CREATE PROCEDURE spexecute01()
23013 BEGIN
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;
23028 END//
23029 delimiter ;//
23031 CALL spexecute01();
23032 DROP PROCEDURE spexecute01;
23033 DROP PROCEDURE sp1;
23036 DROP PROCEDURE IF EXISTS sp2;
23037 delimiter //;
23038 CREATE 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)
23041 BEGIN
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;
23047 END//
23048 delimiter ;//
23050 DROP PROCEDURE IF EXISTS spexecute02;
23051 delimiter //;
23052 CREATE PROCEDURE spexecute02()
23053 BEGIN
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;
23068 END//
23069 delimiter ;//
23071 CALL spexecute02();
23072 DROP PROCEDURE spexecute02;
23073 DROP PROCEDURE sp2;
23076 DROP PROCEDURE IF EXISTS sp3;
23077 delimiter //;
23078 CREATE 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)
23082 BEGIN
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;
23088 END//
23089 delimiter ;//
23091 DROP PROCEDURE IF EXISTS spexecute03;
23092 delimiter //;
23093 CREATE PROCEDURE spexecute03()
23094 BEGIN
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;
23109 END//
23110 delimiter ;//
23112 CALL spexecute03();
23114 DROP PROCEDURE spexecute03;
23115 DROP PROCEDURE sp3;
23118 DROP PROCEDURE IF EXISTS sp4;
23119 delimiter //;
23120 CREATE 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)
23124 BEGIN
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;
23138 END//
23139 delimiter ;//
23141 DROP PROCEDURE IF EXISTS spexecute04;
23142 delimiter //;
23143 CREATE PROCEDURE spexecute04()
23144 BEGIN
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;
23159 END//
23160 delimiter ;//
23162 CALL spexecute04();
23163 DROP PROCEDURE spexecute04;
23164 DROP PROCEDURE sp4;
23166 # sp5 removed
23168 DROP PROCEDURE IF EXISTS sp6;
23169 delimiter //;
23170 CREATE 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)
23171 BEGIN
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;
23177 END//
23178 delimiter ;//
23180 DROP PROCEDURE IF EXISTS spexecute06;
23181 delimiter //;
23182 CREATE PROCEDURE spexecute06()
23183 BEGIN
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);
23197 END//
23198 delimiter ;//
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
23201 CALL spexecute06();
23202 DROP PROCEDURE spexecute06;
23203 DROP PROCEDURE sp6;
23206 DROP PROCEDURE IF EXISTS sp07;
23207 delimiter //;
23208 CREATE 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)
23220 BEGIN
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;
23242 END//
23243 delimiter ;//
23245 DROP PROCEDURE IF EXISTS spexecute07;
23246 delimiter //;
23247 CREATE PROCEDURE spexecute07()
23248 BEGIN
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;
23271 END//
23272 delimiter ;//
23274 CALL spexecute07();
23275 DROP PROCEDURE spexecute07;
23276 DROP PROCEDURE sp07;
23279 DROP PROCEDURE IF EXISTS sp8;
23280 delimiter //;
23281 CREATE 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)
23293 BEGIN
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;
23307 END//
23308 delimiter ;//
23310 DROP PROCEDURE IF EXISTS spexecute08;
23311 delimiter //;
23312 CREATE PROCEDURE spexecute08()
23313 BEGIN
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;
23329 END//
23330 delimiter ;//
23332 CALL spexecute08();
23333 DROP PROCEDURE spexecute08;
23334 DROP PROCEDURE sp8;
23337 DROP PROCEDURE IF EXISTS sp9;
23338 delimiter //;
23339 CREATE 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)
23351 BEGIN
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;
23366 END//
23367 delimiter ;//
23369 DROP PROCEDURE IF EXISTS spexecute09;
23370 delimiter //;
23371 CREATE PROCEDURE spexecute09()
23372 BEGIN
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;
23387 END//
23388 delimiter ;//
23390 CALL spexecute09();
23391 DROP PROCEDURE spexecute09;
23392 DROP PROCEDURE sp9;
23395 DROP PROCEDURE IF EXISTS sp10;
23396 delimiter //;
23397 CREATE 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)
23409 BEGIN
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;
23416 END//
23417 delimiter ;//
23419 DROP PROCEDURE IF EXISTS spexecute10;
23420 delimiter //;
23421 CREATE PROCEDURE spexecute10()
23422 BEGIN
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;
23437 END//
23438 delimiter ;//
23440 CALL spexecute10();
23441 DROP PROCEDURE spexecute10;
23442 DROP PROCEDURE sp10;
23445 DROP PROCEDURE IF EXISTS sp11;
23446 delimiter //;
23447 CREATE 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)
23448 BEGIN
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;
23455 END//
23456 delimiter ;//
23458 DROP PROCEDURE IF EXISTS spexecute11;
23459 delimiter //;
23460 CREATE PROCEDURE spexecute11()
23461 BEGIN
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;
23476 END//
23477 delimiter ;//
23479 CALL spexecute11();
23480 DROP PROCEDURE spexecute11;
23481 DROP PROCEDURE sp11;
23484 DROP PROCEDURE IF EXISTS sp12;
23485 delimiter //;
23486 CREATE 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)
23487 BEGIN
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;
23494 END//
23495 delimiter ;//
23497 DROP PROCEDURE IF EXISTS spexecute12;
23498 delimiter //;
23499 CREATE PROCEDURE spexecute12()
23500 BEGIN
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;
23515 END//
23516 delimiter ;//
23518 CALL spexecute12();
23519 DROP PROCEDURE spexecute12;
23520 DROP PROCEDURE sp12;
23523 DROP PROCEDURE IF EXISTS sp13;
23524 delimiter //;
23525 CREATE 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)
23526 BEGIN
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;
23533 END//
23534 delimiter ;//
23536 DROP PROCEDURE IF EXISTS spexecute13;
23537 delimiter //;
23538 CREATE PROCEDURE spexecute13()
23539 BEGIN
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;
23554 END//
23555 delimiter ;//
23557 CALL spexecute13();
23558 DROP PROCEDURE spexecute13;
23559 DROP PROCEDURE sp13;
23562 DROP PROCEDURE IF EXISTS sp14;
23563 delimiter //;
23564 CREATE 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)
23565 BEGIN
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;
23572 END//
23573 delimiter ;//
23575 DROP PROCEDURE IF EXISTS spexecute14;
23576 delimiter //;
23577 CREATE PROCEDURE spexecute14()
23578 BEGIN
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;
23593 END//
23594 delimiter ;//
23596 CALL spexecute14();
23597 DROP PROCEDURE spexecute14;
23598 DROP PROCEDURE sp14;
23601 DROP PROCEDURE IF EXISTS sp15;
23602 delimiter //;
23603 CREATE 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)
23604 BEGIN
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;
23610 END//
23611 delimiter ;//
23613 DROP PROCEDURE IF EXISTS spexecute15;
23614 delimiter //;
23615 CREATE PROCEDURE spexecute15()
23616 BEGIN
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;
23631 END//
23632 delimiter ;//
23634 CALL spexecute15();
23635 DROP PROCEDURE spexecute15;
23636 DROP PROCEDURE sp15;
23639 DROP PROCEDURE IF EXISTS sp16;
23640 delimiter //;
23641 CREATE 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)
23642 BEGIN
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;
23648 END//
23649 delimiter ;//
23651 DROP PROCEDURE IF EXISTS spexecute16;
23652 delimiter //;
23653 CREATE PROCEDURE spexecute16()
23654 BEGIN
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;
23669 END//
23670 delimiter ;//
23672 CALL spexecute16();
23673 DROP PROCEDURE spexecute16;
23674 DROP PROCEDURE sp16;
23677 DROP PROCEDURE IF EXISTS sp17;
23678 delimiter //;
23679 CREATE 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)
23680 BEGIN
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;
23686 END//
23687 delimiter ;//
23689 DROP PROCEDURE IF EXISTS spexecute17;
23690 delimiter //;
23691 CREATE PROCEDURE spexecute17()
23692 BEGIN
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;
23707 END//
23708 delimiter ;//
23710 CALL spexecute17();
23711 DROP PROCEDURE spexecute17;
23712 DROP PROCEDURE sp17;
23715 DROP PROCEDURE IF EXISTS sp18;
23716 delimiter //;
23717 CREATE 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)
23718 BEGIN
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;
23724 END//
23725 delimiter ;//
23727 DROP PROCEDURE IF EXISTS spexecute18;
23728 delimiter //;
23729 CREATE PROCEDURE spexecute18()
23730 BEGIN
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;
23745 END//
23746 delimiter ;//
23748 CALL spexecute18();
23749 DROP PROCEDURE spexecute18;
23750 DROP PROCEDURE sp18;
23753 DROP PROCEDURE IF EXISTS sp19;
23754 delimiter //;
23755 CREATE 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)
23756 BEGIN
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;
23762 END//
23763 delimiter ;//
23765 DROP PROCEDURE IF EXISTS spexecute19;
23766 delimiter //;
23767 CREATE PROCEDURE spexecute19()
23768 BEGIN
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;
23783 END//
23784 delimiter ;//
23786 CALL spexecute19();
23787 DROP PROCEDURE spexecute19;
23788 DROP PROCEDURE sp19;
23791 DROP PROCEDURE IF EXISTS sp20;
23792 delimiter //;
23793 CREATE 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)
23794 BEGIN
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;
23800 END//
23801 delimiter ;//
23803 DROP PROCEDURE IF EXISTS spexecute20;
23804 delimiter //;
23805 CREATE PROCEDURE spexecute20()
23806 BEGIN
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;
23821 END//
23822 delimiter ;//
23824 CALL spexecute20();
23825 DROP PROCEDURE spexecute20;
23826 DROP PROCEDURE sp20;
23829 DROP PROCEDURE IF EXISTS sp21;
23830 delimiter //;
23831 CREATE 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)
23832 BEGIN
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;
23838 END//
23839 delimiter ;//
23841 DROP PROCEDURE IF EXISTS spexecute21;
23842 delimiter //;
23843 CREATE PROCEDURE spexecute21()
23844 BEGIN
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;
23859 END//
23860 delimiter ;//
23862 CALL spexecute21();
23863 DROP PROCEDURE spexecute21;
23864 DROP PROCEDURE sp21;
23867 DROP PROCEDURE IF EXISTS sp22;
23868 delimiter //;
23869 CREATE 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)
23870 BEGIN
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;
23876 END//
23877 delimiter ;//
23879 DROP PROCEDURE IF EXISTS spexecute22;
23880 delimiter //;
23881 CREATE PROCEDURE spexecute22()
23882 BEGIN
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;
23897 END//
23898 delimiter ;//
23900 CALL spexecute22();
23901 DROP PROCEDURE spexecute22;
23902 DROP PROCEDURE sp22;
23905 DROP PROCEDURE IF EXISTS sp23;
23906 delimiter //;
23907 CREATE 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)
23908 BEGIN
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;
23914 END//
23915 delimiter ;//
23917 DROP PROCEDURE IF EXISTS spexecute23;
23918 delimiter //;
23919 CREATE PROCEDURE spexecute23()
23920 BEGIN
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;
23935 END//
23936 delimiter ;//
23938 CALL spexecute23();
23939 DROP PROCEDURE spexecute23;
23940 DROP PROCEDURE sp23;
23943 DROP PROCEDURE IF EXISTS sp24;
23944 delimiter //;
23945 CREATE 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)
23946 BEGIN
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;
23952 END//
23953 delimiter ;//
23955 DROP PROCEDURE IF EXISTS spexecute24;
23956 delimiter //;
23957 CREATE PROCEDURE spexecute24()
23958 BEGIN
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;
23973 END//
23974 delimiter ;//
23976 CALL spexecute24();
23977 DROP PROCEDURE spexecute24;
23978 DROP PROCEDURE sp24;
23981 DROP PROCEDURE IF EXISTS sp25;
23982 delimiter //;
23983 CREATE 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)
23984 BEGIN
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;
23990 END//
23991 delimiter ;//
23993 DROP PROCEDURE IF EXISTS spexecute25;
23994 delimiter //;
23995 CREATE PROCEDURE spexecute25()
23996 BEGIN
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;
24011 END//
24012 delimiter ;//
24014 CALL spexecute25();
24015 DROP PROCEDURE spexecute25;
24016 DROP PROCEDURE sp25;
24019 DROP PROCEDURE IF EXISTS sp26;
24020 delimiter //;
24021 CREATE 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)
24022 BEGIN
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;
24028 END//
24029 delimiter ;//
24031 DROP PROCEDURE IF EXISTS spexecute26;
24032 delimiter //;
24033 CREATE PROCEDURE spexecute26()
24034 BEGIN
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;
24049 END//
24050 delimiter ;//
24052 CALL spexecute26();
24053 DROP PROCEDURE spexecute26;
24054 DROP PROCEDURE sp26;
24057 DROP PROCEDURE IF EXISTS sp27;
24058 delimiter //;
24059 CREATE 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)
24060 BEGIN
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;
24066 END//
24067 delimiter ;//
24069 DROP PROCEDURE IF EXISTS spexecute27;
24070 delimiter //;
24071 CREATE PROCEDURE spexecute27()
24072 BEGIN
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;
24087 END//
24088 delimiter ;//
24090 CALL spexecute27();
24091 DROP PROCEDURE spexecute27;
24092 DROP PROCEDURE sp27;
24095 DROP PROCEDURE IF EXISTS sp28;
24096 delimiter //;
24097 CREATE 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)
24098 BEGIN
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;
24104 END//
24105 delimiter ;//
24107 DROP PROCEDURE IF EXISTS spexecute28;
24108 delimiter //;
24109 CREATE PROCEDURE spexecute28()
24110 BEGIN
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;
24125 END//
24126 delimiter ;//
24128 CALL spexecute28();
24129 DROP PROCEDURE spexecute28;
24130 DROP PROCEDURE sp28;
24133 DROP PROCEDURE IF EXISTS sp29;
24134 delimiter //;
24135 CREATE 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)
24136 BEGIN
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;
24142 END//
24143 delimiter ;//
24145 DROP PROCEDURE IF EXISTS spexecute29;
24146 delimiter //;
24147 CREATE PROCEDURE spexecute29()
24148 BEGIN
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;
24163 END//
24164 delimiter ;//
24166 CALL spexecute29();
24167 DROP PROCEDURE spexecute29;
24168 DROP PROCEDURE sp29;
24171 DROP PROCEDURE IF EXISTS sp30;
24172 delimiter //;
24173 CREATE 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)
24174 BEGIN
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;
24180 END//
24181 delimiter ;//
24183 DROP PROCEDURE IF EXISTS spexecute30;
24184 delimiter //;
24185 CREATE PROCEDURE spexecute30()
24186 BEGIN
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;
24201 END//
24202 delimiter ;//
24204 CALL spexecute30();
24205 DROP PROCEDURE spexecute30;
24206 DROP PROCEDURE sp30;
24209 DROP PROCEDURE IF EXISTS sp31;
24210 delimiter //;
24211 CREATE 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)
24212 BEGIN
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;
24218 END//
24219 delimiter ;//
24221 DROP PROCEDURE IF EXISTS spexecute31;
24222 delimiter //;
24223 CREATE PROCEDURE spexecute31()
24224 BEGIN
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;
24239 END//
24240 delimiter ;//
24242 CALL spexecute31();
24243 DROP PROCEDURE spexecute31;
24244 DROP PROCEDURE sp31;
24247 DROP PROCEDURE IF EXISTS sp32;
24248 delimiter //;
24249 CREATE 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)
24250 BEGIN
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;
24256 END//
24257 delimiter ;//
24259 DROP PROCEDURE IF EXISTS spexecute32;
24260 delimiter //;
24261 CREATE PROCEDURE spexecute32()
24262 BEGIN
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;
24277 END//
24278 delimiter ;//
24280 CALL spexecute32();
24281 DROP PROCEDURE spexecute32;
24282 DROP PROCEDURE sp32;
24285 DROP PROCEDURE IF EXISTS sp33;
24286 delimiter //;
24287 CREATE 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)
24288 BEGIN
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;
24294 END//
24295 delimiter ;//
24297 DROP PROCEDURE IF EXISTS spexecute33;
24298 delimiter //;
24299 CREATE PROCEDURE spexecute33()
24300 BEGIN
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;
24315 END//
24316 delimiter ;//
24318 CALL spexecute33();
24319 DROP PROCEDURE spexecute33;
24320 DROP PROCEDURE sp33;
24323 DROP PROCEDURE IF EXISTS sp34;
24324 delimiter //;
24325 CREATE 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)
24326 BEGIN
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;
24332 END//
24333 delimiter ;//
24335 DROP PROCEDURE IF EXISTS spexecute34;
24336 delimiter //;
24337 CREATE PROCEDURE spexecute34()
24338 BEGIN
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;
24353 END//
24354 delimiter ;//
24356 CALL spexecute34();
24357 DROP PROCEDURE spexecute34;
24358 DROP PROCEDURE sp34;
24361 DROP PROCEDURE IF EXISTS sp35;
24362 delimiter //;
24363 CREATE 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)
24364 BEGIN
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;
24370 END//
24371 delimiter ;//
24373 DROP PROCEDURE IF EXISTS spexecute35;
24374 delimiter //;
24375 CREATE PROCEDURE spexecute35()
24376 BEGIN
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;
24391 END//
24392 delimiter ;//
24394 CALL spexecute35();
24395 DROP PROCEDURE spexecute35;
24396 DROP PROCEDURE sp35;
24399 DROP PROCEDURE IF EXISTS sp36;
24400 delimiter //;
24401 CREATE 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)
24402 BEGIN
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;
24408 END//
24409 delimiter ;//
24411 DROP PROCEDURE IF EXISTS spexecute36;
24412 delimiter //;
24413 CREATE PROCEDURE spexecute36()
24414 BEGIN
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;
24429 END//
24430 delimiter ;//
24432 CALL spexecute36();
24433 DROP PROCEDURE spexecute36;
24434 DROP PROCEDURE sp36;
24437 DROP PROCEDURE IF EXISTS sp37;
24438 delimiter //;
24439 CREATE 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)
24440 BEGIN
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;
24446 END//
24447 delimiter ;//
24449 DROP PROCEDURE IF EXISTS spexecute37;
24450 delimiter //;
24451 CREATE PROCEDURE spexecute37()
24452 BEGIN
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;
24467 END//
24468 delimiter ;//
24470 CALL spexecute37();
24471 DROP PROCEDURE spexecute37;
24472 DROP PROCEDURE sp37;
24475 DROP PROCEDURE IF EXISTS sp38;
24476 delimiter //;
24477 CREATE 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)
24478 BEGIN
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;
24484 END//
24485 delimiter ;//
24487 DROP PROCEDURE IF EXISTS spexecute38;
24488 delimiter //;
24489 CREATE PROCEDURE spexecute38()
24490 BEGIN
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;
24505 END//
24506 delimiter ;//
24508 CALL spexecute38();
24509 DROP PROCEDURE spexecute38;
24510 DROP PROCEDURE sp38;
24513 DROP PROCEDURE IF EXISTS sp39;
24514 delimiter //;
24515 CREATE 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)
24516 BEGIN
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;
24522 END//
24523 delimiter ;//
24525 DROP PROCEDURE IF EXISTS spexecute39;
24526 delimiter //;
24527 CREATE PROCEDURE spexecute39()
24528 BEGIN
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;
24543 END//
24544 delimiter ;//
24546 CALL spexecute39();
24547 DROP PROCEDURE spexecute39;
24548 DROP PROCEDURE sp39;
24551 DROP PROCEDURE IF EXISTS sp40;
24552 delimiter //;
24553 CREATE 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)
24554 BEGIN
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;
24560 END//
24561 delimiter ;//
24563 DROP PROCEDURE IF EXISTS spexecute40;
24564 delimiter //;
24565 CREATE PROCEDURE spexecute40()
24566 BEGIN
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;
24581 END//
24582 delimiter ;//
24584 CALL spexecute40();
24585 DROP PROCEDURE spexecute40;
24586 DROP PROCEDURE sp40;
24589 DROP PROCEDURE IF EXISTS sp41;
24590 delimiter //;
24591 CREATE 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)
24592 BEGIN
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;
24598 END//
24599 delimiter ;//
24601 DROP PROCEDURE IF EXISTS spexecute41;
24602 delimiter //;
24603 CREATE PROCEDURE spexecute41()
24604 BEGIN
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;
24619 END//
24620 delimiter ;//
24622 CALL spexecute41();
24623 DROP PROCEDURE spexecute41;
24624 DROP PROCEDURE sp41;
24627 DROP PROCEDURE IF EXISTS sp42;
24628 delimiter //;
24629 CREATE 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)
24630 BEGIN
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;
24636 END//
24637 delimiter ;//
24639 DROP PROCEDURE IF EXISTS spexecute42;
24640 delimiter //;
24641 CREATE PROCEDURE spexecute42()
24642 BEGIN
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;
24657 END//
24658 delimiter ;//
24660 CALL spexecute42();
24661 DROP PROCEDURE spexecute42;
24662 DROP PROCEDURE sp42;
24665 DROP PROCEDURE IF EXISTS sp43;
24666 delimiter //;
24667 CREATE 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)
24668 BEGIN
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;
24674 END//
24675 delimiter ;//
24677 DROP PROCEDURE IF EXISTS spexecute43;
24678 delimiter //;
24679 CREATE PROCEDURE spexecute43()
24680 BEGIN
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;
24695 END//
24696 delimiter ;//
24698 CALL spexecute43();
24699 DROP PROCEDURE spexecute43;
24700 DROP PROCEDURE sp43;
24703 DROP PROCEDURE IF EXISTS sp44;
24704 delimiter //;
24705 CREATE 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)
24706 BEGIN
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;
24712 END//
24713 delimiter ;//
24715 DROP PROCEDURE IF EXISTS spexecute44;
24716 delimiter //;
24717 CREATE PROCEDURE spexecute44()
24718 BEGIN
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;
24733 END//
24734 delimiter ;//
24736 CALL spexecute44();
24737 DROP PROCEDURE spexecute44;
24738 DROP PROCEDURE sp44;
24741 DROP PROCEDURE IF EXISTS sp45;
24742 delimiter //;
24743 CREATE 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)
24744 BEGIN
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;
24750 END//
24751 delimiter ;//
24753 DROP PROCEDURE IF EXISTS spexecute45;
24754 delimiter //;
24755 CREATE PROCEDURE spexecute45()
24756 BEGIN
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;
24771 END//
24772 delimiter ;//
24774 CALL spexecute45();
24775 DROP PROCEDURE spexecute45;
24776 DROP PROCEDURE sp45;
24779 DROP PROCEDURE IF EXISTS sp46;
24780 delimiter //;
24781 CREATE 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)
24782 BEGIN
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;
24788 END//
24789 delimiter ;//
24791 DROP PROCEDURE IF EXISTS spexecute46;
24792 delimiter //;
24793 CREATE PROCEDURE spexecute46()
24794 BEGIN
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;
24809 END//
24810 delimiter ;//
24812 CALL spexecute46();
24813 DROP PROCEDURE spexecute46;
24814 DROP PROCEDURE sp46;
24817 DROP PROCEDURE IF EXISTS sp47;
24818 delimiter //;
24819 CREATE 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)
24820 BEGIN
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;
24826 END//
24827 delimiter ;//
24829 DROP PROCEDURE IF EXISTS spexecute47;
24830 delimiter //;
24831 CREATE PROCEDURE spexecute47()
24832 BEGIN
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;
24847 END//
24848 delimiter ;//
24850 CALL spexecute47();
24851 DROP PROCEDURE spexecute47;
24852 DROP PROCEDURE sp47;
24855 DROP PROCEDURE IF EXISTS sp48;
24856 delimiter //;
24857 CREATE 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)
24858 BEGIN
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;
24864 END//
24865 delimiter ;//
24867 DROP PROCEDURE IF EXISTS spexecute48;
24868 delimiter //;
24869 CREATE PROCEDURE spexecute48()
24870 BEGIN
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;
24885 END//
24886 delimiter ;//
24888 CALL spexecute48();
24889 DROP PROCEDURE spexecute48;
24890 DROP PROCEDURE sp48;
24893 DROP PROCEDURE IF EXISTS sp49;
24894 delimiter //;
24895 CREATE 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)
24896 BEGIN
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;
24902 END//
24903 delimiter ;//
24905 DROP PROCEDURE IF EXISTS spexecute49;
24906 delimiter //;
24907 CREATE PROCEDURE spexecute49()
24908 BEGIN
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;
24923 END//
24924 delimiter ;//
24926 CALL spexecute49();
24927 DROP PROCEDURE spexecute49;
24928 DROP PROCEDURE sp49;
24931 DROP PROCEDURE IF EXISTS sp50;
24932 delimiter //;
24933 CREATE 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)
24934 BEGIN
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;
24940 END//
24941 delimiter ;//
24943 DROP PROCEDURE IF EXISTS spexecute50;
24944 delimiter //;
24945 CREATE PROCEDURE spexecute50()
24946 BEGIN
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;
24961 END//
24962 delimiter ;//
24964 CALL spexecute50();
24965 DROP PROCEDURE spexecute50;
24966 DROP PROCEDURE sp50;
24969 DROP PROCEDURE IF EXISTS sp51;
24970 delimiter //;
24971 CREATE 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)
24972 BEGIN
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;
24978 END//
24979 delimiter ;//
24981 DROP PROCEDURE IF EXISTS spexecute51;
24982 delimiter //;
24983 CREATE PROCEDURE spexecute51()
24984 BEGIN
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;
24999 END//
25000 delimiter ;//
25002 CALL spexecute51();
25003 DROP PROCEDURE spexecute51;
25004 DROP PROCEDURE sp51;
25007 DROP PROCEDURE IF EXISTS sp52;
25008 delimiter //;
25009 CREATE 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)
25010 BEGIN
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;
25016 END//
25017 delimiter ;//
25019 DROP PROCEDURE IF EXISTS spexecute52;
25020 delimiter //;
25021 eval CREATE PROCEDURE spexecute52()
25022 BEGIN
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;
25037 END//
25038 delimiter ;//
25040 CALL spexecute52();
25041 DROP PROCEDURE spexecute52;
25042 DROP PROCEDURE sp52;
25045 DROP PROCEDURE IF EXISTS sp53;
25046 delimiter //;
25047 CREATE 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)
25048 BEGIN
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;
25054 END//
25055 delimiter ;//
25057 DROP PROCEDURE IF EXISTS spexecute53;
25058 delimiter //;
25059 eval CREATE PROCEDURE spexecute53()
25060 BEGIN
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;
25075 END//
25076 delimiter ;//
25078 CALL spexecute53();
25079 DROP PROCEDURE spexecute53;
25080 DROP PROCEDURE sp53;
25083 DROP PROCEDURE IF EXISTS sp54;
25084 delimiter //;
25085 CREATE 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)
25086 BEGIN
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;
25092 END//
25093 delimiter ;//
25095 DROP PROCEDURE IF EXISTS spexecute54;
25096 delimiter //;
25097 eval CREATE PROCEDURE spexecute54()
25098 BEGIN
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;
25113 END//
25114 delimiter ;//
25116 CALL spexecute54();
25117 DROP PROCEDURE spexecute54;
25118 DROP PROCEDURE sp54;
25121 DROP PROCEDURE IF EXISTS sp55;
25122 delimiter //;
25123 CREATE 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)
25124 BEGIN
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;
25130 END//
25131 delimiter ;//
25133 DROP PROCEDURE IF EXISTS spexecute55;
25134 delimiter //;
25135 eval CREATE PROCEDURE spexecute55()
25136 BEGIN
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;
25151 END//
25152 delimiter ;//
25154 CALL spexecute55();
25155 DROP PROCEDURE spexecute55;
25156 DROP PROCEDURE sp55;
25159 DROP PROCEDURE IF EXISTS sp56;
25160 delimiter //;
25161 CREATE 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)
25162 BEGIN
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;
25168 END//
25169 delimiter ;//
25171 DROP PROCEDURE IF EXISTS spexecute56;
25172 delimiter //;
25173 CREATE PROCEDURE spexecute56()
25174 BEGIN
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;
25189 END//
25190 delimiter ;//
25192 CALL spexecute56();
25193 DROP PROCEDURE spexecute56;
25194 DROP PROCEDURE sp56;
25197 DROP PROCEDURE IF EXISTS sp57;
25198 delimiter //;
25199 CREATE 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))
25200 BEGIN
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;
25206 END//
25207 delimiter ;//
25209 DROP PROCEDURE IF EXISTS spexecute57;
25210 delimiter //;
25211 CREATE PROCEDURE spexecute57()
25212 BEGIN
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;
25227 END//
25228 delimiter ;//
25230 CALL spexecute57();
25231 DROP PROCEDURE spexecute57;
25232 DROP PROCEDURE sp57;
25235 DROP PROCEDURE IF EXISTS sp58;
25236 delimiter //;
25237 CREATE 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)
25238 BEGIN
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;
25244 END//
25245 delimiter ;//
25247 DROP PROCEDURE IF EXISTS spexecute58;
25248 delimiter //;
25249 CREATE PROCEDURE spexecute58()
25250 BEGIN
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;
25265 END//
25266 delimiter ;//
25268 CALL spexecute58();
25269 DROP PROCEDURE spexecute58;
25270 DROP PROCEDURE sp58;
25273 DROP PROCEDURE IF EXISTS sp59;
25274 delimiter //;
25275 CREATE 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)
25276 BEGIN
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;
25282 END//
25283 delimiter ;//
25285 DROP PROCEDURE IF EXISTS spexecute59;
25286 delimiter //;
25287 CREATE PROCEDURE spexecute59()
25288 BEGIN
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;
25303 END//
25304 delimiter ;//
25306 CALL spexecute59();
25307 DROP PROCEDURE spexecute59;
25308 DROP PROCEDURE sp59;
25311 DROP PROCEDURE IF EXISTS sp60;
25312 delimiter //;
25313 CREATE 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)
25314 BEGIN
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;
25320 END//
25321 delimiter ;//
25323 DROP PROCEDURE IF EXISTS spexecute60;
25324 delimiter //;
25325 CREATE PROCEDURE spexecute60()
25326 BEGIN
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;
25341 END//
25342 delimiter ;//
25344 CALL spexecute60();
25345 DROP PROCEDURE spexecute60;
25346 DROP PROCEDURE sp60;
25349 DROP PROCEDURE IF EXISTS sp61;
25350 delimiter //;
25351 CREATE 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)
25352 BEGIN
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;
25358 END//
25359 delimiter ;//
25361 DROP PROCEDURE IF EXISTS spexecute61;
25362 delimiter //;
25363 CREATE PROCEDURE spexecute61()
25364 BEGIN
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;
25379 END//
25380 delimiter ;//
25382 CALL spexecute61();
25384 DROP PROCEDURE spexecute61;
25385 DROP PROCEDURE sp61;
25388 DROP PROCEDURE IF EXISTS sp62;
25389 delimiter //;
25390 CREATE 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)
25391 BEGIN
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;
25397 END//
25398 delimiter ;//
25400 DROP PROCEDURE IF EXISTS spexecute62;
25401 delimiter //;
25402 CREATE PROCEDURE spexecute62()
25403 BEGIN
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;
25418 END//
25419 delimiter ;//
25421 CALL spexecute62();
25422 DROP PROCEDURE spexecute62;
25423 DROP PROCEDURE sp62;
25426 DROP PROCEDURE IF EXISTS sp63;
25427 delimiter //;
25428 CREATE 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)
25429 BEGIN
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;
25435 END//
25436 delimiter ;//
25438 DROP PROCEDURE IF EXISTS spexecute63;
25439 delimiter //;
25440 CREATE PROCEDURE spexecute63()
25441 BEGIN
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;
25456 END//
25457 delimiter ;//
25459 CALL spexecute63();
25461 DROP PROCEDURE spexecute63;
25462 DROP PROCEDURE sp63;
25465 DROP PROCEDURE IF EXISTS sp64;
25466 delimiter //;
25467 CREATE 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)
25468 BEGIN
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;
25474 END//
25475 delimiter ;//
25477 DROP PROCEDURE IF EXISTS spexecute64;
25478 delimiter //;
25479 CREATE PROCEDURE spexecute64()
25480 BEGIN
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;
25495 END//
25496 delimiter ;//
25498 CALL spexecute64();
25499 DROP PROCEDURE spexecute64;
25500 DROP PROCEDURE sp64;
25503 DROP PROCEDURE IF EXISTS sp65;
25504 delimiter //;
25505 CREATE 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)
25506 BEGIN
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;
25512 END//
25513 delimiter ;//
25515 DROP PROCEDURE IF EXISTS spexecute65;
25516 delimiter //;
25517 CREATE PROCEDURE spexecute65()
25518 BEGIN
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;
25533 END//
25534 delimiter ;//
25536 CALL spexecute65();
25537 DROP PROCEDURE spexecute65;
25538 DROP PROCEDURE sp65;
25541 DROP PROCEDURE IF EXISTS sp66;
25542 delimiter //;
25543 CREATE 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)
25544 BEGIN
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;
25550 END//
25551 delimiter ;//
25553 DROP PROCEDURE IF EXISTS spexecute66;
25554 delimiter //;
25555 CREATE PROCEDURE spexecute66()
25556 BEGIN
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;
25571 END//
25572 delimiter ;//
25574 CALL spexecute66();
25575 DROP PROCEDURE spexecute66;
25576 DROP PROCEDURE sp66;
25579 DROP PROCEDURE IF EXISTS sp67;
25580 delimiter //;
25581 CREATE 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)
25582 BEGIN
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;
25588 END//
25589 delimiter ;//
25591 DROP PROCEDURE IF EXISTS spexecute67;
25592 delimiter //;
25593 CREATE PROCEDURE spexecute67()
25594 BEGIN
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;
25609 END//
25610 delimiter ;//
25612 CALL spexecute67();
25613 DROP PROCEDURE spexecute67;
25614 DROP PROCEDURE sp67;
25617 DROP PROCEDURE IF EXISTS sp68;
25618 delimiter //;
25619 CREATE 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)
25620 BEGIN
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;
25626 END//
25627 delimiter ;//
25629 DROP PROCEDURE IF EXISTS spexecute68;
25630 delimiter //;
25631 CREATE PROCEDURE spexecute68()
25632 BEGIN
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;
25647 END//
25648 delimiter ;//
25650 CALL spexecute68();
25651 DROP PROCEDURE spexecute68;
25652 DROP PROCEDURE sp68;
25655 DROP PROCEDURE IF EXISTS sp69;
25656 delimiter //;
25657 CREATE 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)
25658 BEGIN
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;
25664 END//
25665 delimiter ;//
25667 DROP PROCEDURE IF EXISTS spexecute69;
25668 delimiter //;
25669 eval CREATE PROCEDURE spexecute69()
25670 BEGIN
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;
25685 END//
25686 delimiter ;//
25688 CALL spexecute69();
25689 DROP PROCEDURE spexecute69;
25690 DROP PROCEDURE sp69;
25693 DROP PROCEDURE IF EXISTS sp70;
25694 delimiter //;
25695 CREATE 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)
25696 BEGIN
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;
25702 END//
25703 delimiter ;//
25705 DROP PROCEDURE IF EXISTS spexecute70;
25706 delimiter //;
25707 eval CREATE PROCEDURE spexecute70()
25708 BEGIN
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;
25723 END//
25724 delimiter ;//
25726 CALL spexecute70();
25727 DROP PROCEDURE spexecute70;
25728 DROP PROCEDURE sp70;
25731 DROP PROCEDURE IF EXISTS sp71;
25732 delimiter //;
25733 CREATE 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)
25734 BEGIN
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;
25740 END//
25741 delimiter ;//
25743 DROP PROCEDURE IF EXISTS spexecute71;
25744 delimiter //;
25745 eval CREATE PROCEDURE spexecute71()
25746 BEGIN
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;
25761 END//
25762 delimiter ;//
25764 CALL spexecute71();
25765 DROP PROCEDURE spexecute71;
25766 DROP PROCEDURE sp71;
25769 DROP PROCEDURE IF EXISTS sp72;
25770 delimiter //;
25771 CREATE 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)
25772 BEGIN
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;
25778 END//
25779 delimiter ;//
25781 DROP PROCEDURE IF EXISTS spexecute72;
25782 delimiter //;
25783 CREATE PROCEDURE spexecute72()
25784 BEGIN
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;
25799 END//
25800 delimiter ;//
25802 CALL spexecute72();
25803 DROP PROCEDURE spexecute72;
25804 DROP PROCEDURE sp72;
25807 DROP PROCEDURE IF EXISTS sp73;
25808 delimiter //;
25809 CREATE 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)
25810 BEGIN
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;
25816 END//
25817 delimiter ;//
25819 DROP PROCEDURE IF EXISTS spexecute73;
25820 delimiter //;
25821 CREATE PROCEDURE spexecute73()
25822 BEGIN
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;
25837 END//
25838 delimiter ;//
25840 CALL spexecute73();
25841 DROP PROCEDURE spexecute73;
25842 DROP PROCEDURE sp73;
25845 DROP PROCEDURE IF EXISTS sp74;
25846 delimiter //;
25847 CREATE 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)
25848 BEGIN
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;
25854 END//
25855 delimiter ;//
25857 DROP PROCEDURE IF EXISTS spexecute74;
25858 delimiter //;
25859 CREATE PROCEDURE spexecute74()
25860 BEGIN
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;
25875 END//
25876 delimiter ;//
25878 CALL spexecute74();
25879 DROP PROCEDURE spexecute74;
25880 DROP PROCEDURE sp74;
25883 DROP PROCEDURE IF EXISTS sp75;
25884 delimiter //;
25885 CREATE 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)
25886 BEGIN
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;
25892 END//
25893 delimiter ;//
25895 DROP PROCEDURE IF EXISTS spexecute75;
25896 delimiter //;
25897 CREATE PROCEDURE spexecute75()
25898 BEGIN
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;
25913 END//
25914 delimiter ;//
25916 CALL spexecute75();
25917 DROP PROCEDURE spexecute75;
25918 DROP PROCEDURE sp75;
25921 DROP PROCEDURE IF EXISTS sp76;
25922 delimiter //;
25923 CREATE 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)
25924 BEGIN
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;
25930 END//
25931 delimiter ;//
25933 DROP PROCEDURE IF EXISTS spexecute76;
25934 delimiter //;
25935 CREATE PROCEDURE spexecute76()
25936 BEGIN
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;
25951 END//
25952 delimiter ;//
25954 CALL spexecute76();
25955 DROP PROCEDURE spexecute76;
25956 DROP PROCEDURE sp76;
25959 DROP PROCEDURE IF EXISTS sp77;
25960 delimiter //;
25961 CREATE 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)
25962 BEGIN
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;
25968 END//
25969 delimiter ;//
25971 DROP PROCEDURE IF EXISTS spexecute77;
25972 delimiter //;
25973 CREATE PROCEDURE spexecute77()
25974 BEGIN
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;
25989 END//
25990 delimiter ;//
25992 CALL spexecute77();
25993 DROP PROCEDURE spexecute77;
25994 DROP PROCEDURE sp77;
25997 DROP PROCEDURE IF EXISTS sp78;
25998 delimiter //;
25999 CREATE 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)
26000 BEGIN
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;
26006 END//
26007 delimiter ;//
26009 DROP PROCEDURE IF EXISTS spexecute78;
26010 delimiter //;
26011 CREATE PROCEDURE spexecute78()
26012 BEGIN
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;
26027 END//
26028 delimiter ;//
26030 CALL spexecute78();
26031 DROP PROCEDURE spexecute78;
26032 DROP PROCEDURE sp78;
26035 DROP PROCEDURE IF EXISTS sp79;
26036 delimiter //;
26037 CREATE 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)
26038 BEGIN
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;
26044 END//
26045 delimiter ;//
26047 DROP PROCEDURE IF EXISTS spexecute79;
26048 delimiter //;
26049 CREATE PROCEDURE spexecute79()
26050 BEGIN
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;
26065 END//
26066 delimiter ;//
26068 CALL spexecute79();
26069 DROP PROCEDURE spexecute79;
26070 DROP PROCEDURE sp79;
26073 DROP PROCEDURE IF EXISTS sp80;
26074 delimiter //;
26075 CREATE 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)
26076 BEGIN
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;
26082 END//
26083 delimiter ;//
26085 DROP PROCEDURE IF EXISTS spexecute80;
26086 delimiter //;
26087 CREATE PROCEDURE spexecute80()
26088 BEGIN
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;
26103 END//
26104 delimiter ;//
26106 CALL spexecute80();
26107 DROP PROCEDURE spexecute80;
26108 DROP PROCEDURE sp80;
26111 DROP PROCEDURE IF EXISTS sp81;
26112 delimiter //;
26113 CREATE 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)
26114 BEGIN
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;
26120 END//
26121 delimiter ;//
26123 DROP PROCEDURE IF EXISTS spexecute81;
26124 delimiter //;
26125 CREATE PROCEDURE spexecute81()
26126 BEGIN
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;
26141 END//
26142 delimiter ;//
26144 CALL spexecute81();
26145 DROP PROCEDURE spexecute81;
26146 DROP PROCEDURE sp81;
26149 DROP PROCEDURE IF EXISTS sp82;
26150 delimiter //;
26151 CREATE 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)
26152 BEGIN
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;
26158 END//
26159 delimiter ;//
26161 DROP PROCEDURE IF EXISTS spexecute82;
26162 delimiter //;
26163 CREATE PROCEDURE spexecute82()
26164 BEGIN
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;
26179 END//
26180 delimiter ;//
26182 CALL spexecute82();
26183 DROP PROCEDURE spexecute82;
26184 DROP PROCEDURE sp82;
26187 DROP PROCEDURE IF EXISTS sp83;
26188 delimiter //;
26189 CREATE 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)
26190 BEGIN
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;
26196 END//
26197 delimiter ;//
26199 DROP PROCEDURE IF EXISTS spexecute83;
26200 delimiter //;
26201 CREATE PROCEDURE spexecute83()
26202 BEGIN
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;
26217 END//
26218 delimiter ;//
26220 CALL spexecute83();
26221 DROP PROCEDURE spexecute83;
26222 DROP PROCEDURE sp83;
26225 DROP PROCEDURE IF EXISTS sp84;
26226 delimiter //;
26227 CREATE 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)
26228 BEGIN
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;
26234 END//
26235 delimiter ;//
26237 DROP PROCEDURE IF EXISTS spexecute84;
26238 delimiter //;
26239 CREATE PROCEDURE spexecute84()
26240 BEGIN
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;
26255 END//
26256 delimiter ;//
26258 CALL spexecute84();
26259 DROP PROCEDURE spexecute84;
26260 DROP PROCEDURE sp84;
26263 DROP PROCEDURE IF EXISTS sp85;
26264 delimiter //;
26265 CREATE 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)
26266 BEGIN
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;
26272 END//
26273 delimiter ;//
26275 DROP PROCEDURE IF EXISTS spexecute85;
26276 delimiter //;
26277 CREATE PROCEDURE spexecute85()
26278 BEGIN
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;
26293 END//
26294 delimiter ;//
26296 CALL spexecute85();
26297 DROP PROCEDURE spexecute85;
26298 DROP PROCEDURE sp85;
26301 DROP PROCEDURE IF EXISTS sp86;
26302 delimiter //;
26303 CREATE 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)
26304 BEGIN
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;
26310 END//
26311 delimiter ;//
26313 DROP PROCEDURE IF EXISTS spexecute86;
26314 delimiter //;
26315 CREATE PROCEDURE spexecute86()
26316 BEGIN
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;
26331 END//
26332 delimiter ;//
26334 CALL spexecute86();
26335 DROP PROCEDURE spexecute86;
26336 DROP PROCEDURE sp86;
26339 DROP PROCEDURE IF EXISTS sp87;
26340 delimiter //;
26341 CREATE 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)
26342 BEGIN
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;
26348 END//
26349 delimiter ;//
26351 DROP PROCEDURE IF EXISTS spexecute87;
26352 delimiter //;
26353 CREATE PROCEDURE spexecute87()
26354 BEGIN
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;
26369 END//
26370 delimiter ;//
26372 CALL spexecute87();
26373 DROP PROCEDURE spexecute87;
26374 DROP PROCEDURE sp87;
26377 DROP PROCEDURE IF EXISTS sp88;
26378 delimiter //;
26379 CREATE 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)
26380 BEGIN
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;
26386 END//
26387 delimiter ;//
26389 DROP PROCEDURE IF EXISTS spexecute88;
26390 delimiter //;
26391 CREATE PROCEDURE spexecute88()
26392 BEGIN
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;
26407 END//
26408 delimiter ;//
26410 CALL spexecute88();
26411 DROP PROCEDURE spexecute88;
26412 DROP PROCEDURE sp88;
26415 DROP PROCEDURE IF EXISTS sp89;
26416 delimiter //;
26417 CREATE 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)
26418 BEGIN
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;
26424 END//
26425 delimiter ;//
26427 DROP PROCEDURE IF EXISTS spexecute89;
26428 delimiter //;
26429 CREATE PROCEDURE spexecute89()
26430 BEGIN
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;
26445 END//
26446 delimiter ;//
26448 CALL spexecute89();
26449 DROP PROCEDURE spexecute89;
26450 DROP PROCEDURE sp89;
26453 DROP PROCEDURE IF EXISTS sp90;
26454 delimiter //;
26455 CREATE 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)
26456 BEGIN
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;
26462 END//
26463 delimiter ;//
26465 DROP PROCEDURE IF EXISTS spexecute90;
26466 delimiter //;
26467 eval CREATE PROCEDURE spexecute90()
26468 BEGIN
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;
26483 END//
26484 delimiter ;//
26486 #FIXME: hpux11 - check later again with E+40
26487 CALL spexecute90();
26488 DROP PROCEDURE spexecute90;
26489 DROP PROCEDURE sp90;
26492 DROP PROCEDURE IF EXISTS sp91;
26493 delimiter //;
26494 CREATE 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)
26495 BEGIN
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;
26501 END//
26502 delimiter ;//
26504 DROP PROCEDURE IF EXISTS spexecute91;
26505 delimiter //;
26506 eval CREATE PROCEDURE spexecute91()
26507 BEGIN
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;
26522 END//
26523 delimiter ;//
26525 #FIXME: hpux11 - check later again with E+40
26526 CALL spexecute91();
26527 DROP PROCEDURE spexecute91;
26528 DROP PROCEDURE sp91;
26531 DROP PROCEDURE IF EXISTS sp92;
26532 delimiter //;
26533 CREATE 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)
26534 BEGIN
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;
26540 END//
26541 delimiter ;//
26543 DROP PROCEDURE IF EXISTS spexecute92;
26544 delimiter //;
26545 eval CREATE PROCEDURE spexecute92()
26546 BEGIN
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;
26561 END//
26562 delimiter ;//
26564 CALL spexecute92();
26565 DROP PROCEDURE spexecute92;
26566 DROP PROCEDURE sp92;
26569 DROP PROCEDURE IF EXISTS sp93;
26570 delimiter //;
26571 CREATE 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)
26572 BEGIN
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;
26578 END//
26579 delimiter ;//
26581 DROP PROCEDURE IF EXISTS spexecute93;
26582 delimiter //;
26583 eval CREATE PROCEDURE spexecute93()
26584 BEGIN
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;
26599 END//
26600 delimiter ;//
26602 CALL spexecute93();
26603 DROP PROCEDURE spexecute93;
26604 DROP PROCEDURE sp93;
26607 DROP PROCEDURE IF EXISTS sp94;
26608 delimiter //;
26609 CREATE 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)
26610 BEGIN
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;
26616 END//
26617 delimiter ;//
26619 DROP PROCEDURE IF EXISTS spexecute94;
26620 delimiter //;
26621 CREATE PROCEDURE spexecute94()
26622 BEGIN
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;
26637 END//
26638 delimiter ;//
26640 CALL spexecute94();
26641 DROP PROCEDURE spexecute94;
26642 DROP PROCEDURE sp94;
26645 DROP PROCEDURE IF EXISTS sp95;
26646 delimiter //;
26647 CREATE 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)
26648 BEGIN
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;
26654 END//
26655 delimiter ;//
26657 DROP PROCEDURE IF EXISTS spexecute95;
26658 delimiter //;
26659 CREATE PROCEDURE spexecute95()
26660 BEGIN
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;
26675 END//
26676 delimiter ;//
26678 CALL spexecute95();
26679 DROP PROCEDURE spexecute95;
26680 DROP PROCEDURE sp95;
26683 DROP PROCEDURE IF EXISTS sp96;
26684 delimiter //;
26685 CREATE 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)
26686 BEGIN
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;
26692 END//
26693 delimiter ;//
26695 DROP PROCEDURE IF EXISTS spexecute96;
26696 delimiter //;
26697 CREATE PROCEDURE spexecute96()
26698 BEGIN
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;
26713 END//
26714 delimiter ;//
26716 CALL spexecute96();
26717 DROP PROCEDURE spexecute96;
26718 DROP PROCEDURE sp96;
26721 DROP PROCEDURE IF EXISTS sp97;
26722 delimiter //;
26723 CREATE 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)
26724 BEGIN
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;
26730 END//
26731 delimiter ;//
26733 DROP PROCEDURE IF EXISTS spexecute97;
26734 delimiter //;
26735 CREATE PROCEDURE spexecute97()
26736 BEGIN
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;
26751 END//
26752 delimiter ;//
26754 CALL spexecute97();
26755 DROP PROCEDURE spexecute97;
26756 DROP PROCEDURE sp97;
26759 DROP PROCEDURE IF EXISTS sp98;
26760 delimiter //;
26761 CREATE 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)
26762 BEGIN
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;
26768 END//
26769 delimiter ;//
26771 DROP PROCEDURE IF EXISTS spexecute98;
26772 delimiter //;
26773 CREATE PROCEDURE spexecute98()
26774 BEGIN
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;
26789 END//
26790 delimiter ;//
26792 CALL spexecute98();
26793 DROP PROCEDURE spexecute98;
26794 DROP PROCEDURE sp98;
26797 DROP PROCEDURE IF EXISTS sp99;
26798 delimiter //;
26799 CREATE 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)
26800 BEGIN
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;
26806 END//
26807 delimiter ;//
26809 DROP PROCEDURE IF EXISTS spexecute99;
26810 delimiter //;
26811 CREATE PROCEDURE spexecute99()
26812 BEGIN
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;
26827 END//
26828 delimiter ;//
26830 CALL spexecute99();
26831 DROP PROCEDURE spexecute99;
26832 DROP PROCEDURE sp99;
26835 DROP PROCEDURE IF EXISTS sp100;
26836 delimiter //;
26837 CREATE 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)
26838 BEGIN
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;
26844 END//
26845 delimiter ;//
26847 DROP PROCEDURE IF EXISTS spexecute100;
26848 delimiter //;
26849 CREATE PROCEDURE spexecute100()
26850 BEGIN
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;
26865 END//
26866 delimiter ;//
26868 CALL spexecute100();
26869 DROP PROCEDURE spexecute100;
26870 DROP PROCEDURE sp100;
26873 DROP PROCEDURE IF EXISTS sp101;
26874 delimiter //;
26875 CREATE 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)
26876 BEGIN
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;
26882 END//
26883 delimiter ;//
26885 DROP PROCEDURE IF EXISTS spexecute101;
26886 delimiter //;
26887 CREATE PROCEDURE spexecute101()
26888 BEGIN
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;
26903 END//
26904 delimiter ;//
26906 CALL spexecute101();
26907 DROP PROCEDURE spexecute101;
26908 DROP PROCEDURE sp101;
26910 USE db_storedproc;
26911 DROP DATABASE db1;
26915 USE db_storedproc;
26916 # ------------------------------------------------------------------------------
26917 let $message= Testcase 4.7.2:
26918 FIXME: a wrong testcase number and/or description has been detected here. This
26919 FIXME: needs to be checked to be sure where the missing testcase is located.
26921 check for "allow_invalid_dates" server sql mode
26923 --source include/show_msg80.inc
26925 --disable_warnings
26926 DROP PROCEDURE IF EXISTS sp2;
26927 drop table IF EXISTS temp_table;
26928 --enable_warnings
26930 create table temp_table (f1 datetime);
26932 set @@sql_mode = 'allow_invalid_dates';
26934 delimiter //;
26935 CREATE PROCEDURE sp2 ()
26936 BEGIN
26937     declare a datetime;
26938     set a = '2005-03-14 01:01:02';
26939     insert into temp_table values(a);
26940 END//
26941 delimiter ;//
26943 show CREATE PROCEDURE sp2;
26945 set @@sql_mode = 'traditional';
26947 CALL sp2 ();
26948 SELECT * from temp_table;
26950 SELECT @@sql_mode;
26952 # cleanup
26953 DROP PROCEDURE sp2;
26954 drop table temp_table;
26957 # ------------------------------------------------------------------------------
26958 let $message= Testcase 4.7.3:
26959 FIXME: a wrong testcase number and/or description has been detected here. This
26960 FIXME: needs to be checked to be sure where the missing testcase is located.
26962 check for *high_not_precedence* server sql mode
26964 --source include/show_msg80.inc
26966 --disable_warnings
26967 DROP PROCEDURE IF EXISTS sp3;
26968 --enable_warnings
26970 set @@sql_mode = 'high_not_precedence';
26972 delimiter //;
26973 CREATE PROCEDURE sp3()
26974 BEGIN
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;
26980 END//
26981 delimiter ;//
26983 show CREATE PROCEDURE sp3;
26985 set @@sql_mode='';
26987 CALL sp3();
26988 SELECT @@sql_mode;
26990 # cleanup
26991 DROP PROCEDURE sp3;
26994 # ------------------------------------------------------------------------------
26995 let $message= Testcase 4.7.4:
26996 FIXME: a wrong testcase number and/or description has been detected here. This
26997 FIXME: needs to be checked to be sure where the missing testcase is located.
26999 check for combination of server sql modes
27001 --source include/show_msg80.inc
27003 --disable_warnings
27004 DROP PROCEDURE IF EXISTS sp4;
27005 --enable_warnings
27007 set @@sql_mode = 'ansi, error_for_division_by_zero';
27009 # now set the corrent value:
27010 set @@sql_mode = 'ansi,error_for_division_by_zero';
27012 SHOW VARIABLES LIKE 'sql_mode';
27014 delimiter //;
27015 CREATE PROCEDURE sp4()
27016 BEGIN
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;
27024 END//
27025 delimiter ;//
27027 show CREATE PROCEDURE sp4;
27029 set @@sql_mode='';
27031 CALL sp4();
27033 # cleanup
27034 DROP PROCEDURE sp4;
27035 set @@sql_mode='';
27038 # ==============================================================================
27039 let $message= Section 3.1.8 - SHOW statement checks:;
27040 --source include/show_msg80.inc
27043 USE db_storedproc;
27046 # ------------------------------------------------------------------------------
27047 let $message= Testcase 4.8.1:;
27048 --source include/show_msg80.inc
27050 # testcase: ensure that the definition of a procedure is properly recorded and displayed when a show create
27051 #        procedure statement is executed.
27053 --disable_warnings
27054 DROP PROCEDURE IF EXISTS sp6;
27055 DROP PROCEDURE IF EXISTS sp6a;
27056 DROP PROCEDURE IF EXISTS sp6b;
27057 DROP PROCEDURE IF EXISTS sp6c;
27058 --enable_warnings
27060 delimiter //;
27061 CREATE PROCEDURE sp6a (i1 longtext, out i2 mediumint , inout i3 longblob, in i4 year, out i5 real)
27062 language sql
27063 BEGIN
27064    set @x=i1;
27065    set @y=@x;
27066 END//
27067 delimiter ;//
27069 delimiter //;
27070 CREATE PROCEDURE sp6b (out i1 longtext, out i2 mediumint , out i3 longblob, out i4 year, out i5 real)
27071 deterministic
27072 BEGIN
27073    set @x=i1;
27074    set @y=@x;
27075 END//
27076 delimiter ;//
27078 delimiter //;
27079 CREATE PROCEDURE sp6c (inout i1 longtext, inout  i2 mediumint , inout i3 longblob, inout  i4 year, inout  i5 real) comment 'this is a comment'
27080 BEGIN
27081    set @x=i1;
27082    set @y=@x;
27083 END//
27084 delimiter ;//
27086 show CREATE PROCEDURE sp6a;
27088 show CREATE PROCEDURE sp6b;
27090 show CREATE PROCEDURE sp6c;
27092 --replace_column 5 <modified> 6 <created>
27093 SHOW PROCEDURE status like 'sp6a';
27095 --replace_column 5 <modified> 6 <created>
27096 SHOW PROCEDURE status like 'sp6b';
27098 --replace_column 5 <modified> 6 <created>
27099 SHOW PROCEDURE status like 'sp6c';
27101 # cleanup
27102 DROP PROCEDURE sp6a;
27103 DROP PROCEDURE sp6b;
27104 DROP PROCEDURE sp6c;
27107 # ------------------------------------------------------------------------------
27108 let $message= Testcase 4.8.2:;
27109 --source include/show_msg80.inc
27111 # testcase: ensure that the definition of a procedure is properly recorded and displayed when a show procedure
27112 #      status statement is executed.
27114 --disable_warnings
27115 DROP PROCEDURE IF EXISTS sp6;
27116 --enable_warnings
27118 delimiter //;
27119 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27120 BEGIN
27121     set @x=i1;
27122       set @y=@x;
27123 END//
27124 delimiter ;//
27126 --replace_column 5 <modified> 6 <created>
27127 SHOW PROCEDURE status like 'sp6';
27129 # cleanup
27130 DROP PROCEDURE sp6;
27133 # ------------------------------------------------------------------------------
27134 let $message= Testcase 4.8.3:;
27135 --source include/show_msg80.inc
27137 # testcase: ensure that the definition of a procedure is not displayed when a show create function
27138 #      statement is executed.
27140 --disable_warnings
27141 DROP PROCEDURE IF EXISTS sp6;
27142 --enable_warnings
27144 delimiter //;
27145 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27146 BEGIN
27147     set @x=i1;
27148     set @y=@x;
27149 END//
27150 delimiter ;//
27152 --error ER_SP_DOES_NOT_EXIST
27153 SHOW CREATE FUNCTION sp6;
27155 # cleanup
27156 DROP PROCEDURE sp6;
27159 # ------------------------------------------------------------------------------
27160 let $message= Testcase 4.8.4:;
27161 --source include/show_msg80.inc
27163 # testcase: ensure that the definition of a procedure is properly recorded and displayed when a show function
27164 #      status statement is executed.
27166 --disable_warnings
27167 DROP PROCEDURE IF EXISTS sp6;
27168 --enable_warnings
27170 delimiter //;
27171 CREATE 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;
27176 END//
27177 delimiter ;//
27179 --replace_column 5 <modified> 6 <created>
27180   show  function status like 'sp6';
27182 # cleanup
27183 DROP FUNCTION sp6;
27186 # ------------------------------------------------------------------------------
27187 let $message= Testcase 4.8.5:;
27188 --source include/show_msg80.inc
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.
27193 --disable_warnings
27194 DROP PROCEDURE IF EXISTS sp7;
27195 --enable_warnings
27197 --error ER_SP_DOES_NOT_EXIST
27198   show CREATE PROCEDURE sp7;
27201 # ------------------------------------------------------------------------------
27202 let $message= Testcase 4.8.6:;
27203 --source include/show_msg80.inc
27205 # testcase: ensure that the attempt to execute SHOW PROCEDURE status with the name of a non-existing
27206 #          procedure returns an empty set.
27208 --disable_warnings
27209 DROP PROCEDURE IF EXISTS sp6;
27210 --enable_warnings
27212     show  procedure status like 'sp6';
27216 # ------------------------------------------------------------------------------
27217 let $message= Testcase 4.8.7:;
27218 --source include/show_msg80.inc
27220 # testcase: ensure that an attempt to execute show CREATE PROCEDURE with the name of a function fails
27221 #      with an appropriate error message.
27223 --disable_warnings
27224 DROP FUNCTION IF EXISTS fn1;
27225 --enable_warnings
27227 delimiter //;
27228 CREATE FUNCTION fn1 (i1 real) returns real
27229   BEGIN
27230     return i1;
27231 END//
27232 delimiter ;//
27234 --error ER_SP_DOES_NOT_EXIST
27235   show CREATE PROCEDURE fn1;
27237 # cleanup
27238 DROP FUNCTION fn1;
27241 # ------------------------------------------------------------------------------
27242 let $message= Testcase 4.8.8:;
27243 --source include/show_msg80.inc
27245 # testcase: ensure that an attempt to execute SHOW PROCEDURE status with the name of a
27246 #        function returns an empty set.
27249 --disable_warnings
27250 DROP FUNCTION IF EXISTS fn1;
27251 --enable_warnings
27253 delimiter //;
27254 CREATE FUNCTION fn1 (i1 real) returns real
27255   BEGIN
27256     return i1;
27257 END//
27258 delimiter ;//
27260 --replace_column 5 <modified> 6 <created>
27261   show  procedure status like 'fn1';
27263 # cleanup
27264 DROP FUNCTION fn1;
27267 # ------------------------------------------------------------------------------
27268 let $message= Testcase 4.8.9:;
27269 --source include/show_msg80.inc
27271 # testcase: ensure that the definition of a function is properly recorded and displayed when a
27272 #        show CREATE FUNCTION statement is executed.
27274 # part of 3.1.8.9
27276 # ------------------------------------------------------------------------------
27277 let $message= Testcase 4.8.10:;
27278 --source include/show_msg80.inc
27280 # testcase: ensure that the definition of a function is properly recorded and displayed when a
27281 # SHOW FUNCTION status.
27283 --disable_warnings
27284 DROP FUNCTION IF EXISTS fn1;
27285 --enable_warnings
27287 delimiter //;
27288 CREATE FUNCTION fn1 (i1 real) returns real
27289 BEGIN
27290    return i1;
27291 END//
27292 delimiter ;//
27294 --replace_column 5 <modified> 6 <created>
27295 SHOW FUNCTION STATUS LIKE 'fn1';
27297 # cleanup
27298 DROP FUNCTION fn1;
27301 # ------------------------------------------------------------------------------
27302 let $message= Testcase 4.8.11:;
27303 --source include/show_msg80.inc
27305 # testcase: ensure that the definition of a function is not displayed when a
27306 #        show CREATE PROCEDURE statement is executed.
27308 --disable_warnings
27309 DROP FUNCTION IF EXISTS fn1;
27310 --enable_warnings
27312 delimiter //;
27313 CREATE FUNCTION fn1 (x int) returns int
27314   BEGIN
27315     return x;
27316 END//
27317 delimiter ;//
27319 --error ER_SP_DOES_NOT_EXIST
27320   show CREATE PROCEDURE fn1;
27322 # cleanup
27323 DROP FUNCTION fn1;
27327 # ------------------------------------------------------------------------------
27328 let $message= Testcase 4.8.12:;
27329 --source include/show_msg80.inc
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.
27334 --disable_warnings
27335 DROP FUNCTION IF EXISTS fn1;
27336 --enable_warnings
27338 delimiter //;
27339 CREATE FUNCTION fn1(x int) returns int
27340   BEGIN
27341             return x;
27342 END//
27343 delimiter ;//
27345 DROP FUNCTION fn1;
27347 --error ER_SP_DOES_NOT_EXIST
27348   show CREATE FUNCTION fn1;
27352 # ------------------------------------------------------------------------------
27353 let $message= Testcase 4.8.13:;
27354 --source include/show_msg80.inc
27356 # testcase: ensure that the attempt to execute show function status  with the name of a
27357 #      non-existing function returns an empty set.
27360 --disable_warnings
27361 DROP FUNCTION IF EXISTS f1000;
27362 --enable_warnings
27364 SHOW FUNCTION STATUS LIKE 'f1000';
27367 # ------------------------------------------------------------------------------
27368 let $message= Testcase 4.8.14:;
27369 --source include/show_msg80.inc
27371 # testcase: ensure that an attempt to execute show CREATE FUNCTION with the name of a procedure
27372 #        fails with an appropriate error message.
27374 --disable_warnings
27375 DROP PROCEDURE IF EXISTS sp1;
27376 --enable_warnings
27378 delimiter //;
27379 CREATE PROCEDURE sp1()
27380 BEGIN
27381     SELECT * from t8;
27382 END//
27383 delimiter ;//
27385 --error ER_SP_DOES_NOT_EXIST
27386   show CREATE FUNCTION sp1;
27388 # cleanup
27389 DROP PROCEDURE sp1;
27392 # ------------------------------------------------------------------------------
27393 let $message= Testcase 4.8.15:;
27394 --source include/show_msg80.inc
27396 # testcase: ensure that an attempt to execute show function status with the name of a procedure fails with an
27397 #      appropriate error message.
27400 --disable_warnings
27401 DROP PROCEDURE IF EXISTS sp6;
27402 --enable_warnings
27404 delimiter //;
27405 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27406 BEGIN
27407     set @x=i1;
27408     set @y=@x;
27409 END//
27410 delimiter ;//
27412 --replace_column 5 <modified> 6 <created>
27413   show  function status like 'sp6';
27415 # cleanup
27416 DROP PROCEDURE sp6;
27420 # ------------------------------------------------------------------------------
27421 let $message= Testcase 4.8.16:;
27422 --source include/show_msg80.inc
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.
27427 # part of 3.1.8.9
27430 # ------------------------------------------------------------------------------
27431 let $message= Testcase 4.8.17:;
27432 --source include/show_msg80.inc
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.
27437 --disable_warnings
27438 DROP PROCEDURE IF EXISTS sp6;
27439 --enable_warnings
27441 delimiter //;
27442 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27443 BEGIN
27444     set @x=i1;
27445     set @y=@x;
27446 END//
27447 delimiter ;//
27449   alter procedure sp6 sql security invoker;
27451   alter procedure sp6 comment  'this is a new comment';
27453 --replace_column 5 <modified> 6 <created>
27454 SHOW PROCEDURE status like 'sp6';
27456 # cleanup
27457 DROP PROCEDURE sp6;
27460 # ------------------------------------------------------------------------------
27461 let $message= Testcase 4.8.18:;
27462 --source include/show_msg80.inc
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.
27467 --disable_warnings
27468 DROP FUNCTION IF EXISTS fn1;
27469 --enable_warnings
27471 delimiter //;
27472 CREATE FUNCTION fn1 (x int) returns int
27473   BEGIN
27474     return x;
27475 END//
27476 delimiter ;//
27478   alter function fn1 sql security invoker;
27480   show  create  function  fn1;
27482 # cleanup
27483 DROP FUNCTION fn1;
27486 # ------------------------------------------------------------------------------
27487 let $message= Testcase 4.8.19:;
27488 --source include/show_msg80.inc
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.
27493 --disable_warnings
27494 DROP FUNCTION IF EXISTS fn1;
27495 --enable_warnings
27497 delimiter //;
27498 CREATE FUNCTION fn1 (i1 longtext) returns longtext
27499   BEGIN
27500     return i1;
27501 END//
27502 delimiter ;//
27504   alter function fn1 sql security invoker;
27505   alter function fn1 comment 'this is a function 3242#@%$#@';
27507 --replace_column 5 <modified> 6 <created>
27508   show  function status like 'fn1';
27510 # cleanup
27511 DROP FUNCTION fn1;
27515 # ------------------------------------------------------------------------------
27516 let $message= Testcase 4.8.20:;
27517 --source include/show_msg80.inc
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.
27522 --disable_warnings
27523 DROP PROCEDURE IF EXISTS sp6;
27524 --enable_warnings
27526 delimiter //;
27527 CREATE PROCEDURE sp6 (i1 int , i2 int)
27528 BEGIN
27529     set @x=i1;
27530     set @y=@x;
27531 END//
27532 delimiter ;//
27534   alter procedure sp6 comment 'this is simple';
27536   show CREATE PROCEDURE sp6;
27538 # cleanup
27539 DROP PROCEDURE sp6;
27541 # ------------------------------------------------------------------------------
27542 let $message= Testcase 4.8.21:;
27543 --source include/show_msg80.inc
27545 # testcase: ensure that when a stored procedure is dropped, its definition no longer appears when
27546 #      a show CREATE PROCEDURE is executed.
27548 --disable_warnings
27549 DROP PROCEDURE IF EXISTS sp6;
27550 --enable_warnings
27552 delimiter //;
27553 CREATE PROCEDURE sp6 (i1 int, i2 int)
27554 BEGIN
27555     set @x=i1;
27556     set @y=@x;
27557 END//
27558 delimiter ;//
27560 DROP PROCEDURE sp6;
27562 --error ER_SP_DOES_NOT_EXIST
27563   show CREATE PROCEDURE sp6;
27565 # ------------------------------------------------------------------------------
27566 let $message= Testcase 4.8.22:;
27567 --source include/show_msg80.inc
27569 # testcase: ensure that when a stored procedure is dropped, its definition no longer appears when
27570 #      SHOW PROCEDURE status.
27573 --disable_warnings
27574 DROP PROCEDURE IF EXISTS sp6;
27575 --enable_warnings
27577 delimiter //;
27578 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27579 BEGIN
27580     set @x=i3;
27581     set @y=@x;
27582 END//
27583 delimiter ;//
27585 DROP PROCEDURE sp6;
27587 --replace_column 5 <modified> 6 <created>
27588 SHOW PROCEDURE status like 'sp6';
27591 # ------------------------------------------------------------------------------
27592 let $message= Testcase 4.8.23:;
27593 --source include/show_msg80.inc
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.
27598 --disable_warnings
27599 DROP FUNCTION IF EXISTS fn1;
27600 --enable_warnings
27602 delimiter //;
27603 CREATE FUNCTION fn1 (x int) returns int
27604   BEGIN
27605     return x;
27606 END//
27607 delimiter ;//
27609 DROP FUNCTION fn1;
27611 --error ER_SP_DOES_NOT_EXIST
27612   show CREATE FUNCTION fn1;
27615 # ------------------------------------------------------------------------------
27616 let $message= Testcase 4.8.24:;
27617 --source include/show_msg80.inc
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
27623 --disable_warnings
27624 DROP FUNCTION IF EXISTS fn1;
27625 --enable_warnings
27627 delimiter //;
27628 CREATE FUNCTION fn1 (i1 longtext) returns longtext
27629 BEGIN
27630     return i1;
27631 END//
27632 delimiter ;//
27634 DROP FUNCTION fn1;
27636 --replace_column 5 <modified> 6 <created>
27637 SHOW FUNCTION STATUS LIKE 'fn1';
27640 # ==============================================================================
27641 let $message= Section 3.1.9 - Routine body checks:;
27642 --source include/show_msg80.inc
27644 USE db_storedproc;
27646 # ------------------------------------------------------------------------------
27647 let $message= Testcase 4.9.1:;
27648 --source include/show_msg80.inc
27650 # testcase: verify SELECT sql statements that may be executed by a stored procedure.
27653 --disable_warnings
27654 DROP PROCEDURE IF EXISTS sp6;
27655 --enable_warnings
27657 delimiter //;
27658 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27659 BEGIN
27660     set @x = i3;
27661     set @a = i5;
27662     set @y = @x;
27663     set @b = @a;
27664     SELECT * from t9 limit 0, 100;
27665 END//
27666 delimiter ;//
27668 --sorted_result
27669 CALL sp6 (10, 20, 30, 40, 50);
27671 # cleanup
27672 DROP PROCEDURE sp6;
27675 # ------------------------------------------------------------------------------
27676 let $message= Testcase 4.9.2:;
27677 --source include/show_msg80.inc
27679 # testcase: verify insert sql statements that can be executed by a stored procedure.
27682 --disable_warnings
27683 DROP PROCEDURE IF EXISTS sp6;
27684 drop  table IF EXISTS res_t9;
27685 --enable_warnings
27687   create table res_t9 (f1 int, f2 char(25), f3 int);
27689 delimiter //;
27690 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27691 BEGIN
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;
27698 END//
27699 delimiter ;//
27701 CALL sp6 (10, 20, 30, 40, 50);
27703 # cleanup
27704 DROP PROCEDURE sp6;
27705 drop table res_t9;
27708 # ------------------------------------------------------------------------------
27709 let $message= Testcase 4.9.3:;
27710 --source include/show_msg80.inc
27712 # testcase: verify delete sql statements that may be executed by a stored procedure.
27715 --disable_warnings
27716 DROP PROCEDURE IF EXISTS sp6;
27717 drop  table IF EXISTS res_t9;
27718 --enable_warnings
27720   create table res_t9 (f1 int, f2 char(25), f3 int);
27722 delimiter //;
27723 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27724 BEGIN
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;
27733 END//
27734 delimiter ;//
27737 CALL sp6 (10, 20, 30, 40, 50);
27739 # cleanup
27740 DROP PROCEDURE sp6;
27741 drop table res_t9;
27744 # ------------------------------------------------------------------------------
27745 let $message= Testcase 4.9.4:;
27746 --source include/show_msg80.inc
27748 # testcase: verify update sql statements that may be executed by a stored procedure.
27751 --disable_warnings
27752 DROP PROCEDURE IF EXISTS sp6;
27753 drop  table IF EXISTS res_t9;
27754 --enable_warnings
27756   create table res_t9 (f1 int, f2 char(25), f3 int);
27758 delimiter //;
27759 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27760 BEGIN
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;
27769 END//
27770 delimiter ;//
27772 CALL sp6 (10, 20, 30, 40, 50);
27774 # cleanup
27775 DROP PROCEDURE sp6;
27776 drop table res_t9;
27779 # ------------------------------------------------------------------------------
27780 let $message= Testcase 4.9.5:;
27781 --source include/show_msg80.inc
27783 # testcase: verify create sql statements that may be executed by a stored procedure
27785 --disable_warnings
27786 DROP PROCEDURE IF EXISTS sp6;
27787 drop table IF EXISTS res_t9;
27788 --enable_warnings
27790 delimiter //;
27791 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27792 BEGIN
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;
27802 END//
27803 delimiter ;//
27805 CALL sp6 (10, 20, 30, 40, 50);
27807 # cleanup
27808 DROP PROCEDURE sp6;
27809 --disable_warnings
27810 drop table IF EXISTS res_t9;
27811 --enable_warnings
27813 # ------------------------------------------------------------------------------
27814 let $message= Testcase 4.9.6:;
27815 --source include/show_msg80.inc
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.
27820 DROP FUNCTION IF EXISTS fn1;
27822 delimiter //;
27823 --error ER_SP_NO_RETSET
27824 CREATE FUNCTION fn1(i1 longtext) returns longtext
27825 BEGIN
27826    SELECT * from t9 limit 0, 100;
27827    return i1;
27828 END//
27829 delimiter ;//
27831 DROP FUNCTION IF EXISTS fn1;
27832 drop table IF EXISTS res_t9;
27834 create table res_t9 (f1 int, f2 char(25), f3 int);
27835 insert into res_t9 values (10, 'abc', 20);
27837 delimiter //;
27838 --error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27839 CREATE FUNCTION fn1(i1 longtext) returns longtext
27840 BEGIN
27841    delete from res_t9;
27842    drop table res_t9;
27843    return i1;
27844 END//
27845 delimiter ;//
27847 DROP FUNCTION IF EXISTS fn1;
27848 drop table IF EXISTS res_t9;
27850 delimiter //;
27851 --error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27852 CREATE FUNCTION fn1(i1 longtext) returns longtext
27853 BEGIN
27854     create table res_t9 (f1 longtext, f2 longblob, f3 real);
27855     drop table res_t9;
27856     return i1;
27857 END//
27858 delimiter ;//
27860 DROP FUNCTION IF EXISTS fn1;
27861 drop  table IF EXISTS res_t9;
27863 create table res_t9 (f1 int, f2 char(25), f3 int);
27865 delimiter //;
27866 --error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27867 CREATE FUNCTION fn1(i1 longtext) returns longtext
27868 BEGIN
27869    insert into res_t9 values (100, 'abc', 300);
27870    drop table res_t9;
27871    return i1;
27872 END//
27873 delimiter ;//
27875 DROP FUNCTION IF EXISTS fn1;
27876 drop  table IF EXISTS res_t9;
27878 create table res_t9 (f1 int, f2 char(25), f3 int);
27879 insert into res_t9 values (10, 'abc', 20);
27881 delimiter //;
27882 --error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
27883 CREATE FUNCTION fn1(i1 longtext) returns longtext
27884 BEGIN
27885    update res_t9 set f1 = 20;
27886    drop table res_t9;
27887    return i1;
27888 END//
27889 delimiter ;//
27891 # cleanup
27892 drop table res_t9;
27893 DROP FUNCTION IF EXISTS fn1;
27896 # ------------------------------------------------------------------------------
27897 let $message= Testcase 4.9.7:;
27898 --source include/show_msg80.inc
27900 # testcase: verify create index sql statement that may be executed by a stored procedure
27902 --disable_warnings
27903 DROP PROCEDURE IF EXISTS sp6;
27904 drop table IF EXISTS res_t9;
27905 --enable_warnings
27907   create table res_t9 (f1 longtext, f2 longblob, f3 real);
27909 delimiter //;
27910 CREATE PROCEDURE sp6 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
27911 BEGIN
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;
27922 END//
27923 delimiter ;//
27925 CALL sp6 (10, 20, 30, 40, 50);
27927 # cleanup
27928 DROP PROCEDURE sp6;
27929 drop table res_t9;
27932 # ==============================================================================
27934 # test plan section: 4.11 - verify handlers with continue and exit conditions
27936 # ==============================================================================
27937 let $message= Section 3.1._ - :;
27938 --source include/show_msg80.inc
27940 USE db_storedproc;
27942 # ------------------------------------------------------------------------------
27943 let $message= Testcase 4.11.1:;
27944 --source include/show_msg80.inc
27946 # testcase: verify continue handler for error code 1318 (er_sp_wrong_no_of_args)
27947 --disable_warnings
27948 DROP PROCEDURE IF EXISTS h1;
27949 DROP PROCEDURE IF EXISTS sp1;
27950 --enable_warnings
27952 delimiter //;
27953 CREATE PROCEDURE sp1 (x int, y int)
27954 BEGIN
27955     set @y=x;
27956 END//
27957 delimiter ;//
27959 delimiter //;
27960 CREATE PROCEDURE h1 ()
27961 BEGIN
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;
27967 END//
27968 delimiter ;//
27970 CALL h1 ();
27972 # cleanup
27973 DROP PROCEDURE h1;
27974 DROP PROCEDURE sp1;
27978 # ------------------------------------------------------------------------------
27979 let $message= Testcase 4.11.2:;
27980 --source include/show_msg80.inc
27982 # testcase: verify continue handler for error code 1305 (er_sp_does_not_exist)
27984 --disable_warnings
27985 DROP PROCEDURE IF EXISTS h1;
27986 --enable_warnings
27988 delimiter //;
27989 CREATE PROCEDURE h1 ()
27990 BEGIN
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;
27996 END//
27997 delimiter ;//
27999 CALL h1 ();
28001 # cleanup
28002 DROP PROCEDURE h1;
28005 # ------------------------------------------------------------------------------
28006 let $message= Testcase 4.11.3:;
28007 --source include/show_msg80.inc
28009 # testcase: verify exit handler for error code 1318 (er_sp_wrong_no_of_args)
28011 --disable_warnings
28012 DROP PROCEDURE IF EXISTS h1;
28013 DROP PROCEDURE IF EXISTS sp1;
28014 --enable_warnings
28016 delimiter //;
28017 CREATE PROCEDURE sp1 (x int, y int)
28018 BEGIN
28019     set @xx=1;
28020 END//
28021 delimiter ;//
28023 delimiter //;
28024 CREATE PROCEDURE h1 ()
28025 BEGIN
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;
28031 END//
28032 delimiter ;//
28034 CALL h1();
28036   SELECT @x, @x2;
28038 # cleanup
28039 DROP PROCEDURE h1;
28040 DROP PROCEDURE sp1;
28044 # ------------------------------------------------------------------------------
28045 let $message= Testcase 4.11.4:;
28046 --source include/show_msg80.inc
28048 # testcase: verify exit handler for error code 1305 (er_sp_does_not_exist)
28050 --disable_warnings
28051 DROP PROCEDURE IF EXISTS h1;
28052 --enable_warnings
28054 delimiter //;
28055 CREATE PROCEDURE h1 ()
28056 BEGIN
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;
28062 END//
28063 delimiter ;//
28065 CALL h1 ();
28067   SELECT @x, @x2;
28069 # cleanup
28070 DROP PROCEDURE h1;
28074 # ------------------------------------------------------------------------------
28075 let $message= Testcase 4.11.5:;
28076 --source include/show_msg80.inc
28078 # testcase: verify undo handler for error code 1318 (er_sp_wrong_no_of_args)
28081 --disable_warnings
28082 DROP PROCEDURE IF EXISTS h1;
28083 DROP PROCEDURE IF EXISTS sp1;
28084 --enable_warnings
28086 delimiter //;
28087 CREATE PROCEDURE sp1 (x int, y int)
28088 BEGIN
28089     set @y=x;
28090 END//
28091 delimiter ;//
28093 delimiter //;
28094 CREATE PROCEDURE h1 ()
28095 BEGIN
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;
28101 END//
28102 delimiter ;//
28104 CALL h1 ();
28106 # cleanup
28107 DROP PROCEDURE h1;
28108 DROP PROCEDURE sp1;
28112 # ------------------------------------------------------------------------------
28113 let $message= Testcase 4.11.6:;
28114 --source include/show_msg80.inc
28116 # testcase: verify undo handler for error code 1305 (er_sp_does_not_exist)
28119 --disable_warnings
28120 DROP PROCEDURE IF EXISTS h1;
28121 DROP PROCEDURE IF EXISTS sp1;
28122 --enable_warnings
28124 delimiter //;
28125 CREATE PROCEDURE sp1 (x int, y int)
28126 BEGIN
28127     set @y=x;
28128 END//
28129 delimiter ;//
28131 delimiter //;
28132 CREATE PROCEDURE h1 ()
28133 BEGIN
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;
28139 END//
28140 delimiter ;//
28142 CALL h1 ();
28144 # cleanup
28145 DROP PROCEDURE h1;
28146 DROP PROCEDURE sp1;
28150 # ------------------------------------------------------------------------------
28151 let $message= Testcase 4.11.7:;
28152 --source include/show_msg80.inc
28154 # testcase: verify continue handler for sql state 42000 (er_sp_wrong_no_of_args)
28156 --disable_warnings
28157 DROP PROCEDURE IF EXISTS h1;
28158 DROP PROCEDURE IF EXISTS sp1;
28159 --enable_warnings
28161 delimiter //;
28162 CREATE PROCEDURE sp1 (x int, y int)
28163 BEGIN
28164     set @y=x;
28165 END//
28166 delimiter ;//
28168 delimiter //;
28169 CREATE PROCEDURE h1 ()
28170 BEGIN
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;
28176 END//
28177 delimiter ;//
28179 CALL h1 ();
28181 # cleanup
28182 DROP PROCEDURE h1;
28183 DROP PROCEDURE sp1;
28186 # ------------------------------------------------------------------------------
28187 let $message= Testcase 4.11.8:;
28188 --source include/show_msg80.inc
28190 # testcase: verify continue handler for sql state 42000 (er_sp_does_not_exist)
28192 --disable_warnings
28193 DROP PROCEDURE IF EXISTS h1;
28194 --enable_warnings
28197 delimiter //;
28198 CREATE PROCEDURE h1 ()
28199 BEGIN
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;
28205 END//
28206 delimiter ;//
28208 CALL h1 ();
28210 # cleanup
28211 DROP PROCEDURE h1;
28214 # ------------------------------------------------------------------------------
28215 let $message= Testcase 4.11.9:;
28216 --source include/show_msg80.inc
28218 # testcase: verify exit handler for sql state 42000 (er_sp_wrong_no_of_args)
28220 --disable_warnings
28221 DROP PROCEDURE IF EXISTS h1;
28222 DROP PROCEDURE IF EXISTS sp1;
28223 --enable_warnings
28225 delimiter //;
28226 CREATE PROCEDURE sp1 (x int, y int)
28227 BEGIN
28228     set @xx=1;
28229 END//
28230 delimiter ;//
28232 delimiter //;
28233 CREATE PROCEDURE h1 ()
28234 BEGIN
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;
28240 END//
28241 delimiter ;//
28243 CALL h1();
28245   SELECT @x, @x2;
28247 # cleanup
28248 DROP PROCEDURE h1;
28249 DROP PROCEDURE sp1;
28253 # ------------------------------------------------------------------------------
28254 let $message= Testcase 4.11.10:;
28255 --source include/show_msg80.inc
28257 # testcase: verify exit handler for sql state 42000 (er_sp_does_not_exist)
28259 --disable_warnings
28260 DROP PROCEDURE IF EXISTS h1;
28261 --enable_warnings
28263 delimiter //;
28264 CREATE PROCEDURE h1 ()
28265 BEGIN
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;
28271 END//
28272 delimiter ;//
28274 CALL h1 ();
28275   SELECT @x, @x2;
28277 # cleanup
28278 DROP PROCEDURE h1;
28282 # ------------------------------------------------------------------------------
28283 let $message= Testcase 4.11.11:;
28284 --source include/show_msg80.inc
28286 # testcase: verify undo handler for sql state 42000 (er_sp_wrong_no_of_args)
28288 --disable_warnings
28289 DROP PROCEDURE IF EXISTS h1;
28290 DROP PROCEDURE IF EXISTS sp1;
28291 --enable_warnings
28293 delimiter //;
28294 CREATE PROCEDURE sp1 (x int, y int)
28295 BEGIN
28296     set @y=x;
28297 END//
28298 delimiter ;//
28300 delimiter //;
28301 CREATE PROCEDURE h1 ()
28302 BEGIN
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;
28308 END//
28309 delimiter ;//
28311 CALL h1 ();
28313 # cleanup
28314 DROP PROCEDURE h1;
28315 DROP PROCEDURE sp1;
28319 # ------------------------------------------------------------------------------
28320 let $message= Testcase 4.11.12:;
28321 --source include/show_msg80.inc
28323 # testcase: verify undo handler for sql state 42000 (er_sp_does_not_exist)
28326 --disable_warnings
28327 DROP PROCEDURE IF EXISTS h1;
28328 DROP PROCEDURE IF EXISTS sp1;
28329 --enable_warnings
28331 delimiter //;
28332 CREATE PROCEDURE sp1 (x int, y int)
28333 BEGIN
28334     set @y=x;
28335 END//
28336 delimiter ;//
28338 delimiter //;
28339 CREATE PROCEDURE h1 ()
28340 BEGIN
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;
28346 END//
28347 delimiter ;//
28349 CALL h1 ();
28351 # cleanup
28352 DROP PROCEDURE h1;
28353 DROP PROCEDURE sp1;
28355 # ------------------------------------------------------------------------------
28356 let $message= Testcase 4.11.13:;
28357 --source include/show_msg80.inc
28359 # testcase: verify continue handler for sql state 02000 (er_sp_fetch_no_data)
28361 --disable_warnings
28362 DROP PROCEDURE IF EXISTS h1;
28363 drop table IF EXISTS res_t1;
28364 drop table IF EXISTS res_t2;
28365 --enable_warnings
28367   create table res_t1(w char, x char);
28369   create table res_t2(y char, z char);
28371 delimiter //;
28372 CREATE PROCEDURE h1()
28373 BEGIN
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;
28389 END//
28390 delimiter ;//
28392 CALL h1();
28394 # cleanup
28395 --disable_warnings
28396 DROP PROCEDURE IF EXISTS h1;
28397 DROP TABLE IF EXISTS res_t1;
28398 DROP TABLE IF EXISTS res_t2;
28399 --enable_warnings
28403 # ------------------------------------------------------------------------------
28404 let $message= Testcase 4.11.14:;
28405 --source include/show_msg80.inc
28407 # testcase: verify continue handler for error code 1329 (er_sp_fetch_no_data)
28409 --disable_warnings
28410 DROP PROCEDURE IF EXISTS h1;
28411 drop table IF EXISTS res_t1;
28412 drop table IF EXISTS res_t2;
28414   create table res_t1(w char, x char);
28416   create table res_t2(y char, z char);
28418 delimiter //;
28419 CREATE PROCEDURE h1()
28420 BEGIN
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;
28436 END//
28437 delimiter ;//
28439 CALL h1();
28441 # cleanup
28442 --disable_warnings
28443 DROP PROCEDURE IF EXISTS h1;
28444 DROP TABLE IF EXISTS res_t1;
28445 DROP TABLE IF EXISTS res_t2;
28446 --enable_warnings
28450 # ------------------------------------------------------------------------------
28451 let $message= Testcase 4.11.15:;
28452 --source include/show_msg80.inc
28454 # testcase: verify exit handler for error code 1329 (er_sp_fetch_no_data)
28456 --disable_warnings
28457 DROP PROCEDURE IF EXISTS h1;
28458 drop table IF EXISTS res_t1;
28459 drop table IF EXISTS res_t2;
28460 --enable_warnings
28462   create table res_t1(w char, x char);
28464   create table res_t2(y char, z char);
28466 delimiter //;
28467 CREATE PROCEDURE h1()
28468 BEGIN
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;
28485 END//
28486 delimiter ;//
28488 CALL h1();
28490 # cleanup
28491 --disable_warnings
28492 DROP PROCEDURE IF EXISTS h1;
28493 DROP TABLE IF EXISTS res_t1;
28494 DROP TABLE IF EXISTS res_t2;
28495 --enable_warnings
28498 # ------------------------------------------------------------------------------
28499 let $message= Testcase 4.11.16:;
28500 --source include/show_msg80.inc
28502 # testcase: verify exit handler for sql state '02000' (er_sp_fetch_no_data)
28504 --disable_warnings
28505 DROP PROCEDURE IF EXISTS h1;
28506 drop table IF EXISTS res_t1;
28507 drop table IF EXISTS res_t2;
28508 --enable_warnings
28510   create table res_t1(w char, x char);
28512   create table res_t2(y char, z char);
28514 delimiter //;
28515 CREATE PROCEDURE h1()
28516 BEGIN
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;
28533 END//
28534 delimiter ;//
28536 CALL h1();
28538 # cleanup
28539 --disable_warnings
28540 DROP PROCEDURE IF EXISTS h1;
28541 DROP TABLE IF EXISTS res_t1;
28542 DROP TABLE IF EXISTS res_t2;
28543 --enable_warnings
28546 # ------------------------------------------------------------------------------
28547 let $message= Testcase 4.11.17:;
28548 --source include/show_msg80.inc
28550 # testcase: verify continue handler for sql state HY000 (er_sp_wrong_no_of_fetch_args)
28552 --disable_warnings
28553 DROP PROCEDURE IF EXISTS h1;
28554 drop table IF EXISTS res_t1;
28555 drop table IF EXISTS res_t2;
28556 --enable_warnings
28558   create table res_t1(w char, x char);
28560   insert into res_t1 values('a', 'b');
28561   insert into res_t1 values('c', 'd');
28563   create table res_t2(y char, z char);
28565 delimiter //;
28566 CREATE PROCEDURE h1()
28567 BEGIN
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;
28577 END//
28578 delimiter ;//
28580 CALL h1();
28582 # cleanup
28583 --disable_warnings
28584 DROP PROCEDURE IF EXISTS h1;
28585 DROP TABLE IF EXISTS res_t1;
28586 DROP TABLE IF EXISTS res_t2;
28587 --enable_warnings
28590 # ------------------------------------------------------------------------------
28591 let $message= Testcase 4.11.18:;
28592 --source include/show_msg80.inc
28594 # testcase: verify continue handler for error code 1328 (er_sp_wrong_no_of_fetch_args)
28596 --disable_warnings
28597 DROP PROCEDURE IF EXISTS h1;
28598 drop table IF EXISTS res_t1;
28599 drop table IF EXISTS res_t2;
28600 --enable_warnings
28602   create table res_t1(w char, x char);
28604   insert into res_t1 values('a', 'b');
28605   insert into res_t1 values('c', 'd');
28607   create table res_t2(y char, z char);
28609 delimiter //;
28610 CREATE PROCEDURE h1()
28611 BEGIN
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;
28621 END//
28622 delimiter ;//
28624 CALL h1();
28626 # cleanup
28627 --disable_warnings
28628 DROP PROCEDURE IF EXISTS h1;
28629 DROP TABLE IF EXISTS res_t1;
28630 DROP TABLE IF EXISTS res_t2;
28631 --enable_warnings
28633 # ------------------------------------------------------------------------------
28634 let $message= Testcase 4.11.19:;
28635 --source include/show_msg80.inc
28637 # testcase: verify exit handler for sql state HY000 (er_sp_wrong_no_of_fetch_args)
28639 --disable_warnings
28640 DROP PROCEDURE IF EXISTS h1;
28641 drop table IF EXISTS res_t1;
28642 drop table IF EXISTS res_t2;
28643 --enable_warnings
28645   create table res_t1(w char, x char);
28647   insert into res_t1 values('a', 'b');
28648   insert into res_t1 values('c', 'd');
28650   create table res_t2(y char, z char);
28652 delimiter //;
28653 CREATE PROCEDURE h1()
28654 BEGIN
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;
28666 END//
28667 delimiter ;//
28669 CALL h1();
28671 # cleanup
28672 --disable_warnings
28673 DROP PROCEDURE IF EXISTS h1;
28674 DROP TABLE IF EXISTS res_t1;
28675 DROP TABLE IF EXISTS res_t2;
28676 --enable_warnings
28678 # ------------------------------------------------------------------------------
28679 let $message= Testcase 4.11.20:;
28680 --source include/show_msg80.inc
28682 # testcase: verify exit handler for error code 1328 (er_sp_wrong_no_of_fetch_args)
28684 --disable_warnings
28685 DROP PROCEDURE IF EXISTS h1;
28686 drop table IF EXISTS res_t1;
28687 drop table IF EXISTS res_t2;
28688 --enable_warnings
28690   create table res_t1(w char, x char);
28692   insert into res_t1 values('a', 'b');
28693   insert into res_t1 values('c', 'd');
28695   create table res_t2(y char, z char);
28697 delimiter //;
28698 CREATE PROCEDURE h1()
28699 BEGIN
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;
28711 END//
28712 delimiter ;//
28714 CALL h1();
28716 # cleanup
28717 --disable_warnings
28718 DROP PROCEDURE IF EXISTS h1;
28719 DROP TABLE IF EXISTS res_t1;
28720 DROP TABLE IF EXISTS res_t2;
28721 --enable_warnings
28724 # ------------------------------------------------------------------------------
28725 let $message= Testcase 4.11.21:;
28726 --source include/show_msg80.inc
28728 # testcase: verify continue handler for error code 1325 (er_sp_cursor_already_open)
28730 --disable_warnings
28731 DROP PROCEDURE IF EXISTS h1;
28732 drop table IF EXISTS res_t1;
28733 drop table IF EXISTS res_t2;
28734 --enable_warnings
28736   create table res_t1(w char, x char);
28738   insert into res_t1 values('a', 'b');
28739   insert into res_t1 values('c', 'd');
28741   create table res_t2(y char, z char);
28743 delimiter //;
28744 CREATE PROCEDURE h1()
28745 BEGIN
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;
28755 END//
28756 delimiter ;//
28758 CALL h1();
28760 # cleanup
28761 --disable_warnings
28762 DROP PROCEDURE IF EXISTS h1;
28763 DROP TABLE IF EXISTS res_t1;
28764 DROP TABLE IF EXISTS res_t2;
28765 --enable_warnings
28767 # ------------------------------------------------------------------------------
28768 let $message= Testcase 4.11.22:;
28769 --source include/show_msg80.inc
28771 # testcase: verify continue handler for sqlstate 24000 (er_sp_cursor_already_open)
28773 --disable_warnings
28774 DROP PROCEDURE IF EXISTS h1;
28775 drop table IF EXISTS res_t1;
28776 drop table IF EXISTS res_t2;
28777 --enable_warnings
28779   create table res_t1(w char, x char);
28781   insert into res_t1 values('a', 'b');
28782   insert into res_t1 values('c', 'd');
28784   create table res_t2(y char, z char);
28786 delimiter //;
28787 CREATE PROCEDURE h1()
28788 BEGIN
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;
28799 END//
28800 delimiter ;//
28802 CALL h1();
28804 # cleanup
28805 --disable_warnings
28806 DROP PROCEDURE IF EXISTS h1;
28807 DROP TABLE IF EXISTS res_t1;
28808 DROP TABLE IF EXISTS res_t2;
28809 --enable_warnings
28811 # ------------------------------------------------------------------------------
28812 let $message= Testcase 4.11.23:;
28813 --source include/show_msg80.inc
28815 # testcase: verify exit handler for error code 1325 (er_sp_cursor_already_open)
28817 --disable_warnings
28818 DROP PROCEDURE IF EXISTS h1;
28819 drop table IF EXISTS res_t1;
28820 drop table IF EXISTS res_t2;
28821 --enable_warnings
28823   create table res_t1(w char, x char);
28825   insert into res_t1 values('a', 'b');
28826   insert into res_t1 values('c', 'd');
28828   create table res_t2(y char, z char);
28830 delimiter //;
28831 CREATE PROCEDURE h1()
28832 BEGIN
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;
28844 END//
28845 delimiter ;//
28847 CALL h1();
28849 # cleanup
28850 --disable_warnings
28851 DROP PROCEDURE IF EXISTS h1;
28852 DROP TABLE IF EXISTS res_t1;
28853 DROP TABLE IF EXISTS res_t2;
28854 --enable_warnings
28856 # ------------------------------------------------------------------------------
28857 let $message= Testcase 4.11.24:;
28858 --source include/show_msg80.inc
28860 # testcase: verify exit handler for sqlstate 24000 (er_sp_cursor_already_open)
28862 --disable_warnings
28863 DROP PROCEDURE IF EXISTS h1;
28864 drop table IF EXISTS res_t1;
28865 drop table IF EXISTS res_t2;
28866 --enable_warnings
28868   create table res_t1(w char, x char);
28870   insert into res_t1 values('a', 'b');
28871   insert into res_t1 values('c', 'd');
28873   create table res_t2(y char, z char);
28875 delimiter //;
28876 CREATE PROCEDURE h1()
28877 BEGIN
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;
28889 END//
28890 delimiter ;//
28892 CALL h1();
28894 # cleanup
28895 --disable_warnings
28896 DROP PROCEDURE IF EXISTS h1;
28897 DROP TABLE IF EXISTS res_t1;
28898 DROP TABLE IF EXISTS res_t2;
28899 --enable_warnings
28901 # ------------------------------------------------------------------------------
28902 let $message= Testcase 4.11.25:;
28903 --source include/show_msg80.inc
28905 # testcase: verify continue handler for error code 1326 (er_sp_cursor_not_open)
28907 --disable_warnings
28908 DROP PROCEDURE IF EXISTS h1;
28909 drop table IF EXISTS res_t1;
28910 drop table IF EXISTS res_t2;
28911 --enable_warnings
28913   create table res_t1(w char, x char);
28915   insert into res_t1 values('a', 'b');
28916   insert into res_t1 values('c', 'd');
28918   create table res_t2(y char, z char);
28920 delimiter //;
28921 CREATE PROCEDURE h1()
28922 BEGIN
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;
28931 END//
28932 delimiter ;//
28934 CALL h1();
28936 # cleanup
28937 --disable_warnings
28938 DROP PROCEDURE IF EXISTS h1;
28939 DROP TABLE IF EXISTS res_t1;
28940 DROP TABLE IF EXISTS res_t2;
28941 --enable_warnings
28945 # ------------------------------------------------------------------------------
28946 let $message= Testcase 4.11.26:;
28947 --source include/show_msg80.inc
28949 # testcase: verify continue handler for sqlstate 24000 (er_sp_cursor_not_open)
28951 --disable_warnings
28952 DROP PROCEDURE IF EXISTS h1;
28953 drop table IF EXISTS res_t1;
28954 drop table IF EXISTS res_t2;
28955 --enable_warnings
28957   create table res_t1(w char, x char);
28959   insert into res_t1 values('a', 'b');
28960   insert into res_t1 values('c', 'd');
28962   create table res_t2(y char, z char);
28964 delimiter //;
28965 CREATE PROCEDURE h1()
28966 BEGIN
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;
28975 END//
28976 delimiter ;//
28978 CALL h1();
28980 # cleanup
28981 --disable_warnings
28982 DROP PROCEDURE IF EXISTS h1;
28983 DROP TABLE IF EXISTS res_t1;
28984 DROP TABLE IF EXISTS res_t2;
28985 --enable_warnings
28988 # ------------------------------------------------------------------------------
28989 let $message= Testcase 4.11.27:;
28990 --source include/show_msg80.inc
28992 # testcase: verify exit handler for error code 1326 (er_sp_cursor_not_open)
28994 --disable_warnings
28995 DROP PROCEDURE IF EXISTS h1;
28996 drop table IF EXISTS res_t1;
28997 drop table IF EXISTS res_t2;
28998 --enable_warnings
29000   create table res_t1(w char, x char);
29002   insert into res_t1 values('a', 'b');
29003   insert into res_t1 values('c', 'd');
29005   create table res_t2(y char, z char);
29007 delimiter //;
29008 CREATE PROCEDURE h1()
29009 BEGIN
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;
29018 END//
29019 delimiter ;//
29021 CALL h1();
29023 # cleanup
29024 --disable_warnings
29025 DROP PROCEDURE IF EXISTS h1;
29026 DROP TABLE IF EXISTS res_t1;
29027 DROP TABLE IF EXISTS res_t2;
29028 --enable_warnings
29031 # ------------------------------------------------------------------------------
29032 let $message= Testcase 4.11.28:;
29033 --source include/show_msg80.inc
29035 # testcase: verify exit handler for sqlstate 24000 (er_sp_cursor_not_open)
29037 --disable_warnings
29038 DROP PROCEDURE IF EXISTS h1;
29039 drop table IF EXISTS res_t1;
29040 drop table IF EXISTS res_t2;
29041 --enable_warnings
29043   create table res_t1(w char, x char);
29045   insert into res_t1 values('a', 'b');
29046   insert into res_t1 values('c', 'd');
29048   create table res_t2(y char, z char);
29050 delimiter //;
29051 CREATE PROCEDURE h1()
29052 BEGIN
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;
29061 END//
29062 delimiter ;//
29064 CALL h1();
29066 # cleanup
29067 --disable_warnings
29068 DROP PROCEDURE IF EXISTS h1;
29069 drop table IF EXISTS res_t1;
29070 drop table IF EXISTS res_t2;
29071 --enable_warnings
29074 # ------------------------------------------------------------------------------
29075 let $message= Testcase 4.11.29:;
29076 --source include/show_msg80.inc
29078 # testcase: verify continue handler for error code 1339 (er_sp_case_not_found)
29080 --disable_warnings
29081 DROP PROCEDURE IF EXISTS h1;
29082 drop table IF EXISTS res_t1;
29083 drop table IF EXISTS res_t2;
29084 --enable_warnings
29086   create table res_t1(w char, x char);
29088   insert into res_t1 values('a', 'b');
29089   insert into res_t1 values('c', 'd');
29091   create table res_t2(y char, z char);
29093 delimiter //;
29094 CREATE PROCEDURE h1()
29095 BEGIN
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;
29107 END//
29108 delimiter ;//
29110 CALL h1();
29112 # cleanup
29113 --disable_warnings
29114 DROP PROCEDURE IF EXISTS h1;
29115 drop table IF EXISTS res_t1;
29116 drop table IF EXISTS res_t2;
29117 --enable_warnings
29120 # ------------------------------------------------------------------------------
29121 let $message= Testcase 4.11.30:;
29122 --source include/show_msg80.inc
29124 # testcase: verify continue handler for sqlstate 20000 (er_sp_case_not_found)
29126 --disable_warnings
29127 DROP PROCEDURE IF EXISTS h1;
29128 drop table IF EXISTS res_t1;
29129 drop table IF EXISTS res_t2;
29130 --enable_warnings
29132   create table res_t1(w char, x char);
29134   insert into res_t1 values('a', 'b');
29135   insert into res_t1 values('c', 'd');
29137   create table res_t2(y char, z char);
29139 delimiter //;
29140 CREATE PROCEDURE h1()
29141 BEGIN
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;
29153 END//
29154 delimiter ;//
29156 CALL h1();
29158 # cleanup
29159 --disable_warnings
29160 DROP PROCEDURE IF EXISTS h1;
29161 drop table IF EXISTS res_t1;
29162 drop table IF EXISTS res_t2;
29163 --enable_warnings
29166 # ------------------------------------------------------------------------------
29167 let $message= Testcase 4.11.31:;
29168 --source include/show_msg80.inc
29170 # testcase: verify exit handler for error code 1339 (er_sp_case_not_found)
29172 --disable_warnings
29173 DROP PROCEDURE IF EXISTS h1;
29174 drop table IF EXISTS res_t1;
29175 drop table IF EXISTS res_t2;
29176 --enable_warnings
29178   create table res_t1(w char, x char);
29180   insert into res_t1 values('a', 'b');
29181   insert into res_t1 values('c', 'd');
29183   create table res_t2(y char, z char);
29185 delimiter //;
29186 CREATE PROCEDURE h1()
29187 BEGIN
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;
29199 END//
29200 delimiter ;//
29202 CALL h1();
29204 # cleanup
29205 --disable_warnings
29206 DROP PROCEDURE IF EXISTS h1;
29207 drop table IF EXISTS res_t1;
29208 drop table IF EXISTS res_t2;
29209 --enable_warnings
29212 # ------------------------------------------------------------------------------
29213 let $message= Testcase 4.11.32:;
29214 --source include/show_msg80.inc
29216 # testcase: verify exit handler for sqlstate 20000 (er_sp_case_not_found)
29218 --disable_warnings
29219 DROP PROCEDURE IF EXISTS h1;
29220 drop table IF EXISTS res_t1;
29221 drop table IF EXISTS res_t2;
29222 --enable_warnings
29224   create table res_t1(w char, x char);
29226   insert into res_t1 values('a', 'b');
29227   insert into res_t1 values('c', 'd');
29229   create table res_t2(y char, z char);
29231 delimiter //;
29232 CREATE PROCEDURE h1()
29233 BEGIN
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;
29245 END//
29246 delimiter ;//
29248 CALL h1();
29250 # cleanup
29251 --disable_warnings
29252 DROP PROCEDURE IF EXISTS h1;
29253 DROP TABLE IF EXISTS res_t1;
29254 DROP TABLE IF EXISTS res_t2;
29255 --enable_warnings
29257 # ------------------------------------------------------------------------------
29258 let $message= Testcase 4.11.33:;
29259 --source include/show_msg80.inc
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)
29264 --disable_warnings
29265 DROP PROCEDURE IF EXISTS h1;
29266 drop table IF EXISTS res_t1;
29267 --enable_warnings
29269   create table res_t1(w char, x char);
29271   insert into res_t1 values('a', 'b');
29272   insert into res_t1 values('c', 'd');
29274 delimiter //;
29275 --error ER_SP_DUP_COND
29276 CREATE PROCEDURE h1()
29277 BEGIN
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;
29290 END//
29291 delimiter ;//
29293 # cleanup
29294 --disable_warnings
29295 DROP TABLE IF EXISTS res_t1;
29296 --enable_warnings
29299 # ------------------------------------------------------------------------------
29300 let $message= Testcase 4.11.35:;
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.;
29306 --source include/show_msg80.inc
29308 --disable_warnings
29309 DROP PROCEDURE IF EXISTS h1;
29310 drop table IF EXISTS res_t1;
29311 --enable_warnings
29313 CREATE TABLE res_t1(w INT UNIQUE, x CHAR);
29315 insert into res_t1 values (1, 'a');
29317 delimiter //;
29319 --error ER_SP_BAD_SQLSTATE
29320 CREATE PROCEDURE h1 ()
29321 begin1_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;
29335 END begin1_label//
29337 --error ER_SP_BAD_SQLSTATE
29338 CREATE PROCEDURE h1 ()
29339 begin1_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;
29350 END begin1_label//
29351 delimiter ;//
29353 # cleanup
29354 --disable_warnings
29355 DROP TABLE IF EXISTS res_t1;
29356 --enable_warnings
29359 # ------------------------------------------------------------------------------
29360 let $message= Testcase 4.11.36:;
29361 --source include/show_msg80.inc
29363 # testcase: ensure that the declare  condition for statement cannot declare a condition for the successful
29364 #            completion sqlstate:  00000.
29367 --disable_warnings
29368 DROP PROCEDURE IF EXISTS h1;
29369 --enable_warnings
29371 delimiter //;
29372 CREATE PROCEDURE h1 ()
29373 BEGIN
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;
29382 END//
29383 delimiter ;//
29385 # cleanup
29386 --disable_warnings
29387 DROP PROCEDURE IF EXISTS h1;
29388 --enable_warnings
29395 # ------------------------------------------------------------------------------
29396 let $message= Testcase 4.11.40:;
29397 --source include/show_msg80.inc
29399 # testcase: ensure that within the same scope, no two handlers may be declared for the same condition
29401 --disable_warnings
29402 DROP PROCEDURE IF EXISTS h1;
29403 DROP TABLE IF EXISTS res_t1;
29404 --enable_warnings
29406 CREATE TABLE res_t1(w CHAR UNIQUE, x CHAR);
29407 INSERT INTO res_t1 VALUES ('a', 'b');
29409 # suppressed--error for having two similar handlers in the same scope
29411 delimiter //;
29412 --error ER_SP_DUP_HANDLER
29413 CREATE PROCEDURE h1 ()
29414 BEGIN
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;
29423 END//
29424 delimiter ;//
29426 #CALL h1();
29428 # cleanup
29429 --disable_warnings
29430 DROP PROCEDURE IF EXISTS h1;
29431 DROP TABLE IF EXISTS res_t1;
29432 --enable_warnings
29435 # ------------------------------------------------------------------------------
29436 let $message= Testcase 4.11.41:;
29437 --source include/show_msg80.inc
29439 # testcase: ensure that the declare  handler for statement cannot declare a condition for the successful
29440 #            completion sqlstate:  00000.
29442 --disable_warnings
29443 DROP PROCEDURE IF EXISTS h1;
29444 --enable_warnings
29446 delimiter //;
29447 CREATE PROCEDURE h1 ()
29448 BEGIN
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;
29457 END//
29458 delimiter ;//
29460 CALL h1();
29462 # cleanup
29463 --disable_warnings
29464 DROP PROCEDURE IF EXISTS h1;
29465 --enable_warnings
29468 # ------------------------------------------------------------------------------
29469 # FIXME 3.1.2.53: check numbering difference
29470 let $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
29476 --disable_warnings
29477 DROP PROCEDURE IF EXISTS h1;
29478 DROP TABLE IF EXISTS res_t1;
29479 --enable_warnings
29481 delimiter //;
29482 CREATE PROCEDURE h1()
29483 BEGIN
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;
29489 END//
29490 delimiter ;//
29492 # table doesn't exist
29493 --error ER_NO_SUCH_TABLE
29494 CALL h1();
29495 SELECT @done, @x;
29497 CREATE TABLE res_t1(w CHAR, x CHAR);
29498 INSERT INTO res_t1 VALUES('a', 'b');
29499 INSERT INTO res_t1 VALUES('c', 'd');
29501 # now table exists
29502 CALL h1();
29503 SELECT @done, @x;
29505 --disable_warnings
29506 DROP PROCEDURE IF EXISTS h1;
29507 DROP TABLE IF EXISTS res_t1;
29508 --enable_warnings
29510 delimiter //;
29511 CREATE PROCEDURE h1()
29512 BEGIN
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;
29518 END//
29519 delimiter ;//
29521 # table doesn't exist
29522 --error ER_NO_SUCH_TABLE
29523 CALL h1();
29524 SELECT @done, @x;
29526 CREATE TABLE res_t1(w CHAR, x CHAR);
29527 INSERT INTO res_t1 VALUES('a', 'b');
29528 INSERT INTO res_t1 VALUES('c', 'd');
29530 # now table exists
29531 CALL h1();
29532 SELECT @done, @x;
29534 # cleanup
29535 --disable_warnings
29536 DROP PROCEDURE IF EXISTS h1;
29537 DROP TABLE IF EXISTS res_t1;
29538 --enable_warnings
29541 # ==============================================================================
29542 # USE the same .inc to cleanup before and after the test
29543 --source suite/funcs_1/storedproc/cleanup_sp_tb.inc
29545 # ==============================================================================
29546 let $message= .                               +++ END OF SCRIPT +++;
29547 --source include/show_msg80.inc
29548 # ==============================================================================