setup { CREATE EXTENSION pageinspect; CREATE TABLE freezetab ( a int ) WITH OIDS; INSERT INTO freezetab VALUES (1); } teardown { DROP EXTENSION pageinspect; } session "s1" step "s1b" { BEGIN; } step "s1s" { SELECT txid_current(), * FROM freezetab FOR KEY SHARE; } step "s1c" { COMMIT; } step "s1e" { SELECT lp, t_xmin, t_xmax, to_hex(t_infomask) as mask, to_hex(t_infomask2) as mask2 FROM heap_page_items(get_raw_page('freezetab', 0)); } step "s1e2" { SELECT lp, t_xmax, members.* FROM heap_page_items(get_raw_page('freezetab', 0)), pg_get_multixact_members(t_xmax) members; } session "s2" step "s2b" { BEGIN; } step "s2s" { SELECT txid_current(), * FROM freezetab FOR KEY SHARE; } step "s2c" { COMMIT; } session "s3" step "s3b" { BEGIN; } step "s3u" { UPDATE freezetab SET a = 2; } step "s3c" { COMMIT; } session "s4" step "s4f" { VACUUM FREEZE freezetab; } permutation "s1b" "s1s" "s2b" "s2s" "s3b" "s3u" "s1c" "s1e" "s4f" "s1e" "s1e2" "s2c" "s3c"