Details
-
New Feature
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
All DDL operations must be atomic before we can really claim to support Atomic DDL (MDEV-17567).
DROP DATABASE was only made crash-safe in MDEV-24408; it is not atomic yet. With the following approach, it should become atomic on XA-capable storage engines:
An atomic implementation of DROP DATABASE would involve the following internal steps:
- XA START
- For each table in storage engines, invoke handler::delete_table().
- If everything succeeded, invoke handlerton::drop_database in each storage engine that implements it.
- XA PREPARE in each storage engine
- XA COMMIT or XA ROLLBACK in each storage engine.
Attachments
Issue Links
- blocks
-
MDEV-4259 transactional DDL
-
- Open
-
- is blocked by
-
MDEV-25919 InnoDB reports misleading lock wait timeout on DDL operations
-
- Closed
-
- relates to
-
MDEV-17567 Atomic DDL
-
- Closed
-
-
MDEV-24408 Crash-safe DROP DATABASE
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue is blocked by |
Workflow | MariaDB v3 [ 122703 ] | MariaDB v4 [ 131514 ] |
Issue Type | Task [ 3 ] | New Feature [ 2 ] |
To facilitate this,
MDEV-25919will need to make InnoDB support multiple DDL operations within a transaction.