Skip to content

Commit

Permalink
MDEV-15395 Wrong result or Assertion `old_part_id == m_last_part' fai…
Browse files Browse the repository at this point in the history
…led in ha_partition::update_row on slave

Revert commit fd240a1 and add a test case
  • Loading branch information
vuvova committed Feb 24, 2018
1 parent ad0f8fe commit 9b59f78
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 4 deletions.
7 changes: 7 additions & 0 deletions mysql-test/suite/versioning/r/rpl.result
Original file line number Diff line number Diff line change
Expand Up @@ -157,4 +157,11 @@ t1 CREATE TABLE `t1` (
) ENGINE=INNODB_OR_MYISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
connection master;
drop table t1, t2;
create table t1 (i int) with system versioning partition by system_time limit 8 ( partition p1 history, partition p2 history, partition pn current );
insert into t1 values (1);
update t1 set i = 1;
update t1 set i = 0;
connection slave;
connection master;
drop table t1;
include/rpl_end.inc
13 changes: 12 additions & 1 deletion mysql-test/suite/versioning/t/rpl.test
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
--source include/have_binlog_format_mixed_or_statement.inc
--source suite/versioning/engines.inc
--source include/have_partition.inc
--source include/master-slave.inc

#BUG#12662190 - COM_COMMIT IS NOT INCREMENTED FROM THE BINARY LOGS ON SLAVE, COM_BEGIN IS
Expand Down Expand Up @@ -122,4 +122,15 @@ show create table t1;
connection master;
drop table t1, t2;

#
# MDEV-15395 Wrong result or Assertion `old_part_id == m_last_part' failed in ha_partition::update_row on slave
#
create table t1 (i int) with system versioning partition by system_time limit 8 ( partition p1 history, partition p2 history, partition pn current );
insert into t1 values (1);
update t1 set i = 1;
update t1 set i = 0;
sync_slave_with_master;
connection master;
drop table t1;

--source include/rpl_end.inc
3 changes: 0 additions & 3 deletions sql/sql_class.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6197,9 +6197,6 @@ int THD::decide_logging_format(TABLE_LIST *tables)
flags_write_some_set |= flags;
is_write= TRUE;

if (table->table->versioned())
flags_write_all_set &= HA_BINLOG_STMT_CAPABLE;

prev_write_table= table->table;

}
Expand Down

0 comments on commit 9b59f78

Please sign in to comment.