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

MDEV-34033 Exchange partition with virtual columns fails

MDEV-28127 did is_equal() which compared vcol expressions
literally. But another table vcol expression is not equal because of
different table name.

We implement another comparison method is_identical() which respects
different table name in vcol comparison. If any field item points to
table_A and compared field item points to table_B, such items are
treated as equal in (table_A, table_B) comparison. This is done by
cloning table_B expression and renaming any table_B entries to table_A
in it.
This commit is contained in:
Aleksey Midenkov
2025-01-13 15:40:58 +03:00
parent 92383f8db1
commit 0cf2176b79
9 changed files with 119 additions and 1 deletions

View File

@ -241,6 +241,8 @@ static bool compare_table_with_partition(THD *thd, TABLE *table,
part_create_info.row_type= table->s->row_type;
}
part_create_info.table= part_table;
/*
NOTE: ha_blackhole does not support check_if_compatible_data,
so this always fail for blackhole tables.