MDEV-31928 Assertion xid ... < 128 failed in trx_undo_write_xid()
trx_undo_write_xid(): Correct an off-by-one error in a debug assertion.
This commit is contained in:
parent
518fe51988
commit
5a8a8fc953
@ -15,3 +15,30 @@ xa prepare 'xid2';
|
|||||||
release savepoint `sv1`;
|
release savepoint `sv1`;
|
||||||
xa commit 'xid2';
|
xa commit 'xid2';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
#
|
||||||
|
# MDEV-31928 Assertion xid ... < 128 failed in trx_undo_write_xid()
|
||||||
|
#
|
||||||
|
CREATE TABLE t (a INT PRIMARY KEY) ENGINE=INNODB;
|
||||||
|
XA START 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA START 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA START 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
INSERT INTO t VALUES(1);
|
||||||
|
XA END 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA END 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA END 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
XA PREPARE 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA PREPARE 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA PREPARE 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
XA COMMIT 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA COMMIT 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1234567890' at line 1
|
||||||
|
XA COMMIT 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
DROP TABLE t;
|
||||||
|
# End of 10.4 tests
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
--disable_abort_on_error
|
--error ER_XAER_NOTA
|
||||||
xa rollback 'xid2';
|
xa rollback 'xid2';
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
create table t1(a int)engine=innodb;
|
create table t1(a int)engine=innodb;
|
||||||
@ -9,9 +9,42 @@ xa start 'xid2';
|
|||||||
insert into `t1` values (1);
|
insert into `t1` values (1);
|
||||||
savepoint `sv1`;
|
savepoint `sv1`;
|
||||||
xa end 'xid2';
|
xa end 'xid2';
|
||||||
|
--error ER_XAER_RMFAIL
|
||||||
start transaction;
|
start transaction;
|
||||||
xa prepare 'xid2';
|
xa prepare 'xid2';
|
||||||
release savepoint `sv1`;
|
release savepoint `sv1`;
|
||||||
xa commit 'xid2';
|
xa commit 'xid2';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
-- echo #
|
||||||
|
-- echo # MDEV-31928 Assertion xid ... < 128 failed in trx_undo_write_xid()
|
||||||
|
-- echo #
|
||||||
|
|
||||||
|
CREATE TABLE t (a INT PRIMARY KEY) ENGINE=INNODB;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA START 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA START 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
XA START 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
|
||||||
|
INSERT INTO t VALUES(1);
|
||||||
|
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA END 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA END 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
XA END 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA PREPARE 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA PREPARE 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
XA PREPARE 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA COMMIT 'gtrid_67890123456789012345678901234567890123456789012345678901234','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
XA COMMIT 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_67890123456789012345678901234567890123456789012345678901234',1234567890;
|
||||||
|
XA COMMIT 'gtrid_6789012345678901234567890123456789012345678901234567890123','bqual_6789012345678901234567890123456789012345678901234567890123',1234567890;
|
||||||
|
|
||||||
|
DROP TABLE t;
|
||||||
|
|
||||||
|
-- echo # End of 10.4 tests
|
||||||
|
@ -665,7 +665,7 @@ trx_undo_write_xid(
|
|||||||
{
|
{
|
||||||
DBUG_ASSERT(xid->gtrid_length >= 0);
|
DBUG_ASSERT(xid->gtrid_length >= 0);
|
||||||
DBUG_ASSERT(xid->bqual_length >= 0);
|
DBUG_ASSERT(xid->bqual_length >= 0);
|
||||||
DBUG_ASSERT(xid->gtrid_length + xid->bqual_length < XIDDATASIZE);
|
DBUG_ASSERT(xid->gtrid_length + xid->bqual_length <= XIDDATASIZE);
|
||||||
|
|
||||||
mlog_write_ulint(log_hdr + TRX_UNDO_XA_FORMAT,
|
mlog_write_ulint(log_hdr + TRX_UNDO_XA_FORMAT,
|
||||||
static_cast<ulint>(xid->formatID),
|
static_cast<ulint>(xid->formatID),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user