mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge branch '10.3' into 10.4
This commit is contained in:
@ -8100,6 +8100,8 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
|
||||
{
|
||||
/* New column definitions are added here */
|
||||
List<Create_field> new_create_list;
|
||||
/* System-invisible fields must be added last */
|
||||
List<Create_field> new_create_tail;
|
||||
/* New key definitions are added here */
|
||||
List<Key> new_key_list;
|
||||
List_iterator<Alter_drop> drop_it(alter_info->drop_list);
|
||||
@ -8325,7 +8327,7 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
|
||||
dropped_sys_vers_fields|= field->flags;
|
||||
drop_it.remove();
|
||||
}
|
||||
else
|
||||
else if (field->invisible < INVISIBLE_SYSTEM)
|
||||
{
|
||||
/*
|
||||
This field was not dropped and not changed, add it to the list
|
||||
@ -8350,6 +8352,12 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
|
||||
alter_it.remove();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DBUG_ASSERT(field->invisible == INVISIBLE_SYSTEM);
|
||||
def= new (thd->mem_root) Create_field(thd, field, field);
|
||||
new_create_tail.push_back(def, thd->mem_root);
|
||||
}
|
||||
}
|
||||
dropped_sys_vers_fields &= VERS_SYSTEM_FIELD;
|
||||
if ((dropped_sys_vers_fields ||
|
||||
@ -8482,6 +8490,9 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
|
||||
alter_it.remove();
|
||||
}
|
||||
}
|
||||
|
||||
new_create_list.append(&new_create_tail);
|
||||
|
||||
if (unlikely(alter_info->alter_list.elements))
|
||||
{
|
||||
my_error(ER_BAD_FIELD_ERROR, MYF(0),
|
||||
|
Reference in New Issue
Block a user