diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2022-03-14 22:35:11 +0530 |
---|---|---|
committer | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2022-03-14 22:35:11 +0530 |
commit | 1c43660aea349a92c13e04994941ded1b91714ff (patch) | |
tree | e137e948f0321a3af841723f9259667a7dd46f0a /storage | |
parent | 8afabca6fd1f6b3a4cdeb77669e9a9f9040b461b (diff) | |
download | mariadb-git-1c43660aea349a92c13e04994941ded1b91714ff.tar.gz |
MDEV-28060 Online DDL fails while checking for instant alter condition
- InnoDB fails to skip newly created column while checking for
change column when table is in redundant row format. This issue
is caused the MDEV-18035 (ccb1acbd3c15f0d99d1ea3cd1b206da38fa1c17f)
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/handler/handler0alter.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index e812bfc4928..e79d9d67dbf 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -1795,8 +1795,13 @@ set_max_size: Field** af = altered_table->field; Field** const end = altered_table->field + altered_table->s->fields; + List_iterator_fast<Create_field> cf_it( + ha_alter_info->alter_info->create_list); for (unsigned c = 0; af < end; af++) { - if (!(*af)->stored_in_db()) { + const Create_field* cf = cf_it++; + if (!cf->field || !(*af)->stored_in_db()) { + /* Ignore virtual or newly created + column */ continue; } |