1
0
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:
unknown
2006-03-23 20:13:44 +01:00
parent dfa9a76411
commit e40dbfa847
4 changed files with 666 additions and 9 deletions

View File

@@ -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