Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5.12
-
OS: Ubuntu-20.04
Description
If a transaction modifies an inserted record by a concurrent transaction,
the visibility of this new record for the current transaction depends on the value of the inserted record.
This issue is similar to the issue reported in
https://jira.mariadb.org/browse/MDEV-26643
but the trigger conditions and behaviors of them are different.
How to repeat:
/* init */ drop table if exists t; |
/* init */ create table t(a int, b int); |
/* init */ insert into t values (0, 0), (1, 1); |
|
/* s1 */ begin; |
/* s1 */ select * from t; -- [(0, 0), (1, 1)] |
/* s2 */ begin; |
/* s2 */ insert into t values (10, 2); |
/* s2 */ commit; |
/* s1 */ select * from t; -- [(0, 0), (1, 1)] |
/* s1 */ update t set a = 10 where true; |
/* s1 */ select * from t; -- [(10, 0), (10, 1)] |
/* s1 */ commit; |
|
-------------------------------------------------------------
|
|
/* init */ drop table if exists t; |
/* init */ create table t(a int, b int); |
/* init */ insert into t values (0, 0), (1, 1); |
|
/* s1 */ begin; |
/* s1 */ select * from t; -- [(0, 0), (1, 1)] |
/* s2 */ begin; |
/* s2 */ insert into t values (11, 2); |
/* s2 */ commit; |
/* s1 */ select * from t; -- [(0, 0), (1, 1)] |
/* s1 */ update t set a = 10 where true; |
/* s1 */ select * from t; -- [(10, 0), (10, 1), (10, 2)] |
/* s1 */ commit; |
Attachments
Issue Links
- relates to
-
MDEV-26642 Weird SELECT view when a record is modified to the same value by two transactions
- Closed
-
MDEV-26643 Inconsistent behaviors of UPDATE under RU & RC isolation level
- Closed