[MDEV-32668] tables with UNIQUE blob columns cannot be alter_algorithm=INSTANT modified Created: 2023-11-03 Updated: 2023-11-03 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Alter Table |
| Affects Version/s: | 10.4.31 |
| Fix Version/s: | 10.4, 10.6, 10.11 |
| Type: | Bug | Priority: | Major |
| Reporter: | Daniel Black | Assignee: | Nikita Malyavin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||
| Description |
|
While the unique index i doesn't take place in the later, it does prevent it from instantly happening. Early in the alter_table processing compare_keys_but_name compares the existing table key and the table keys in the new structure, and determines they are different. This is because:
This results in the ALTER TABLE considering the index to be different, and not allowing the ALGORITHM=INSTANT later. |
| Comments |
| Comment by Marko Mäkelä [ 2023-11-03 ] |
|
An instant ADD or DROP column ( This could possibly be fixed by fixing MDEV-14341. |
| Comment by Marko Mäkelä [ 2023-11-03 ] |
|
Sorry, it looks like fixing MDEV-17468 is what would fix exactly this. |
| Comment by Daniel Black [ 2023-11-03 ] |
|
It gets ha_alter_info->handler_flags flags ALTER_ADD_UNIQUE_INDEX and ALTER_ADD_STORED_BASE_COLUMN before it even reaches ha_innobase::check_if_supported_inplace_alter, so will have a flags != 0 even after the TODO: uncomment the flags below is lifted. |
| Comment by Daniel Black [ 2023-11-03 ] |
|
reordering dependency for this to block MDEV-17468 - right alter info is required before InnoDB can succeed. |