diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2019-12-02 12:51:53 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2019-12-02 12:51:53 +0300 |
commit | 0b8b11b0b15f2d3d20dc801e50fa2beedc080dad (patch) | |
tree | 7a7b9f8ec419bff57b3b0258293d91f180908037 /sql/table.cc | |
parent | 1d46923a0f6508d52d7ce679a7dd8e7e0e957ae4 (diff) | |
parent | db32d9457edbcb23b45f433cfcdfc5d86232bbb0 (diff) | |
download | mariadb-git-0b8b11b0b15f2d3d20dc801e50fa2beedc080dad.tar.gz |
Merge 10.3 into 10.4
Diffstat (limited to 'sql/table.cc')
-rw-r--r-- | sql/table.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/sql/table.cc b/sql/table.cc index 055f02ef267..1d5aaf7e574 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -5110,6 +5110,7 @@ void TABLE::init(THD *thd, TABLE_LIST *tl) check_unique_buf= NULL; vers_write= s->versioned; quick_condition_rows=0; + no_cache= false; initialize_quick_structures(); #ifdef HAVE_REPLICATION /* used in RBR Triggers */ @@ -7027,12 +7028,8 @@ void TABLE::mark_columns_needed_for_update() /* For System Versioning we have to read all columns since we store a copy of previous row with modified row_end back to a table. - - Without write_set versioning.rpl,row is unstable until MDEV-16370 is - applied. */ bitmap_union(read_set, &s->all_set); - bitmap_union(write_set, &s->all_set); need_signal= true; } if (check_constraints) @@ -7195,8 +7192,16 @@ void TABLE::mark_columns_per_binlog_row_image() binary log will include all columns read anyway. */ mark_columns_used_by_index_no_reset(s->primary_key, read_set); - /* Only write columns that have changed */ - rpl_write_set= write_set; + if (versioned()) + { + // TODO: After MDEV-18432 we don't pass history rows, so remove this: + rpl_write_set= &s->all_set; + } + else + { + /* Only write columns that have changed */ + rpl_write_set= write_set; + } break; default: |