blob: 3de48f116a3c9e9a331159ed523771dba64f5c43 [file] [log] [blame]
-- Test VACUUM with SKIP_LOCKED
-- The test focuses on the vacuum behavior when the table is locked
-- on segments. There is another test vacuum-skip-locked in
-- isolation dir which focuses on regular test cases (table is locked
-- on master).
1: CREATE TABLE vacuum_tbl (c1 int) DISTRIBUTED BY (c1);
-- Connect to seg #0 in utility mode, lock the table in share mode
0U: BEGIN;
0U: LOCK vacuum_tbl IN SHARE MODE;
-- Issue vacuum with SKIP_LOCKED option
-- Note that some ANALYZE options are disabled here because the ANALYZE
-- try to acquire sample on segments and block. It is acceptable on
-- GPDB. See the comments in isolation/specs/vacuum-skip-locked.spec.
2: VACUUM (SKIP_LOCKED) vacuum_tbl;
--2: ANALYZE (SKIP_LOCKED) vacuum_tbl;
--2: VACUUM (ANALYZE, SKIP_LOCKED) vacuum_tbl;
2: VACUUM (SKIP_LOCKED, FULL) vacuum_tbl;
0U: COMMIT;
-- Connect to seg #0 in utility mode, lock the table in exclusive mode
0U: BEGIN;
0U: LOCK vacuum_tbl IN ACCESS EXCLUSIVE MODE;
-- Issue vacuum with SKIP_LOCKED option
-- Note that some ANALYZE options are disabled here because the ANALYZE
-- try to acquire sample on segments and block. It is acceptable on
-- GPDB. See the comments in isolation/specs/vacuum-skip-locked.spec.
2: VACUUM (SKIP_LOCKED) vacuum_tbl;
--2: ANALYZE (SKIP_LOCKED) vacuum_tbl;
--2: VACUUM (ANALYZE, SKIP_LOCKED) vacuum_tbl;
2: VACUUM (SKIP_LOCKED, FULL) vacuum_tbl;
0U: COMMIT;
1: DROP TABLE IF EXISTS vacuum_tbl;