From eff898f2a0d9888815ec3fb7e7aae93b319f6796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Tue, 13 Aug 2019 12:30:36 +0300 Subject: [PATCH 1/2] MDEV-20335: Extra trans_commit_stmt after rollback caused by incorrect fix of MDEV-14401 Fix incorrect else that should have been else if. --- sql/sql_parse.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 385319d80ad..adead650029 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -5487,7 +5487,7 @@ finish: if (thd->is_error() || (thd->variables.option_bits & OPTION_MASTER_SQL_ERROR)) trans_rollback_stmt(thd); #ifdef WITH_WSREP - if (thd->spcont && + else if (thd->spcont && (thd->wsrep_conflict_state == MUST_ABORT || thd->wsrep_conflict_state == ABORTED || thd->wsrep_conflict_state == CERT_FAILURE)) From c738aa240e5bea8292e099affd988a6f95268e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Tue, 13 Aug 2019 12:39:08 +0300 Subject: [PATCH 2/2] MDEV-20138 innodb.trx_id_future fails on big-endian Skip the test on big-endian systems. In MariaDB Server 10.0 and 10.1 (as well as MySQL 5.6), the implementation of innodb_checksum_algorithm=crc32 wrongly assumes little-endian byte order. --- mysql-test/suite/innodb/t/trx_id_future.test | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mysql-test/suite/innodb/t/trx_id_future.test b/mysql-test/suite/innodb/t/trx_id_future.test index deba753caca..5560ba22005 100644 --- a/mysql-test/suite/innodb/t/trx_id_future.test +++ b/mysql-test/suite/innodb/t/trx_id_future.test @@ -7,6 +7,16 @@ --source include/have_innodb.inc --source include/not_embedded.inc +perl; +open(OUT, ">$ENV{MYSQLTEST_VARDIR}/log/check.txt") || die; +print OUT "--skip innodb_checksum_algorithm=crc32 needs little-endian\n" +unless unpack("L","macs")==unpack("N","scam"); +close(OUT); +EOF + +--source $MYSQLTEST_VARDIR/log/check.txt +--remove_file $MYSQLTEST_VARDIR/log/check.txt + let PAGE_SIZE=`select @@innodb_page_size`; CREATE TABLE t1(a INT) row_format=redundant engine=innoDB;