START TRANSACTION WITH CONSISTENT SNAPSHOT breaks transactional flow
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PBXT |
Fix Committed
|
Undecided
|
Vladimir Kolesnikov |
Bug Description
PBXT 1.0.10c RC, MySQL 5.1.42, 6.0.9-alpha
For the MTR test below, the expected result would be that SELECT after ROLLBACK returns an empty set; but it is not so -- instead, the select returns the row inserted during the transaction.
Could not reproduce with PBXT 1.0.9, so it might be related to recent fixes in the area.
# Test case:
# cat t/pbxt_
--disable_warnings
DROP TABLE IF EXISTS t;
--enable_warnings
CREATE TABLE t (i INT PRIMARY KEY) ENGINE=PBXT;
SELECT * FROM t;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
INSERT INTO t VALUES (1);
ROLLBACK;
SELECT * FROM t;
DROP TABLE t;
<EOF>
# Expected result:
# cat r/pbxt_
DROP TABLE IF EXISTS t;
CREATE TABLE t (i INT PRIMARY KEY) ENGINE=PBXT;
SELECT * FROM t;
i
START TRANSACTION WITH CONSISTENT SNAPSHOT;
INSERT INTO t VALUES (1);
ROLLBACK;
SELECT * FROM t;
i
DROP TABLE t;
<EOF>
# Real result:
# cat r/pbxt_
DROP TABLE IF EXISTS t;
CREATE TABLE t (i INT PRIMARY KEY) ENGINE=PBXT;
SELECT * FROM t;
i
START TRANSACTION WITH CONSISTENT SNAPSHOT;
INSERT INTO t VALUES (1);
ROLLBACK;
SELECT * FROM t;
i
1
<EOF>
Related branches
- PBXT Core: Pending requested
-
Diff: 150 lines (+60/-22)4 files modifiedChangeLog (+2/-0)
src/ha_pbxt.cc (+37/-22)
test/mysql-test/r/pbxt_snapshot.result (+9/-0)
test/mysql-test/t/pbxt_snapshot.test (+12/-0)
Changed in pbxt: | |
assignee: | nobody → Vladimir Kolesnikov (vkolesnikov) |
status: | New → Fix Committed |