1use test;
2SELECT
3((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
4((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
5((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
61
7))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
8))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
9))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
10;
111
121
13prepare stmt from
14"
15SELECT
16((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
17((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
18((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
191
20))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
21))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
22))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
23"
24;
25execute stmt;
261
271
28drop view if exists view_overflow;
29CREATE VIEW view_overflow AS
30SELECT
31((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
32((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
33((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
341
35))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
36))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
37))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
38;
39SELECT * from view_overflow;
401
411
42drop view view_overflow;
43drop procedure if exists proc_overflow;
44CREATE PROCEDURE proc_overflow()
45BEGIN
46BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
47BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
48BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
49BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
50BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
51BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
52BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
53BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
54BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
55BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
56select 1;
57select 2;
58select 3;
59END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
60END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
61END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
62END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
63END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
64END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
65END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
66END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
67END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
68END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
69END $$
70call proc_overflow();
711
721
732
742
753
763
77drop procedure proc_overflow;
78drop function if exists func_overflow;
79create function func_overflow() returns int
80BEGIN
81DECLARE x int default 0;
82BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
83BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
84BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
85BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
86BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
87BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
88BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
89BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
90BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
91BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
92SET x=x+1;
93SET x=x+2;
94SET x=x+3;
95END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
96END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
97END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
98END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
99END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
100END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
101END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
102END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
103END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
104END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
105return x;
106END $$
107select func_overflow();
108func_overflow()
1096
110drop function func_overflow;
111drop table if exists table_overflow;
112create table table_overflow(a int, b int);
113create trigger trigger_overflow before insert on table_overflow
114for each row
115BEGIN
116BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
117BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
118BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
119BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
120BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
121BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
122BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
123BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
124BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
125BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN
126SET NEW.b := NEW.a;
127SET NEW.b := NEW.b + 1;
128SET NEW.b := NEW.b + 2;
129SET NEW.b := NEW.b + 3;
130END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
131END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
132END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
133END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
134END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
135END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
136END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
137END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
138END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
139END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;  END;
140END $$
141insert into table_overflow set a=10;
142insert into table_overflow set a=20;
143select * from table_overflow;
144a	b
14510	16
14620	26
147drop table table_overflow;
148drop procedure if exists proc_35577;
149CREATE PROCEDURE proc_35577()
150BEGIN
151DECLARE z_done INT DEFAULT 0;
152DECLARE t_done VARCHAR(5000);
153outer_loop: LOOP
154IF t_done=1  THEN
155LEAVE outer_loop;
156END IF;
157inner_block:BEGIN
158DECLARE z_done INT DEFAULT  0;
159SET z_done = 0;
160inner_loop: LOOP
161IF z_done=1  THEN
162LEAVE inner_loop;
163END IF;
164IF (t_done = 'a') THEN
165IF (t_done <> 0) THEN
166IF ( t_done > 0) THEN
167IF (t_done = 'a') THEN
168SET t_done = 'a';
169ELSEIF (t_done = 'a') THEN
170SET t_done = 'a';
171ELSEIF(t_done = 'a') THEN
172SET t_done = 'a';
173ELSEIF(t_done = 'a') THEN
174SET t_done = 'a';
175ELSEIF(t_done = 'a') THEN
176SET t_done = 'a';
177ELSEIF(t_done = 'a') THEN
178SET t_done = 'a';
179ELSEIF(t_done = 'a') THEN
180SET t_done = 'a';
181ELSEIF(t_done = 'a') THEN
182SET t_done = 'a';
183END IF;
184END IF;
185END IF;
186END IF;
187END LOOP inner_loop;
188END inner_block;
189END LOOP outer_loop;
190END $$
191drop procedure proc_35577;
192drop procedure if exists p_37269;
193create procedure p_37269()
194begin
195declare done int default 0;
196declare varb int default 0;
197declare vara int default 0;
198repeat
199select now();
200until done end repeat;
201while varb do
202select now();
203begin
204select now();
205repeat
206select now();
207until done end repeat;
208if vara then
209select now();
210repeat
211select now();
212loop
213select now();
214end loop;
215repeat
216select now();
217label1: while varb do
218select now();
219end while label1;
220if vara then
221select now();
222repeat
223select now();
224until done end repeat;
225begin
226select now();
227while varb do
228select now();
229label1: while varb do
230select now();
231end while label1;
232if vara then
233select now();
234while varb do
235select now();
236loop
237select now();
238end loop;
239repeat
240select now();
241loop
242select now();
243while varb do
244select now();
245end while;
246repeat
247select now();
248label1: loop
249select now();
250if vara then
251select now();
252end if;
253end loop label1;
254until done end repeat;
255end loop;
256until done end repeat;
257end while;
258end if;
259end while;
260end;
261end if;
262until done end repeat;
263until done end repeat;
264end if;
265end;
266end while;
267end $$
268drop procedure p_37269;
269drop procedure if exists p_37228;
270create procedure p_37228 ()
271BEGIN
272DECLARE v INT DEFAULT 123;
273IF (v > 1) THEN SET v = 1;
274ELSEIF (v < 10) THEN SET v = 10;
275ELSEIF (v < 11) THEN SET v = 11;
276ELSEIF (v < 12) THEN SET v = 12;
277ELSEIF (v < 13) THEN SET v = 13;
278ELSEIF (v < 14) THEN SET v = 14;
279ELSEIF (v < 15) THEN SET v = 15;
280ELSEIF (v < 16) THEN SET v = 16;
281ELSEIF (v < 17) THEN SET v = 17;
282ELSEIF (v < 18) THEN SET v = 18;
283ELSEIF (v < 19) THEN SET v = 19;
284ELSEIF (v < 20) THEN SET v = 20;
285ELSEIF (v < 21) THEN SET v = 21;
286ELSEIF (v < 22) THEN SET v = 22;
287ELSEIF (v < 23) THEN SET v = 23;
288ELSEIF (v < 24) THEN SET v = 24;
289ELSEIF (v < 25) THEN SET v = 25;
290ELSEIF (v < 26) THEN SET v = 26;
291ELSEIF (v < 27) THEN SET v = 27;
292ELSEIF (v < 28) THEN SET v = 28;
293ELSEIF (v < 29) THEN SET v = 29;
294ELSEIF (v < 30) THEN SET v = 30;
295ELSEIF (v < 31) THEN SET v = 31;
296ELSEIF (v < 32) THEN SET v = 32;
297ELSEIF (v < 33) THEN SET v = 33;
298ELSEIF (v < 34) THEN SET v = 34;
299ELSEIF (v < 35) THEN SET v = 35;
300ELSEIF (v < 36) THEN SET v = 36;
301ELSEIF (v < 37) THEN SET v = 37;
302ELSEIF (v < 38) THEN SET v = 38;
303ELSEIF (v < 39) THEN SET v = 39;
304END IF;
305END $$
306drop procedure p_37228;
307