MDEV-10792: Assertion `thd->mdl_context.is_lock_owner ..

.. (MDL_key::TABLE, table->db, table->table_name, MDL_SHARED)'
failed in mysql_rm_table_no_locks

Reset error flag after temporary table has been
successfully dropped.
This commit is contained in:
Nirbhay Choubey 2016-11-21 17:14:14 -05:00
parent ebe061900b
commit 4a27ab23cb
3 changed files with 18 additions and 0 deletions

View File

@ -538,5 +538,13 @@ UNLOCK TABLES;
ALTER TABLE t1 RENAME t2, LOCK SHARED;
ALTER TABLE t2 RENAME t1, LOCK EXCLUSIVE;
DROP TABLE t1;
#
# MDEV-10792: Assertion `thd->mdl_context.is_lock_owner
# (MDL_key::TABLE, table->db, table->table_name, MDL_SHARED)'
# failed in mysql_rm_table_no_locks
#
CREATE TEMPORARY TABLE t1 (i INT);
DROP TABLE nonexisting_table, t1;
ERROR 42S02: Unknown table 'temp_db.nonexisting_table'
# Cleanup
DROP DATABASE temp_db;

View File

@ -583,6 +583,15 @@ ALTER TABLE t2 RENAME t1, LOCK EXCLUSIVE;
DROP TABLE t1;
--echo #
--echo # MDEV-10792: Assertion `thd->mdl_context.is_lock_owner
--echo # (MDL_key::TABLE, table->db, table->table_name, MDL_SHARED)'
--echo # failed in mysql_rm_table_no_locks
--echo #
CREATE TEMPORARY TABLE t1 (i INT);
--error ER_BAD_TABLE_ERROR
DROP TABLE nonexisting_table, t1;
--echo # Cleanup
DROP DATABASE temp_db;

View File

@ -2299,6 +2299,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, bool if_exists,
error= 1;
goto err;
}
error= 0;
table->table= 0;
}