Commit 7ba2916c authored by Sergei Golubchik's avatar Sergei Golubchik

MDEV-7000 Assertion `0' failed in Protocol::end_statement() on executing DDL...

MDEV-7000 Assertion `0' failed in Protocol::end_statement() on executing DDL under innodb_fake_changes=1

correct the if() condition to match the behavior of the old code
that this if() was supposed to replace
parent ba80708f
create table t1 (i int) engine=InnoDB;
set innodb_fake_changes = 1;
insert into t1 values (1);
ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
set innodb_fake_changes = 0;
drop table t1;
--source include/have_log_bin.inc
--source include/have_xtradb.inc
create table t1 (i int) engine=InnoDB;
set innodb_fake_changes = 1;
--disable_abort_on_error
insert into t1 values (1);
set innodb_fake_changes = 0;
drop table t1;
...@@ -1152,9 +1152,8 @@ static int prepare_or_error(handlerton *ht, THD *thd, bool all) ...@@ -1152,9 +1152,8 @@ static int prepare_or_error(handlerton *ht, THD *thd, bool all)
{ {
/* avoid sending error, if we're going to replay the transaction */ /* avoid sending error, if we're going to replay the transaction */
#ifdef WITH_WSREP #ifdef WITH_WSREP
if (ht == wsrep_hton && if (ht != wsrep_hton ||
err != EMSGSIZE && err == EMSGSIZE || thd->wsrep_conflict_state != MUST_REPLAY)
thd->wsrep_conflict_state != MUST_REPLAY)
#endif #endif
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err); my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment