Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.5.16
Description
How to reproduce:
On a 10.4 server instance do:
CREATE TABLE t1 (
|
id int not null primary key,
|
msg varchar(10),
|
index(id, msg)
|
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
Then upgrade to 10.5 and try to instant-add a column:
alter table t1 add column i int, algorithm=instant;
|
This fails with:
ERROR 1845 (0A000): ALGORITHM=INSTANT is not supported for this operation. Try ALGORITHM=INPLACE
|
Same table created on 10.5 right away allows to add the column in instant mode just fine.
Attachments
Issue Links
- is blocked by
-
MDEV-29481 mariadb-upgrade prints confusing statement
-
- Closed
-
-
MDEV-29672 Add MTR tests covering key and key segment flags and types
-
- Closed
-
- is caused by
-
MDEV-20760 Add Type_handler::KEY_pack_flags()
-
- Closed
-
- relates to
-
MDEV-20704 An index on a double column erroneously uses prefix compression
-
- Closed
-
-
MDEV-20760 Add Type_handler::KEY_pack_flags()
-
- Closed
-
-
MDEV-28727 ALTER TABLE ALGORITHM=NOCOPY does not work after upgrade
-
- Closed
-
-
MDEV-29481 mariadb-upgrade prints confusing statement
-
- Closed
-
-
MDEV-29495 Generalize can_convert_xxx() hook engine API to cover any arbitrary data type
-
- Closed
-
hholzgra, thank you for the report. This resembles
MDEV-28727, which is about an upgrade from 10.1. I suspect that the problem lies outside InnoDB also in this case, but I do not see yet how.To speed up analysis, could you please attach a minimal 10.4 data directory with which the ALTER TABLE statement would fail?
Did you try specifying different collations for the column msg? From the InnoDB point of view it should make no difference, but for some presumably incorrect check in the SQL layer it might. It is the SQL layer that produces the operation flags for InnoDB. If an operation flag is set that is not supported in an instant operation by InnoDB, then an error will be reported, even if that flag were set unnecessarily.