blob: 7dec1acbf9d3c6ad0bd5485d632a46211ddd29ca [file] [log] [blame]
-- @Description Ensures that a vacuum with serializable works ok
--
DROP TABLE IF EXISTS ao;
DROP TABLE IF EXISTS ao2;
CREATE TABLE ao (a INT, b INT) USING @amname@;
CREATE TABLE ao2 (a INT) USING @amname@;
INSERT INTO ao SELECT i as a, i as b FROM generate_series(1, 100) AS i;
DELETE FROM ao WHERE a <= 30;
SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SELECT COUNT(*) FROM ao;
SELECT segno, tupcount FROM gp_ao_or_aocs_seg('ao');
VACUUM ao;
-- in case there's autovacuum worker running in the backend, the aoseg will not be dropped which has state = 2
SELECT segno, tupcount FROM gp_ao_or_aocs_seg('ao') where state = 1 and tupcount > 0;
SELECT COUNT(*) FROM ao;