diff options
author | Bernt M. Johnsen <bernt.johnsen@sun.com> | 2009-07-03 10:32:17 +0200 |
---|---|---|
committer | Bernt M. Johnsen <bernt.johnsen@sun.com> | 2009-07-03 10:32:17 +0200 |
commit | 768f5b08fb3b46706b2e634134f33d0fa2776ab6 (patch) | |
tree | 936ae3cc098b3529ae1f382626dee3feda2ac6cd | |
parent | fdf1461a4f987f7e2943112e1dd31d966fa57f4f (diff) | |
parent | 7bb5986d937fd81cf99ce6db82780db38ae3513d (diff) | |
download | mariadb-git-768f5b08fb3b46706b2e634134f33d0fa2776ab6.tar.gz |
Prepare for push
-rw-r--r-- | mysql-test/r/sp-fib.result | 21 | ||||
-rw-r--r-- | mysql-test/t/sp-fib.test | 24 |
2 files changed, 13 insertions, 32 deletions
diff --git a/mysql-test/r/sp-fib.result b/mysql-test/r/sp-fib.result index 50183221f03..a26e104c1e8 100644 --- a/mysql-test/r/sp-fib.result +++ b/mysql-test/r/sp-fib.result @@ -10,24 +10,17 @@ declare c cursor for select f from t3 order by f desc limit 2; open c; fetch c into y; fetch c into x; -close c; 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(3)| -select * from t3 order by f asc| -f -0 -1 -1 -2 -truncate table t3| -insert into t3 values (0), (1)| -call fib(10)| +call fib(4)| select * from t3 order by f asc| f 0 @@ -35,12 +28,6 @@ f 1 2 3 -5 -8 -13 -21 -34 -55 drop table t3| drop procedure fib| set @@max_sp_recursion_depth= 0| diff --git a/mysql-test/t/sp-fib.test b/mysql-test/t/sp-fib.test index 90ca2bbd135..24a51b99c2d 100644 --- a/mysql-test/t/sp-fib.test +++ b/mysql-test/t/sp-fib.test @@ -22,13 +22,14 @@ begin 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; - close c; 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| @@ -36,24 +37,17 @@ end| # Enable recursion set @@max_sp_recursion_depth= 20| -# Minimum test: recursion of 3 levels - insert into t3 values (0), (1)| -call fib(3)| +# The small number of recursion levels is intentional. +# We need to avoid +# Bug#15866 main.sp fails (thread stack limit +# insufficient for recursive call "fib(20)") +# which affects some platforms. +call fib(4)| select * from t3 order by f asc| -truncate table t3| - -# The original test, 20 levels, ran into memory limits on some machines -# and builds. Try 10 instead... - -insert into t3 values (0), (1)| - -call fib(10)| - -select * from t3 order by f asc| drop table t3| drop procedure fib| set @@max_sp_recursion_depth= 0| |