mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-22722 Assertion "inited==NONE" failed in handler::ha_index_init on the slave during UPDATE
Add missing call for handler->prepare_for_insert() in Rows_log_event::do_apply_event
This commit is contained in:
12
mysql-test/main/long_unique_bugs_replication.result
Normal file
12
mysql-test/main/long_unique_bugs_replication.result
Normal file
@@ -0,0 +1,12 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
create table t1 (i1 int, a1 text, unique key i1 (a1)) engine=myisam;
|
||||
insert into t1 values (1,1);
|
||||
insert into t1 values (2,2);
|
||||
update t1 set a1 = 'd' limit 1;
|
||||
update t1 set a1 = 'd2' where i1= 2;
|
||||
connection slave;
|
||||
connection slave;
|
||||
connection master;
|
||||
drop table t1;
|
||||
include/rpl_end.inc
|
24
mysql-test/main/long_unique_bugs_replication.test
Normal file
24
mysql-test/main/long_unique_bugs_replication.test
Normal file
@@ -0,0 +1,24 @@
|
||||
#
|
||||
# Long unique bugs related to master slave replication
|
||||
#
|
||||
|
||||
#
|
||||
# MDEV-22722 Assertion "inited==NONE" failed in handler::ha_index_init on the slave during UPDATE
|
||||
#
|
||||
|
||||
--source include/have_binlog_format_row.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
create table t1 (i1 int, a1 text, unique key i1 (a1)) engine=myisam;
|
||||
insert into t1 values (1,1);
|
||||
insert into t1 values (2,2);
|
||||
update t1 set a1 = 'd' limit 1;
|
||||
update t1 set a1 = 'd2' where i1= 2;
|
||||
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
|
||||
connection master;
|
||||
drop table t1;
|
||||
|
||||
--source include/rpl_end.inc
|
@@ -5570,6 +5570,8 @@ int Rows_log_event::do_apply_event(rpl_group_info *rgi)
|
||||
{
|
||||
master_had_triggers= table->master_had_triggers;
|
||||
bool transactional_table= table->file->has_transactions_and_rollback();
|
||||
table->file->prepare_for_insert(get_genral_type_code() != WRITE_ROWS_EVENT);
|
||||
|
||||
/*
|
||||
table == NULL means that this table should not be replicated
|
||||
(this was set up by Table_map_log_event::do_apply_event()
|
||||
|
Reference in New Issue
Block a user