Commit 48554fe2 authored by Jan Lindström's avatar Jan Lindström

MDEV-18632: wsrep_is_wsrep_xid: Conditional jump or move depends on uninitialised value

Transaction XID is not initialized before transaction is started.
parent 2a935329
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
connect con1,localhost,root,,test;
ALTER TABLE t1;
connect con2,localhost,root,,test;
SELECT f() FROM t1;
ERROR 42000: FUNCTION test.f does not exist
disconnect con2;
disconnect con1;
connection default;
DROP TABLE t1;
--source include/have_innodb.inc
#
# MDEV-18632: wsrep_is_wsrep_xid: Conditional jump or move depends on uninitialised value
#
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
--connect (con1,localhost,root,,test)
ALTER TABLE t1;
--connect (con2,localhost,root,,test)
--error ER_SP_DOES_NOT_EXIST
SELECT f() FROM t1;
# Cleanup
--disconnect con2
--disconnect con1
--connection default
DROP TABLE t1;
......@@ -4712,7 +4712,7 @@ innobase_rollback(
trx is being rolled back due to BF abort, clear XID in order
to avoid writing it to rollback segment out of order. The XID
will be reassigned when the transaction is replayed. */
if (wsrep_is_wsrep_xid(trx->xid)) {
if (trx->state != TRX_STATE_NOT_STARTED && wsrep_is_wsrep_xid(trx->xid)) {
trx->xid->null();
}
#endif /* WITH_WSREP */
......
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