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
This commit is contained in:
parent
ba80708f66
commit
7ba2916c55
6
mysql-test/suite/innodb/r/fake_changes-7000.result
Normal file
6
mysql-test/suite/innodb/r/fake_changes-7000.result
Normal file
@ -0,0 +1,6 @@
|
||||
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;
|
9
mysql-test/suite/innodb/t/fake_changes-7000.test
Normal file
9
mysql-test/suite/innodb/t/fake_changes-7000.test
Normal file
@ -0,0 +1,9 @@
|
||||
--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)
|
||||
{
|
||||
/* avoid sending error, if we're going to replay the transaction */
|
||||
#ifdef WITH_WSREP
|
||||
if (ht == wsrep_hton &&
|
||||
err != EMSGSIZE &&
|
||||
thd->wsrep_conflict_state != MUST_REPLAY)
|
||||
if (ht != wsrep_hton ||
|
||||
err == EMSGSIZE || thd->wsrep_conflict_state != MUST_REPLAY)
|
||||
#endif
|
||||
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user