Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
768f5b08
Commit
768f5b08
authored
Jul 03, 2009
by
Bernt M. Johnsen
Browse files
Options
Browse Files
Download
Plain Diff
Prepare for push
parents
fdf1461a
7bb5986d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
32 deletions
+13
-32
mysql-test/r/sp-fib.result
mysql-test/r/sp-fib.result
+4
-17
mysql-test/t/sp-fib.test
mysql-test/t/sp-fib.test
+9
-15
No files found.
mysql-test/r/sp-fib.result
View file @
768f5b08
...
...
@@ -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|
mysql-test/t/sp-fib.test
View file @
768f5b08
...
...
@@ -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
|
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment