summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernt M. Johnsen <bernt.johnsen@sun.com>2009-07-03 10:32:17 +0200
committerBernt M. Johnsen <bernt.johnsen@sun.com>2009-07-03 10:32:17 +0200
commit768f5b08fb3b46706b2e634134f33d0fa2776ab6 (patch)
tree936ae3cc098b3529ae1f382626dee3feda2ac6cd
parentfdf1461a4f987f7e2943112e1dd31d966fa57f4f (diff)
parent7bb5986d937fd81cf99ce6db82780db38ae3513d (diff)
downloadmariadb-git-768f5b08fb3b46706b2e634134f33d0fa2776ab6.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 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|