Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
10.11, 11.4, 11.8, 12.3, 12.0.2, 12.3.2
-
OS: Ubuntu-20.04 LTS
-
Not for Release Notes
Description
Isolation Level: Read Uncommitted.
UPDATE statement is not blocked by the DELETE statement of another transaction, and does not update any rows, resulting in incorrect final database state.
/* init */ CREATE TABLE t (c1 INT); |
/* init */ INSERT INTO t (c1) VALUES (1); |
 |
/* t1 */ BEGIN; |
/* t1 */ DELETE FROM t; |
/* t2 */ BEGIN; |
/* t2 */ UPDATE t SET c1 = 2; |
/* t1 */ ROLLBACK; |
/* t2 */ COMMIT; |
/* t2 */ SELECT * FROM t; -- [(1)] |
We expect UPDATE statement to be blocked, and the final database is [(2)].
Attachments
Issue Links
- duplicates
-
MDEV-39882 READ UNCOMMITTED UPDATE skips a row locked by uncommitted DELETE with innodb_snapshot_isolation=ON
-
- Confirmed
-
-
MDEV-40039 Inconsistent deadlock of UPDATE and SELECT FOR UPDATE with the same WHERE clause
-
- Closed
-