mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-25872 InnoDB: Assertion failure in row_merge_read_clustered_index upon ALTER on table with indexed virtual columns
- InnoDB fails to check DB_COMPUTE_VALUE_FAILED error in row_merge_read_clustered_index() and wrongly asserts that the buffer shouldn't be ran out of memory. Alter table should give warning when the column value is being truncated.
This commit is contained in:
@ -9680,9 +9680,17 @@ do_continue:;
|
||||
if (use_inplace)
|
||||
{
|
||||
table->s->frm_image= &frm;
|
||||
enum_check_fields save_count_cuted_fields= thd->count_cuted_fields;
|
||||
/*
|
||||
Set the truncated column values of thd as warning for alter table.
|
||||
*/
|
||||
thd->count_cuted_fields= CHECK_FIELD_WARN;
|
||||
int res= mysql_inplace_alter_table(thd, table_list, table, altered_table,
|
||||
&ha_alter_info, inplace_supported,
|
||||
&target_mdl_request, &alter_ctx);
|
||||
|
||||
thd->count_cuted_fields= save_count_cuted_fields;
|
||||
|
||||
my_free(const_cast<uchar*>(frm.str));
|
||||
|
||||
if (res)
|
||||
|
Reference in New Issue
Block a user