Details
-
New Feature
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
It would be useful if EXPLAIN supported ALTER TABLE and/or other DDL statements.
For example, something like this:
EXPLAIN ALTER TABLE tab ADD COLUMN c varchar(50), ALGORITHM=INPLACE;
|
And probably also something like this:
EXPLAIN EXTENDED ALTER TABLE tab ADD COLUMN c varchar(50), ALGORITHM=INPLACE;
|
The output should probably include:
- What algorithm will be used (i.e. COPY, INPLACE, NOCOPY, INSTANT).
- Whether the table will be rebuilt.
- Whether the table will be locked.
- If the table is locked, what kind of lock will be used.
- Whether the table's ROW_FORMAT will be changed.
- For InnoDB, whether the table will use the non-canonical format that is required to implement some instant alter operations.
- For InnoDB, whether the table will be in the system tablespace or in a file-per-table tablespace.
The more basic pieces of information could probably be output by EXPLAIN, and the more detailed pieces of information could probably be output by EXPLAIN EXTENDED.
Attachments
Issue Links
- relates to
-
MDEV-27294 Implement EXPLAIN for SHOW
-
- Open
-
-
SAMU-274 Failed to load
- is implemented by
-
SAMU-269 Failed to load
- mentioned in
-
Page Failed to load
Activity
Field | Original Value | New Value |
---|---|---|
Description |
It would be useful if EXPLAIN supported ALTER TABLE and/or other DDL statements. i.e. so that something like this would work:
{noformat} ALTER TABLE tab ADD COLUMN c varchar(50), ALGORITHM=INPLACE; {noformat} The output should probably include: * What algorithm will be used (i.e. COPY, INPLACE, NOCOPY, INSTANT). * Whether the table will be rebuilt. * Whether the table will be locked. * If the table is locked, what kind of lock will be used. * Whether the table's ROW_FORMAT will be changed. * For InnoDB, whether the table will use the non-canonical format that is required to implement some instant alter operations. * For InnoDB, whether the table will be in the system tablespace or in a file-per-table tablespace. |
It would be useful if EXPLAIN supported ALTER TABLE and/or other DDL statements.
For example, something like this: {noformat} EXPLAIN ALTER TABLE tab ADD COLUMN c varchar(50), ALGORITHM=INPLACE; {noformat} And probably also something like this: {noformat} EXPLAIN EXTENDED ALTER TABLE tab ADD COLUMN c varchar(50), ALGORITHM=INPLACE; {noformat} The output should probably include: * What algorithm will be used (i.e. COPY, INPLACE, NOCOPY, INSTANT). * Whether the table will be rebuilt. * Whether the table will be locked. * If the table is locked, what kind of lock will be used. * Whether the table's ROW_FORMAT will be changed. * For InnoDB, whether the table will use the non-canonical format that is required to implement some instant alter operations. * For InnoDB, whether the table will be in the system tablespace or in a file-per-table tablespace. The more basic pieces of information could probably be output by {{EXPLAIN}}, and the more detailed pieces of information could probably be output by {{EXPLAIN EXTENDED}}. |
Link | This issue relates to MDEV-20702 [ MDEV-20702 ] |
Component/s | Data Definition - Alter Table [ 14927 ] | |
Component/s | Data Definition - Alter Table [ 10114 ] | |
Key | MDEV-20508 | MENT-404 |
Project | MariaDB Server [ 10000 ] | MariaDB Enterprise [ 11500 ] |
Issue Type | Task [ 3 ] | New Feature [ 2 ] |
Workflow | MariaDB v3 [ 99458 ] | MariaDB v4 [ 135778 ] |
Component/s | Data Definition - Alter Table [ 10114 ] | |
Component/s | Data Definition - Alter Table [ 14927 ] | |
Key | MENT-404 | MDEV-30340 |
Issue Type | New Feature [ 2 ] | Task [ 3 ] |
Project | MariaDB Enterprise [ 11500 ] | MariaDB Server [ 10000 ] |
Labels | synchronization |
Labels | synchronization |
Issue Type | Task [ 3 ] | New Feature [ 2 ] |
Remote Link | This issue links to "SAMU-269 (Jira)" [ 37266 ] |
Remote Link | This issue links to "SAMU-274 (Jira)" [ 37269 ] |
Remote Link | This issue links to "Page (MariaDB Confluence)" [ 37275 ] |