mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
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:
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 */
|
/* 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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user