mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-18239 ASAN use-after-poison in process_str_arg / ... / mark_unsupported_func or unexpected ER_BAD_FIELD_ERROR upon ALTER TABLE
renaming columns in a CHECK constraint during ALTER TABLE taints the original TABLE and requires m_need_reopen=1. In this case, though, renaming was redundant, so just don't do it.
This commit is contained in:
@ -8123,7 +8123,12 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
|
||||
}
|
||||
if (!drop)
|
||||
{
|
||||
check->expr->walk(&Item::rename_fields_processor, 1, &column_rename_param);
|
||||
if (alter_info->flags & Alter_info::ALTER_RENAME_COLUMN)
|
||||
{
|
||||
check->expr->walk(&Item::rename_fields_processor, 1,
|
||||
&column_rename_param);
|
||||
table->m_needs_reopen= 1; // because new column name is on thd->mem_root
|
||||
}
|
||||
new_constraint_list.push_back(check, thd->mem_root);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user