summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernt M. Johnsen <bernt.johnsen@sun.com>2009-07-03 10:36:10 +0200
committerBernt M. Johnsen <bernt.johnsen@sun.com>2009-07-03 10:36:10 +0200
commit15b23550d452e1e4725b417e0c7942518729a222 (patch)
tree46f9969dd45a5c9fd26c0ca090cc4a516d34974d
parent3abee40e6b15a99b5765b003af8a793b36ae0818 (diff)
parente0a3403b457a5458915131732561caad9d8c6871 (diff)
downloadmariadb-git-15b23550d452e1e4725b417e0c7942518729a222.tar.gz
Prepare for push
-rw-r--r--mysql-test/r/sp-fib.result21
-rw-r--r--mysql-test/t/sp-fib.test24
2 files changed, 13 insertions, 32 deletions
diff --git a/mysql-test/r/sp-fib.result b/mysql-test/r/sp-fib.result
index c51aa7d7ad1..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
-delete from 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 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|