mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-15395 Wrong result or Assertion `old_part_id == m_last_part' failed in ha_partition::update_row on slave
RBR cannot work with system versioning on the master. row_end column is either system time (not @@timestamp) with microsecond precision or transaction id. Either way, it'll certainly be different on the slave. So if the master row contains row_end column, it won't match on the slave. And if we ignore row_end when comparing, then some other row might match instead.
This commit is contained in:
@@ -1,18 +1,6 @@
|
|||||||
--source include/master-slave.inc
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
|
||||||
if ($MTR_COMBINATION_STMT)
|
|
||||||
{
|
|
||||||
--source include/have_binlog_format_statement.inc
|
|
||||||
}
|
|
||||||
if ($MTR_COMBINATION_ROW)
|
|
||||||
{
|
|
||||||
--source include/have_binlog_format_row.inc
|
|
||||||
}
|
|
||||||
if ($MTR_COMBINATION_MIX)
|
|
||||||
{
|
|
||||||
--source include/have_binlog_format_mixed.inc
|
|
||||||
}
|
|
||||||
--source suite/versioning/engines.inc
|
--source suite/versioning/engines.inc
|
||||||
|
--source include/master-slave.inc
|
||||||
|
|
||||||
#BUG#12662190 - COM_COMMIT IS NOT INCREMENTED FROM THE BINARY LOGS ON SLAVE, COM_BEGIN IS
|
#BUG#12662190 - COM_COMMIT IS NOT INCREMENTED FROM THE BINARY LOGS ON SLAVE, COM_BEGIN IS
|
||||||
#Testing command counters -BEFORE.
|
#Testing command counters -BEFORE.
|
||||||
|
@@ -6197,6 +6197,9 @@ int THD::decide_logging_format(TABLE_LIST *tables)
|
|||||||
flags_write_some_set |= flags;
|
flags_write_some_set |= flags;
|
||||||
is_write= TRUE;
|
is_write= TRUE;
|
||||||
|
|
||||||
|
if (table->table->versioned())
|
||||||
|
flags_write_all_set &= HA_BINLOG_STMT_CAPABLE;
|
||||||
|
|
||||||
prev_write_table= table->table;
|
prev_write_table= table->table;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user