1Parsed test spec with 2 sessions 2 3starting permutation: pruner_create_perm ll_start pruner_query_plan pruner_query pruner_query pruner_delete pruner_query pruner_query ll_commit pruner_drop 4step pruner_create_perm: 5 CREATE TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); 6 INSERT INTO horizons_tst(data) VALUES(1),(2); 7 8step ll_start: 9 BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; 10 SELECT 1; 11 12?column? 13-------- 14 1 15(1 row) 16 17step pruner_query_plan: 18 EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data; 19 20QUERY PLAN 21----------------------------------------------------------- 22Index Only Scan using horizons_tst_data_key on horizons_tst 23(1 row) 24 25step pruner_query: 26 SELECT explain_json($$ 27 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 28 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 29 30?column? 31-------- 32 2 33(1 row) 34 35step pruner_query: 36 SELECT explain_json($$ 37 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 38 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 39 40?column? 41-------- 42 2 43(1 row) 44 45step pruner_delete: 46 DELETE FROM horizons_tst; 47 48step pruner_query: 49 SELECT explain_json($$ 50 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 51 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 52 53?column? 54-------- 55 2 56(1 row) 57 58step pruner_query: 59 SELECT explain_json($$ 60 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 61 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 62 63?column? 64-------- 65 2 66(1 row) 67 68step ll_commit: COMMIT; 69step pruner_drop: 70 DROP TABLE horizons_tst; 71 72 73starting permutation: pruner_create_temp ll_start pruner_query_plan pruner_query pruner_query pruner_delete pruner_query pruner_query ll_commit pruner_drop 74step pruner_create_temp: 75 CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); 76 INSERT INTO horizons_tst(data) VALUES(1),(2); 77 78step ll_start: 79 BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; 80 SELECT 1; 81 82?column? 83-------- 84 1 85(1 row) 86 87step pruner_query_plan: 88 EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data; 89 90QUERY PLAN 91----------------------------------------------------------- 92Index Only Scan using horizons_tst_data_key on horizons_tst 93(1 row) 94 95step pruner_query: 96 SELECT explain_json($$ 97 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 98 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 99 100?column? 101-------- 102 2 103(1 row) 104 105step pruner_query: 106 SELECT explain_json($$ 107 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 108 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 109 110?column? 111-------- 112 2 113(1 row) 114 115step pruner_delete: 116 DELETE FROM horizons_tst; 117 118step pruner_query: 119 SELECT explain_json($$ 120 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 121 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 122 123?column? 124-------- 125 2 126(1 row) 127 128step pruner_query: 129 SELECT explain_json($$ 130 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 131 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 132 133?column? 134-------- 135 0 136(1 row) 137 138step ll_commit: COMMIT; 139step pruner_drop: 140 DROP TABLE horizons_tst; 141 142 143starting permutation: pruner_create_temp ll_start pruner_query pruner_query pruner_begin pruner_delete pruner_query pruner_query ll_commit pruner_commit pruner_drop 144step pruner_create_temp: 145 CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); 146 INSERT INTO horizons_tst(data) VALUES(1),(2); 147 148step ll_start: 149 BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; 150 SELECT 1; 151 152?column? 153-------- 154 1 155(1 row) 156 157step pruner_query: 158 SELECT explain_json($$ 159 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 160 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 161 162?column? 163-------- 164 2 165(1 row) 166 167step pruner_query: 168 SELECT explain_json($$ 169 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 170 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 171 172?column? 173-------- 174 2 175(1 row) 176 177step pruner_begin: BEGIN; 178step pruner_delete: 179 DELETE FROM horizons_tst; 180 181step pruner_query: 182 SELECT explain_json($$ 183 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 184 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 185 186?column? 187-------- 188 2 189(1 row) 190 191step pruner_query: 192 SELECT explain_json($$ 193 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 194 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 195 196?column? 197-------- 198 2 199(1 row) 200 201step ll_commit: COMMIT; 202step pruner_commit: COMMIT; 203step pruner_drop: 204 DROP TABLE horizons_tst; 205 206 207starting permutation: pruner_create_perm ll_start pruner_query pruner_query pruner_delete pruner_vacuum pruner_query pruner_query ll_commit pruner_drop 208step pruner_create_perm: 209 CREATE TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); 210 INSERT INTO horizons_tst(data) VALUES(1),(2); 211 212step ll_start: 213 BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; 214 SELECT 1; 215 216?column? 217-------- 218 1 219(1 row) 220 221step pruner_query: 222 SELECT explain_json($$ 223 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 224 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 225 226?column? 227-------- 228 2 229(1 row) 230 231step pruner_query: 232 SELECT explain_json($$ 233 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 234 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 235 236?column? 237-------- 238 2 239(1 row) 240 241step pruner_delete: 242 DELETE FROM horizons_tst; 243 244step pruner_vacuum: 245 VACUUM horizons_tst; 246 247step pruner_query: 248 SELECT explain_json($$ 249 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 250 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 251 252?column? 253-------- 254 2 255(1 row) 256 257step pruner_query: 258 SELECT explain_json($$ 259 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 260 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 261 262?column? 263-------- 264 2 265(1 row) 266 267step ll_commit: COMMIT; 268step pruner_drop: 269 DROP TABLE horizons_tst; 270 271 272starting permutation: pruner_create_temp ll_start pruner_query pruner_query pruner_delete pruner_vacuum pruner_query pruner_query ll_commit pruner_drop 273step pruner_create_temp: 274 CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); 275 INSERT INTO horizons_tst(data) VALUES(1),(2); 276 277step ll_start: 278 BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; 279 SELECT 1; 280 281?column? 282-------- 283 1 284(1 row) 285 286step pruner_query: 287 SELECT explain_json($$ 288 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 289 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 290 291?column? 292-------- 293 2 294(1 row) 295 296step pruner_query: 297 SELECT explain_json($$ 298 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 299 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 300 301?column? 302-------- 303 2 304(1 row) 305 306step pruner_delete: 307 DELETE FROM horizons_tst; 308 309step pruner_vacuum: 310 VACUUM horizons_tst; 311 312step pruner_query: 313 SELECT explain_json($$ 314 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 315 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 316 317?column? 318-------- 319 0 320(1 row) 321 322step pruner_query: 323 SELECT explain_json($$ 324 EXPLAIN (FORMAT json, BUFFERS, ANALYZE) 325 SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; 326 327?column? 328-------- 329 0 330(1 row) 331 332step ll_commit: COMMIT; 333step pruner_drop: 334 DROP TABLE horizons_tst; 335 336