Below is the list of changes that have just been committed into a local
5.1 repository of davi. When davi does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-10-10 19:06:53-03:00, davi@stripped +3 -0
Post-merge test case for Bug 21587
mysql-test/include/handler.inc@stripped, 2007-10-10 19:06:47-03:00, davi@stripped +35 -0
Add test case for Bug 21587
mysql-test/r/handler_innodb.result@stripped, 2007-10-10 19:06:47-03:00, davi@stripped +22 -0
Add test case result for InnoDB run of the handler test for Bug 21587
mysql-test/r/handler_myisam.result@stripped, 2007-10-10 19:06:47-03:00, davi@stripped +22 -0
Add test case result for MyISAM run of the handler test for Bug 21587
diff -Nrup a/mysql-test/include/handler.inc b/mysql-test/include/handler.inc
--- a/mysql-test/include/handler.inc 2007-08-29 18:32:14 -03:00
+++ b/mysql-test/include/handler.inc 2007-10-10 19:06:47 -03:00
@@ -498,3 +498,38 @@ handler t1_alias read a next;
handler t1_alias READ a next where inexistent > 0;
handler t1_alias close;
drop table t1;
+
+#
+# Bug#21587 FLUSH TABLES causes server crash when used with HANDLER statements
+#
+
+--disable_warnings
+drop table if exists t1,t2;
+--enable_warnings
+create table t1 (c1 int);
+create table t2 (c1 int);
+insert into t1 values (1);
+insert into t2 values (2);
+--echo connection: default
+handler t1 open;
+handler t1 read first;
+connect (flush,localhost,root,,);
+connection flush;
+--echo connection: flush
+--send flush tables;
+connection default;
+--echo connection: default
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Flushing tables";
+--source include/wait_condition.inc
+handler t2 open;
+handler t2 read first;
+handler t1 read next;
+handler t1 close;
+handler t2 close;
+connection flush;
+reap;
+connection default;
+drop table t1,t2;
+disconnect flush;
diff -Nrup a/mysql-test/r/handler_innodb.result b/mysql-test/r/handler_innodb.result
--- a/mysql-test/r/handler_innodb.result 2007-08-29 19:00:46 -03:00
+++ b/mysql-test/r/handler_innodb.result 2007-10-10 19:06:47 -03:00
@@ -535,3 +535,25 @@ handler t1_alias READ a next where inexi
ERROR 42S22: Unknown column 'inexistent' in 'field list'
handler t1_alias close;
drop table t1;
+drop table if exists t1,t2;
+create table t1 (c1 int);
+create table t2 (c1 int);
+insert into t1 values (1);
+insert into t2 values (2);
+connection: default
+handler t1 open;
+handler t1 read first;
+c1
+1
+connection: flush
+flush tables;;
+connection: default
+handler t2 open;
+handler t2 read first;
+c1
+2
+handler t1 read next;
+c1
+handler t1 close;
+handler t2 close;
+drop table t1,t2;
diff -Nrup a/mysql-test/r/handler_myisam.result b/mysql-test/r/handler_myisam.result
--- a/mysql-test/r/handler_myisam.result 2007-08-29 19:00:46 -03:00
+++ b/mysql-test/r/handler_myisam.result 2007-10-10 19:06:47 -03:00
@@ -535,3 +535,25 @@ handler t1_alias READ a next where inexi
ERROR 42S22: Unknown column 'inexistent' in 'field list'
handler t1_alias close;
drop table t1;
+drop table if exists t1,t2;
+create table t1 (c1 int);
+create table t2 (c1 int);
+insert into t1 values (1);
+insert into t2 values (2);
+connection: default
+handler t1 open;
+handler t1 read first;
+c1
+1
+connection: flush
+flush tables;;
+connection: default
+handler t2 open;
+handler t2 read first;
+c1
+2
+handler t1 read next;
+c1
+handler t1 close;
+handler t2 close;
+drop table t1,t2;
| Thread |
|---|
| • bk commit into 5.1 tree (davi:1.2584) | Davi Arnaut | 11 Oct |