List:Commits« Previous MessageNext Message »
From:Bernt M. Johnsen Date:June 4 2009 1:51pm
Subject:bzr commit into mysql-6.0-bugteam branch (bernt.johnsen:3342) Bug#15866
View as plain text  
#At file:///export/home/tmp/mysql/6.0-gca/ based on revid:sergey.glukhov@stripped

 3342 Bernt M. Johnsen	2009-06-04 [merge]
      Bug#15866 Merged from 5.1-gca

    added:
      mysql-test/r/sp-fib.result
      mysql-test/t/sp-fib.test
    modified:
      mysql-test/r/sp.result
      mysql-test/t/sp.test
=== added file 'mysql-test/r/sp-fib.result'
--- a/mysql-test/r/sp-fib.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/sp-fib.result	2009-06-04 11:53:15 +0000
@@ -0,0 +1,46 @@
+drop table if exists t3;
+create table t3 ( f bigint unsigned not null );
+drop procedure if exists fib;
+create procedure fib(n int unsigned)
+begin
+if n > 1 then
+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);
+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)|
+select * from t3 order by f asc|
+f
+0
+1
+1
+2
+3
+5
+8
+13
+21
+34
+55
+drop table t3|
+drop procedure fib|
+set @@max_sp_recursion_depth= 0|

=== modified file 'mysql-test/r/sp.result'
--- a/mysql-test/r/sp.result	2009-04-30 10:14:32 +0000
+++ b/mysql-test/r/sp.result	2009-06-04 13:50:05 +0000
@@ -1329,52 +1329,6 @@ drop procedure opp|
 drop procedure ip|
 show procedure status where name like '%p%' and db='test'|
 Db	Name	Type	Definer	Modified	Created	Security_type	Comment	character_set_client	collation_connection	Database Collation
-drop table if exists t3|
-create table t3 ( f bigint unsigned not null )|
-drop procedure if exists fib|
-create procedure fib(n int unsigned)
-begin
-if n > 1 then
-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);
-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)|
-select * from t3 order by f asc|
-f
-0
-1
-1
-2
-3
-5
-8
-13
-21
-34
-55
-drop table t3|
-drop procedure fib|
-set @@max_sp_recursion_depth= 0|
 drop procedure if exists bar|
 create procedure bar(x char(16), y int)
 comment "111111111111" sql security invoker

=== added file 'mysql-test/t/sp-fib.test'
--- a/mysql-test/t/sp-fib.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/sp-fib.test	2009-06-04 11:53:15 +0000
@@ -0,0 +1,60 @@
+# Fibonacci, for recursion test. (Yet Another Numerical series :)
+# Split from main.sp due to problems reported in Bug#15866
+
+--disable_warnings
+drop table if exists t3;
+--enable_warnings
+create table t3 ( f bigint unsigned not null );
+
+# We deliberately do it the awkward way, fetching the last two
+# values from the table, in order to exercise various statements
+# and table accesses at each turn.
+--disable_warnings
+drop procedure if exists fib;
+--enable_warnings
+
+# Now for multiple statements...
+delimiter |;
+
+create procedure fib(n int unsigned)
+begin
+  if n > 1 then
+    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);
+    end;
+  end if;
+end|
+
+# Enable recursion
+set @@max_sp_recursion_depth= 20|
+
+# Minimum test: recursion of 3 levels
+
+insert into t3 values (0), (1)|
+
+call fib(3)|
+
+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|
+

=== modified file 'mysql-test/t/sp.test'
--- a/mysql-test/t/sp.test	2009-04-30 10:14:32 +0000
+++ b/mysql-test/t/sp.test	2009-06-04 13:50:05 +0000
@@ -1563,61 +1563,6 @@ drop procedure ip|
 show procedure status where name like '%p%' and db='test'|
 
 
-# Fibonacci, for recursion test. (Yet Another Numerical series :)
-#
---disable_warnings
-drop table if exists t3|
---enable_warnings
-create table t3 ( f bigint unsigned not null )|
-
-# We deliberately do it the awkward way, fetching the last two
-# values from the table, in order to exercise various statements
-# and table accesses at each turn.
---disable_warnings
-drop procedure if exists fib|
---enable_warnings
-create procedure fib(n int unsigned)
-begin
-  if n > 1 then
-    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);
-    end;
-  end if;
-end|
-
-# Enable recursion
-set @@max_sp_recursion_depth= 20|
-
-# Minimum test: recursion of 3 levels
-
-insert into t3 values (0), (1)|
-
-call fib(3)|
-
-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|
-
 #
 # Comment & suid
 #


Attachment: [text/bzr-bundle] bzr/bernt.johnsen@sun.com-20090604135005-f9ltgjuhrisyx59i.bundle
Thread
bzr commit into mysql-6.0-bugteam branch (bernt.johnsen:3342) Bug#15866Bernt M. Johnsen4 Jun