| -- @Description Tests the compaction of data inserted in utility mode |
| -- |
| DROP TABLE IF EXISTS foo; |
| DROP |
| CREATE TABLE foo (a INT, b INT, c CHAR(128)) USING @amname@; |
| CREATE |
| CREATE INDEX foo_index ON foo(b); |
| CREATE |
| |
| INSERT INTO foo VALUES (1, 1, 'c'); |
| INSERT 1 |
| SELECT segno, tupcount, state FROM gp_ao_or_aocs_seg('foo'); |
| segno | tupcount | state |
| -------+----------+------- |
| 1 | 1 | 1 |
| (1 row) |
| 2U: INSERT INTO foo VALUES (2, 2, 'c'); |
| INSERT 1 |
| 2U: INSERT INTO foo VALUES (3, 3, 'c'); |
| INSERT 1 |
| 2U: SELECT segno, tupcount, state FROM gp_ao_or_aocs_seg('foo'); |
| segno | tupcount | state |
| -------+----------+------- |
| 0 | 2 | 1 |
| 1 | 1 | 1 |
| (2 rows) |
| -- We know that the master does update its tupcount yet |
| SELECT segno, tupcount, state FROM gp_ao_or_aocs_seg('foo'); |
| segno | tupcount | state |
| -------+----------+------- |
| 1 | 1 | 1 |
| (1 row) |
| DELETE FROM foo WHERE a = 2; |
| DELETE 0 |
| UPDATE foo SET b = -1 WHERE a = 3; |
| UPDATE 1 |
| VACUUM foo; |
| VACUUM |
| 2U: SELECT segno, tupcount, state FROM gp_ao_or_aocs_seg('foo'); |
| segno | tupcount | state |
| -------+----------+------- |
| 0 | 0 | 1 |
| 1 | 2 | 1 |
| 2 | 1 | 1 |
| 3 | 0 | 1 |
| (4 rows) |
| SELECT segno, tupcount, state FROM gp_ao_or_aocs_seg('foo'); |
| segno | tupcount | state |
| -------+----------+------- |
| 1 | 2 | 1 |
| 2 | 1 | 1 |
| (2 rows) |