| -- @Description Tests the basic phantom read behavior of GPDB w.r.t to updates using |
| -- the serializable isolation level. |
| -- |
| DROP TABLE IF EXISTS ao; |
| DROP |
| CREATE TABLE ao (a INT, b INT) USING @amname@; |
| CREATE |
| INSERT INTO ao SELECT i as a, i as b FROM generate_series(1, 100) AS i; |
| INSERT 100 |
| |
| 1: BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; |
| BEGIN |
| 1: SELECT * FROM ao WHERE b BETWEEN 20 AND 30 ORDER BY a; |
| a | b |
| ----+---- |
| 20 | 20 |
| 21 | 21 |
| 22 | 22 |
| 23 | 23 |
| 24 | 24 |
| 25 | 25 |
| 26 | 26 |
| 27 | 27 |
| 28 | 28 |
| 29 | 29 |
| 30 | 30 |
| (11 rows) |
| 2: BEGIN; |
| BEGIN |
| 2: UPDATE ao SET b = -1 WHERE a = 25; |
| UPDATE 1 |
| 2: COMMIT; |
| COMMIT |
| 1: SELECT * FROM ao WHERE b BETWEEN 20 AND 30 ORDER BY a; |
| a | b |
| ----+---- |
| 20 | 20 |
| 21 | 21 |
| 22 | 22 |
| 23 | 23 |
| 24 | 24 |
| 25 | 25 |
| 26 | 26 |
| 27 | 27 |
| 28 | 28 |
| 29 | 29 |
| 30 | 30 |
| (11 rows) |
| 1: COMMIT; |
| COMMIT |