mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02: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:
parent
7e798534f0
commit
72776d4c49
3 changed files with 38 additions and 0 deletions
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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue