| -- @Description Run vacuum, while a serializable transaction is holding a lock |
| -- on the table. |
| -- |
| DROP TABLE IF EXISTS ao; |
| CREATE TABLE ao (a INT) USING @amname@; |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| insert into ao select generate_series(1,1000); |
| |
| DELETE FROM ao WHERE a < 128; |
| 1: BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; |
| 1: SELECT COUNT(*) FROM ao; |
| 2: SELECT segment_id, segno, tupcount, state FROM gp_ao_or_aocs_seg('ao'); |
| 2: VACUUM ao; |
| 1: SELECT COUNT(*) FROM ao; |
| 1: COMMIT; |
| 3: INSERT INTO ao VALUES (0); |
| 2: SELECT segment_id, segno, tupcount, state FROM gp_ao_or_aocs_seg('ao'); |