diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2019-05-11 17:27:23 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2019-10-10 00:20:34 +0300 |
commit | a92f3146d22cb3b290228c0e66eb1ea6c7b7c373 (patch) | |
tree | 012598feb31ab78c15501db3a17f7919945131d4 /sql/log_event.cc | |
parent | 647a38818a44012c22128e0e1cad96739aa8a5c2 (diff) | |
download | mariadb-git-a92f3146d22cb3b290228c0e66eb1ea6c7b7c373.tar.gz |
MDEV-19406 Assertion on updating view of join with versioned table
TABLE::mark_columns_needed_for_update(): use_all_columns() assigns
pointer of all_set into read_set and write_set, but this is not good
since all_set is changed later by
TABLE::mark_columns_used_by_index_no_reset().
Do column_bitmaps_signal() whenever we change read_set/write_set.
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r-- | sql/log_event.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index dc7203fc94f..78111e86f20 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -13450,6 +13450,7 @@ Rows_log_event::write_row(rpl_group_info *rgi, { ulong sec_part; bitmap_set_bit(table->read_set, table->vers_start_field()->field_index); + table->file->column_bitmaps_signal(); // Check whether a row came from unversioned table and fix vers fields. if (table->vers_start_field()->get_timestamp(&sec_part) == 0 && sec_part == 0) table->vers_update_fields(); @@ -14010,6 +14011,7 @@ int Rows_log_event::find_row(rpl_group_info *rgi) table->vers_end_field()->set_max(); m_vers_from_plain= true; } + table->file->column_bitmaps_signal(); } DBUG_PRINT("info",("looking for the following record")); |