Details
-
Task
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
Description
The implementation of handlerton::drop_database in InnoDB is unnecessarily complex. The minimal implementation should check that no conflicting locks or references exist on the tables, delete all table metadata in a single transaction, and finally delete the tablespaces.
Note: DROP DATABASE will delete each individual table that the SQL layer knows about, one table per transaction. The handlerton::drop_database is basically a final cleanup step for removing any garbage that could have been left behind in InnoDB due to some bug, or not having Atomic DDL (MDEV-17567) in the past.
Attachments
Issue Links
- blocks
-
MDEV-25506 Atomic DDL: .frm file is removed and orphan InnoDB tablespace is left behind upon crash recovery
- Closed
- causes
-
MDEV-25748 DROP DATABASE drops unrelated FOREIGN KEY constraints
- Closed
-
MDEV-27336 Crash on DROP DATABASE due to out-of-bounds result from InnoDB SUBSTR() function
- Closed
-
MDEV-28802 DROP DATABASE still is case-insensitive
- Closed
- relates to
-
MDEV-24408 Crash-safe DROP DATABASE
- Closed
-
MDEV-29846 deadlock on dict_sys.mutex on database drop
- Open
-
MDEV-34205 ASAN stack-buffer-overflow in strxnmov | frm_file_exists
- Closed