summaryrefslogtreecommitdiff
path: root/mysql-test/t/sp-fib.test
diff options
context:
space:
mode:
authorBernt M. Johnsen <bernt.johnsen@sun.com>2009-07-03 10:19:32 +0200
committerBernt M. Johnsen <bernt.johnsen@sun.com>2009-07-03 10:19:32 +0200
commite0a3403b457a5458915131732561caad9d8c6871 (patch)
tree1a615bba1d904454d0caa832e21340036af62321 /mysql-test/t/sp-fib.test
parent3cd431d553d722ec56db2635d88b8bb17087952a (diff)
downloadmariadb-git-e0a3403b457a5458915131732561caad9d8c6871.tar.gz
Bug#15866 Prepared for push on 5.0
Diffstat (limited to 'mysql-test/t/sp-fib.test')
-rw-r--r--mysql-test/t/sp-fib.test24
1 files changed, 9 insertions, 15 deletions
diff --git a/mysql-test/t/sp-fib.test b/mysql-test/t/sp-fib.test
index e6682395a2c..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|
-delete from 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|