Parsed test spec with 2 sessions starting permutation: pruner_create_perm ll_start pruner_query_plan pruner_query pruner_query pruner_delete pruner_query pruner_query ll_commit pruner_drop step pruner_create_perm: CREATE TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); INSERT INTO horizons_tst(data) VALUES(1),(2); step ll_start: BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT 1; ?column? -------- 1 (1 row) step pruner_query_plan: EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data; QUERY PLAN ----------------------------------------------------------- Index Only Scan using horizons_tst_data_key on horizons_tst (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_delete: DELETE FROM horizons_tst; step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step ll_commit: COMMIT; step pruner_drop: DROP TABLE horizons_tst; starting permutation: pruner_create_temp ll_start pruner_query_plan pruner_query pruner_query pruner_delete pruner_query pruner_query ll_commit pruner_drop step pruner_create_temp: CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); INSERT INTO horizons_tst(data) VALUES(1),(2); step ll_start: BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT 1; ?column? -------- 1 (1 row) step pruner_query_plan: EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data; QUERY PLAN ----------------------------------------------------------- Index Only Scan using horizons_tst_data_key on horizons_tst (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_delete: DELETE FROM horizons_tst; step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 0 (1 row) step ll_commit: COMMIT; step pruner_drop: DROP TABLE horizons_tst; starting permutation: pruner_create_temp ll_start pruner_query pruner_query pruner_begin pruner_delete pruner_query pruner_query ll_commit pruner_commit pruner_drop step pruner_create_temp: CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); INSERT INTO horizons_tst(data) VALUES(1),(2); step ll_start: BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT 1; ?column? -------- 1 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_begin: BEGIN; step pruner_delete: DELETE FROM horizons_tst; step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step ll_commit: COMMIT; step pruner_commit: COMMIT; step pruner_drop: DROP TABLE horizons_tst; starting permutation: pruner_create_perm ll_start pruner_query pruner_query pruner_delete pruner_vacuum pruner_query pruner_query ll_commit pruner_drop step pruner_create_perm: CREATE TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); INSERT INTO horizons_tst(data) VALUES(1),(2); step ll_start: BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT 1; ?column? -------- 1 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_delete: DELETE FROM horizons_tst; step pruner_vacuum: VACUUM horizons_tst; step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step ll_commit: COMMIT; step pruner_drop: DROP TABLE horizons_tst; starting permutation: pruner_create_temp ll_start pruner_query pruner_query pruner_delete pruner_vacuum pruner_query pruner_query ll_commit pruner_drop step pruner_create_temp: CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); INSERT INTO horizons_tst(data) VALUES(1),(2); step ll_start: BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT 1; ?column? -------- 1 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 2 (1 row) step pruner_delete: DELETE FROM horizons_tst; step pruner_vacuum: VACUUM horizons_tst; step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 0 (1 row) step pruner_query: SELECT explain_json($$ EXPLAIN (FORMAT json, BUFFERS, ANALYZE) SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; ?column? -------- 0 (1 row) step ll_commit: COMMIT; step pruner_drop: DROP TABLE horizons_tst;