diff options
author | unknown <davi@moksha.local> | 2007-08-17 11:34:12 -0300 |
---|---|---|
committer | unknown <davi@moksha.local> | 2007-08-17 11:34:12 -0300 |
commit | 8bdb043f087ffbad27ab6daaeba8954b41711b57 (patch) | |
tree | 74929bc92e9f78a68ece540e3c2f9161d5b9dd9e /mysql-test/r/lock_multi.result | |
parent | d811750fe890293970be9cd8d7b73258dd280da5 (diff) | |
download | mariadb-git-8bdb043f087ffbad27ab6daaeba8954b41711b57.tar.gz |
Bug#25856 (HANDLER table OPEN in one connection lock DROP TABLE in another one)
mysql_ha_open calls mysql_ha_close on the error path (unsupported) to close the (opened) table before inserting it into the tables hash list handler_tables_hash) but mysql_ha_close only closes tables which are on the hash list, causing the table to be left open and locked.
This change moves the table close logic into a separate function that is always called on the error path of mysql_ha_open or on a normal handler close (mysql_ha_close).
mysql-test/r/lock_multi.result:
Bug#25856 test result
mysql-test/t/lock_multi.test:
Bug#25856 test case
sql/sql_handler.cc:
Move the table close logic into a separate function that is always called on the error path of mysql_ha_open or on a normal handler close.
Diffstat (limited to 'mysql-test/r/lock_multi.result')
-rw-r--r-- | mysql-test/r/lock_multi.result | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/mysql-test/r/lock_multi.result b/mysql-test/r/lock_multi.result index e89fbec0aed..4a0f70a7b88 100644 --- a/mysql-test/r/lock_multi.result +++ b/mysql-test/r/lock_multi.result @@ -106,4 +106,11 @@ i ERROR 70100: Query execution was interrupted unlock tables; drop table t1; +drop table if exists t1; +create table t1 (a int) ENGINE=MEMORY; +--> client 2 +handler t1 open; +ERROR HY000: Table storage engine for 't1' doesn't have this option +--> client 1 +drop table t1; End of 5.1 tests |