1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-15626 Assertion on update virtual column in partitioned table

table.cc:
  virtual columns must be computed for INSERT, if they're part
  of the partitioning expression.

this change broke gcol.gcol_partition_innodb.
fix CHECK TABLE for partitioned tables and vcols.

sql_partition.cc:
  mark prerequisite base columns in full_part_field_set
ha_partition.cc
  initialize vcol_set accordingly
This commit is contained in:
Sergei Golubchik
2018-04-11 16:23:49 +02:00
parent 8ba0eea65c
commit 88a0bb83df
5 changed files with 33 additions and 2 deletions

View File

@ -614,9 +614,16 @@ static bool create_full_part_field_array(THD *thd, TABLE *table,
full_part_field_array may be NULL if storage engine supports native
partitioning.
*/
table->vcol_set= table->read_set= &part_info->full_part_field_set;
if ((ptr= part_info->full_part_field_array))
for (; *ptr; ptr++)
bitmap_set_bit(&part_info->full_part_field_set, (*ptr)->field_index);
{
if ((*ptr)->vcol_info)
table->mark_virtual_col(*ptr);
else
bitmap_fast_test_and_set(table->read_set, (*ptr)->field_index);
}
table->default_column_bitmaps();
end:
DBUG_RETURN(result);