Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.4.1, 10.5.0
Description
The following SQL test case works on 10.3 but fails to return an error on 10.4:
--source include/have_innodb.inc
|
CREATE TABLE t1(a INT PRIMARY KEY, b INT UNIQUE) ENGINE=InnoDB; |
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
ALTER TABLE t1 DROP b, ALGORITHM=INSTANT; |
DROP TABLE t1; |
The reason appears to be a code change that was part of MDEV-15563:
@@ -2003,9 +2040,7 @@ ha_innobase::check_if_supported_inplace_alter(
|
af++;
|
}
|
|
- if (supports_instant
|
- || !(ha_alter_info->handler_flags
|
- & ~(INNOBASE_ALTER_INSTANT | INNOBASE_INPLACE_IGNORE))) {
|
+ if (supports_instant) {
|
DBUG_RETURN(HA_ALTER_INPLACE_INSTANT);
|
}
|
|
We should not return HA_ALTER_INPLACE_INSTANT if any flags in INNOBASE_ALTER_NOREBUILD (dropping or creating secondary indexes) are set, because those are not instantaneous operations.
Attachments
Issue Links
- is caused by
-
MDEV-15563 Instant failure-free data type conversions
- Closed
- relates to
-
MDEV-21832 FORCE all partition to rebuild if any one of the partition does rebuild
- Closed