Commit 3dce5fa4 authored by antony@ltantony.mysql.com's avatar antony@ltantony.mysql.com

Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0

into ltantony.mysql.com:/usr/home/antony/work2/megapatch-5.0
parents 4fe845e8 25cf90ed
...@@ -115,6 +115,7 @@ jcole@sarvik.tfr.cafe.ee ...@@ -115,6 +115,7 @@ jcole@sarvik.tfr.cafe.ee
jcole@tetra.spaceapes.com jcole@tetra.spaceapes.com
jimw@mysql.com jimw@mysql.com
joerg@mysql.com joerg@mysql.com
joerg@trift-lap.fambruehe
jon@gigan. jon@gigan.
jonas@mysql.com jonas@mysql.com
joreland@bk-internal.mysql.com joreland@bk-internal.mysql.com
......
...@@ -1404,11 +1404,10 @@ show procedure status like '%p%'| ...@@ -1404,11 +1404,10 @@ show procedure status like '%p%'|
Db Name Type Definer Modified Created Security_type Comment Db Name Type Definer Modified Created Security_type Comment
drop table if exists fib| drop table if exists fib|
create table fib ( f bigint unsigned not null )| create table fib ( f bigint unsigned not null )|
insert into fib values (1), (1)|
drop procedure if exists fib| drop procedure if exists fib|
create procedure fib(n int unsigned) create procedure fib(n int unsigned)
begin begin
if n > 0 then if n > 1 then
begin begin
declare x, y bigint unsigned; declare x, y bigint unsigned;
declare c cursor for select f from fib order by f desc limit 2; declare c cursor for select f from fib order by f desc limit 2;
...@@ -1421,9 +1420,20 @@ call fib(n-1); ...@@ -1421,9 +1420,20 @@ call fib(n-1);
end; end;
end if; end if;
end| end|
insert into fib values (0), (1)|
call fib(3)|
select * from fib order by f asc|
f
0
1
1
2
delete from fib|
insert into fib values (0), (1)|
call fib(20)| call fib(20)|
select * from fib order by f asc| select * from fib order by f asc|
f f
0
1 1
1 1
2 2
...@@ -1444,8 +1454,6 @@ f ...@@ -1444,8 +1454,6 @@ f
2584 2584
4181 4181
6765 6765
10946
17711
drop table fib| drop table fib|
drop procedure fib| drop procedure fib|
drop procedure if exists bar| drop procedure if exists bar|
......
...@@ -1634,8 +1634,6 @@ drop table if exists fib| ...@@ -1634,8 +1634,6 @@ drop table if exists fib|
--enable_warnings --enable_warnings
create table fib ( f bigint unsigned not null )| create table fib ( f bigint unsigned not null )|
insert into fib values (1), (1)|
# We deliberately do it the awkward way, fetching the last two # We deliberately do it the awkward way, fetching the last two
# values from the table, in order to exercise various statements # values from the table, in order to exercise various statements
# and table accesses at each turn. # and table accesses at each turn.
...@@ -1644,7 +1642,7 @@ drop procedure if exists fib| ...@@ -1644,7 +1642,7 @@ drop procedure if exists fib|
--enable_warnings --enable_warnings
create procedure fib(n int unsigned) create procedure fib(n int unsigned)
begin begin
if n > 0 then if n > 1 then
begin begin
declare x, y bigint unsigned; declare x, y bigint unsigned;
declare c cursor for select f from fib order by f desc limit 2; declare c cursor for select f from fib order by f desc limit 2;
...@@ -1659,6 +1657,20 @@ begin ...@@ -1659,6 +1657,20 @@ begin
end if; end if;
end| end|
# Minimum test: recursion of 3 levels
insert into fib values (0), (1)|
call fib(3)|
select * from fib order by f asc|
delete from fib|
# Original test: 20 levels (may run into memory limits!)
insert into fib values (0), (1)|
call fib(20)| call fib(20)|
select * from fib order by f asc| select * from fib order by f asc|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment