mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Bug#18436 (RBR: Replication to partition engine triggers assertion on slave side):
Partial fix for resolving the problem. Swapping contents of record[0] and record[1] since this is what some storage engines expect. sql/handler.cc: Adding assertion to get early failure. sql/log_event.cc: Correcting code so that new record is passed in record[0] and old record is passed in record[1] when calling update_row(). mysql-test/r/rpl_row_basic_8partition.result: New BitKeeper file ``mysql-test/r/rpl_row_basic_8partition.result'' mysql-test/t/rpl_row_basic_8partition.test: New BitKeeper file ``mysql-test/t/rpl_row_basic_8partition.test''
This commit is contained in:
@@ -3296,6 +3296,13 @@ int handler::ha_write_row(byte *buf)
|
||||
int handler::ha_update_row(const byte *old_data, byte *new_data)
|
||||
{
|
||||
int error;
|
||||
|
||||
/*
|
||||
Some storage engines require that the new record is in record[0]
|
||||
(and the old record is in record[1]).
|
||||
*/
|
||||
DBUG_ASSERT(new_data == table->record[0]);
|
||||
|
||||
if (unlikely(error= update_row(old_data, new_data)))
|
||||
return error;
|
||||
#ifdef HAVE_ROW_BASED_REPLICATION
|
||||
|
||||
Reference in New Issue
Block a user