diff options
Diffstat (limited to 'mysql-test/main/sp-fib.result')
-rw-r--r-- | mysql-test/main/sp-fib.result | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/main/sp-fib.result b/mysql-test/main/sp-fib.result new file mode 100644 index 00000000000..a26e104c1e8 --- /dev/null +++ b/mysql-test/main/sp-fib.result @@ -0,0 +1,33 @@ +drop table if exists t3; +create table t3 ( f bigint unsigned not null ); +drop procedure if exists fib; +create procedure fib(n int unsigned) +begin +if n > 1 then +begin +declare x, y bigint unsigned; +declare c cursor for select f from t3 order by f desc limit 2; +open c; +fetch c into y; +fetch c into x; +insert into t3 values (x+y); +call fib(n-1); +## Close the cursor AFTER the recursion to ensure that the stack +## frame is somewhat intact. +close c; +end; +end if; +end| +set @@max_sp_recursion_depth= 20| +insert into t3 values (0), (1)| +call fib(4)| +select * from t3 order by f asc| +f +0 +1 +1 +2 +3 +drop table t3| +drop procedure fib| +set @@max_sp_recursion_depth= 0| |