summaryrefslogtreecommitdiff
path: root/mysql-test/t/handler_myisam.test
diff options
context:
space:
mode:
authorRamil Kalimullin <ramil@mysql.com>2009-08-21 10:55:35 +0500
committerRamil Kalimullin <ramil@mysql.com>2009-08-21 10:55:35 +0500
commitfb9ba3734bf1faaecbdab204b0bcdd8954da944f (patch)
treeb9db9b086ed85b224cec080c66f499cc1a743eb9 /mysql-test/t/handler_myisam.test
parent1317d24b333ecf9e2b9669455c337ceec4b228bf (diff)
downloadmariadb-git-fb9ba3734bf1faaecbdab204b0bcdd8954da944f.tar.gz
Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP
(temporary) TABLE, crash Problem: if one has an open "HANDLER t1", further "TRUNCATE t1" doesn't close the handler and leaves handler table hash in an inconsistent state, that may lead to a server crash. Fix: TRUNCATE should implicitly close all open handlers. Doc. request: the fact should be described in the manual accordingly. mysql-test/r/handler_myisam.result: Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash - test result. mysql-test/t/handler_myisam.test: Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash - test case. sql/sql_delete.cc: Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash - remove all truncated tables from the HANDLER's hash.
Diffstat (limited to 'mysql-test/t/handler_myisam.test')
-rw-r--r--mysql-test/t/handler_myisam.test19
1 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/t/handler_myisam.test b/mysql-test/t/handler_myisam.test
index 644c28de5b2..da02a90af0f 100644
--- a/mysql-test/t/handler_myisam.test
+++ b/mysql-test/t/handler_myisam.test
@@ -19,3 +19,22 @@ let $other_engine_type= MEMORY;
let $other_handler_engine_type= MyISAM;
--source include/handler.inc
+
+--echo #
+--echo # BUG #46456: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash
+--echo #
+CREATE TABLE t1 AS SELECT 1 AS f1;
+HANDLER t1 OPEN;
+TRUNCATE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+DROP TABLE t1;
+
+CREATE TEMPORARY TABLE t1 AS SELECT 1 AS f1;
+HANDLER t1 OPEN;
+TRUNCATE t1;
+--error ER_UNKNOWN_TABLE
+HANDLER t1 READ FIRST;
+DROP TABLE t1;
+
+--echo End of 5.1 tests