[MDEV-18326] Refactor some ALTER column operations to use innobase_instant_try() Created: 2019-01-21  Updated: 2022-02-21

Status: Stalled
Project: MariaDB Server
Component/s: Data Definition - Alter Table, Storage Engine - InnoDB
Fix Version/s: None

Type: Task Priority: Major
Reporter: Eugene Kosov (Inactive) Assignee: Thirunarayanan Balathandayuthapani
Resolution: Unresolved Votes: 1
Labels: None

Issue Links:
Relates
relates to MDEV-18352 Add a regression test for VARCHAR enl... Closed
relates to MDEV-18444 ROW_FORMAT=COMPRESSED unnecessarily r... Closed
relates to MDEV-18596 ASAN unknown-crash in row_mysql_store... Closed

 Description   

Subjects are: rename column, enlarge column, change column versioning.



 Comments   
Comment by Eugene Kosov (Inactive) [ 2019-01-22 ]

Actually, rename columns is off topic. Because it happens not only on INSTANT but also in INPLACE https://github.com/MariaDB/server/blob/382115b99297ceaa4c3067f79efb5c2515013be5/storage/innobase/handler/handler0alter.cc#L9809

Comment by Marko Mäkelä [ 2019-01-22 ]

I do not think that renaming columns is any different from enlarging columns. It involves updating metadata only.

Please extend the patch to cover enlarging columns. Ideally, there would be only one code path that updates SYS_COLUMNS and the data dictionary cache.

Comment by Eugene Kosov (Inactive) [ 2019-01-23 ]

> I do not think that renaming columns is any different from enlarging columns. It involves updating metadata only.

It is actually, because it works even in commit_try_rebuild(). Only pure instant operation could be moved inside `innobase_instant_try()`.

> Please extend the patch to cover enlarging columns. Ideally, there would be only one code path that updates SYS_COLUMNS and the data dictionary cache.

It's already in the patch.

Comment by Marko Mäkelä [ 2019-01-28 ]

The current patch would cause unnecessary rebuild for ROW_FORMAT=COMPRESSED tables.

We may have to limit the scope of this idea or to abandon it altogether.

Generated at Thu Feb 08 08:43:15 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.