1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-19273: Server crash in MDL_ticket::has_stronger_or_equal_type or Assertion `thd->mdl_context.is_lock_owner(MDL_key::TABLE, table->db.str, table->table_name.str, MDL_SHARED)' failed in mysql_rm_table_no_locks

Early report error in case of DROP SEQUENCE <non-sequence>

Do not use error variable for other purposes except error.
This commit is contained in:
Oleksandr Byelkin
2020-03-22 11:33:53 +01:00
parent bc2dc83cb5
commit 86fc37b668
5 changed files with 169 additions and 14 deletions

View File

@ -315,4 +315,68 @@ drop view v2;
drop table t1,t2;
drop sequence s1;
--echo #
--echo # MDEV-19273:Server crash in MDL_ticket::has_stronger_or_equal_type or
--echo # Assertion `thd->mdl_context.is_lock_owner(MDL_key::TABLE,
--echo # table->db.str, table->table_name.str, MDL_SHARED)' failed
--echo # in mysql_rm_table_no_locks
--echo #
CREATE TABLE t1 (a INT);
CREATE TEMPORARY TABLE tmp (b INT);
LOCK TABLE t1 READ;
--error ER_NOT_SEQUENCE2
DROP SEQUENCE tmp;
--error ER_NOT_SEQUENCE2
DROP TEMPORARY SEQUENCE tmp;
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
DROP SEQUENCE t1;
--error ER_UNKNOWN_SEQUENCES
DROP TEMPORARY SEQUENCE t1;
UNLOCK TABLES;
--error ER_NOT_SEQUENCE2
DROP SEQUENCE t1;
--error ER_UNKNOWN_SEQUENCES
DROP TEMPORARY SEQUENCE t1;
# Cleanup
DROP TABLE t1;
CREATE TABLE t (a INT);
CREATE TEMPORARY TABLE s (f INT);
CREATE SEQUENCE s;
LOCK TABLE t WRITE;
--error ER_NOT_SEQUENCE2
DROP SEQUENCE s;
--error ER_NOT_SEQUENCE2
DROP TEMPORARY SEQUENCE s;
UNLOCK TABLES;
CREATE TEMPORARY SEQUENCE s;
LOCK TABLE t WRITE;
DROP TEMPORARY SEQUENCE s;
UNLOCK TABLES;
DROP TEMPORARY TABLE s;
DROP SEQUENCE s;
create table s(a INT);
CREATE TEMPORARY TABLE s (f INT);
LOCK TABLE t WRITE;
DROP TEMPORARY TABLE s;
CREATE TEMPORARY TABLE s (f INT);
DROP TABLE s;
--error ER_TABLE_NOT_LOCKED
DROP TABLE s;
UNLOCK TABLES;
DROP TABLE s;
CREATE VIEW v1 as SELECT * FROM t;
CREATE SEQUENCE s;
DROP SEQUENCE IF EXISTS v1;
DROP VIEW IF EXISTS s;
DROP VIEW v1;
DROP SEQUENCE s;
DROP TABLE t;
--echo # End of 10.3 tests