The following bug has been logged on the website:
Bug reference: 17017
Logged by: 刘沛源
Email address: lpy.henu@gmail.com
PostgreSQL version: 9.6.21
Operating system: CentOS Linux release 7.4.1708 (Core)
Description:
Schema and Initial data:
Create Table t(a int primary key, b int);
Insert into t values(1,2);
Insert into t values(2,3);
Operation:
There are two sessions executing at the same time.
[Time0, SessonA]
> Begin;
> set transaction isolation level repeatable read;
> Select * from t where a=1;
[Time1, SessonB]
> Begin;
> set transaction isolation level read committed;
> Delete from t where a=2;
> Commit;
[Time2, SessonA]
> Insert into t values(2,4);
> Select * from t where a=2;
Here, we expect PostgreSQL Server to return a row:
2 3
However, it returns two rows:
2 4
2 3