Parsed test spec with 1 sessions starting permutation: split_breaks a_cut split_works a_append a_check b_holes b_vacuum_holes b_before split_breaks b_cut split_works b_after_cut b_delete b_vacuum b_check c_holes c_vacuum_holes c_before split_breaks c_cut split_works c_after_cut c_delete c_vacuum c_check d_holes d_vacuum_holes push_breaks d_cut push_works d_after_cut d_more d_check e_delete push_breaks e_cut push_works e_after_cut e_vacuum e_check promote_breaks f_cut promote_works f_after_cut f_more f_check injection_points_set_local -------------------------- (1 row) step split_breaks: SELECT injection_points_attach('lion-posting-split-incomplete', 'error'); injection_points_attach ----------------------- (1 row) step a_cut: INSERT INTO psr_app SELECT 100000 + i, i % 2 FROM generate_series(1, 30000) i; ERROR: error triggered for injection point lion-posting-split-incomplete step split_works: SELECT injection_points_detach('lion-posting-split-incomplete'); injection_points_detach ----------------------- (1 row) step a_append: INSERT INTO psr_app SELECT 200000 + i, i % 2 FROM generate_series(1, 20000) i; INSERT INTO psr_app SELECT 300000 + i, i % 2 FROM generate_series(1, 20000) i; step a_check: SELECT lion_index_verify('psr_app_k', true); SELECT * FROM psr_counts('psr_app', 0); SELECT * FROM psr_counts('psr_app', 1); lion_index_verify ----------------- (1 row) via_index|via_heap ---------+-------- 65000| 65000 (1 row) via_index|via_heap ---------+-------- 65000| 65000 (1 row) step b_holes: DELETE FROM psr_right WHERE k = 3 AND id <= 14464; step b_vacuum_holes: VACUUM (INDEX_CLEANUP ON) psr_right; step b_before: SELECT container_pages FROM lion_index_stats('psr_right_k'); container_pages --------------- 38 (1 row) step split_breaks: SELECT injection_points_attach('lion-posting-split-incomplete', 'error'); injection_points_attach ----------------------- (1 row) step b_cut: SELECT psr_insert_until_error('psr_right'); psr_insert_until_error ----------------------------------------------------------------- error triggered for injection point lion-posting-split-incomplete (1 row) step split_works: SELECT injection_points_detach('lion-posting-split-incomplete'); injection_points_detach ----------------------- (1 row) step b_after_cut: SELECT * FROM psr_landed('psr_right'); SELECT container_pages FROM lion_index_stats('psr_right_k'); lo|hi --+-- 0| 0 (1 row) container_pages --------------- 39 (1 row) step b_delete: DELETE FROM psr_right WHERE k = 1 AND id % 60 IN (1, 3) AND id BETWEEN 14464 + 1 AND 14464 * 7; step b_vacuum: VACUUM (INDEX_CLEANUP ON) psr_right; step b_check: SELECT container_pages FROM lion_index_stats('psr_right_k'); SELECT lion_index_verify('psr_right_k', true); SELECT * FROM psr_counts('psr_right', 1); SELECT * FROM psr_counts('psr_right', 100); container_pages --------------- 40 (1 row) lion_index_verify ----------------- (1 row) via_index|via_heap ---------+-------- 50167| 50167 (1 row) via_index|via_heap ---------+-------- 1073| 1073 (1 row) step c_holes: DELETE FROM psr_left WHERE k = 3 AND id BETWEEN 14464 * 6 + 1 AND 14464 * 7; step c_vacuum_holes: VACUUM (INDEX_CLEANUP ON) psr_left; step c_before: SELECT container_pages FROM lion_index_stats('psr_left_k'); container_pages --------------- 38 (1 row) step split_breaks: SELECT injection_points_attach('lion-posting-split-incomplete', 'error'); injection_points_attach ----------------------- (1 row) step c_cut: SELECT psr_insert_until_error('psr_left'); psr_insert_until_error ----------------------------------------------------------------- error triggered for injection point lion-posting-split-incomplete (1 row) step split_works: SELECT injection_points_detach('lion-posting-split-incomplete'); injection_points_detach ----------------------- (1 row) step c_after_cut: SELECT * FROM psr_landed('psr_left'); SELECT container_pages FROM lion_index_stats('psr_left_k'); lo|hi --+-- 6| 6 (1 row) container_pages --------------- 39 (1 row) step c_delete: DELETE FROM psr_left WHERE k = 1 AND id % 60 IN (1, 3) AND id <= 14464 * 6; step c_vacuum: VACUUM (INDEX_CLEANUP ON) psr_left; step c_check: SELECT container_pages FROM lion_index_stats('psr_left_k'); SELECT lion_index_verify('psr_left_k', true); SELECT * FROM psr_counts('psr_left', 1); SELECT * FROM psr_counts('psr_left', 100); container_pages --------------- 40 (1 row) lion_index_verify ----------------- (1 row) via_index|via_heap ---------+-------- 50176| 50176 (1 row) via_index|via_heap ---------+-------- 1073| 1073 (1 row) step d_holes: DELETE FROM psr_push WHERE k = 3 AND id <= 14464; step d_vacuum_holes: VACUUM (INDEX_CLEANUP ON) psr_push; step push_breaks: SELECT injection_points_attach('lion-posting-pushdown-child', 'error'); injection_points_attach ----------------------- (1 row) step d_cut: SELECT psr_insert_until_error('psr_push'); psr_insert_until_error --------------------------------------------------------------- error triggered for injection point lion-posting-pushdown-child (1 row) step push_works: SELECT injection_points_detach('lion-posting-pushdown-child'); injection_points_detach ----------------------- (1 row) step d_after_cut: SELECT * FROM psr_landed('psr_push'); SELECT posting_internal_pages FROM lion_index_stats('psr_push_k'); SELECT lion_index_verify('psr_push_k'); lo|hi --+-- 0| 0 (1 row) posting_internal_pages ---------------------- 1 (1 row) lion_index_verify ----------------- (1 row) step d_more: INSERT INTO psr_push SELECT 2000000 + i, 1 FROM generate_series(1, 200) i; step d_check: SELECT lion_index_verify('psr_push_k', true); SELECT * FROM psr_counts('psr_push', 1); SELECT * FROM psr_counts('psr_push', 3); lion_index_verify ----------------- (1 row) via_index|via_heap ---------+-------- 43659| 43659 (1 row) via_index|via_heap ---------+-------- 1688| 1688 (1 row) step e_delete: DELETE FROM psr_vpush WHERE k = 1 AND id <= 14464 AND id % 2 = 0; step push_breaks: SELECT injection_points_attach('lion-posting-pushdown-child', 'error'); injection_points_attach ----------------------- (1 row) step e_cut: VACUUM (INDEX_CLEANUP ON) psr_vpush; ERROR: error triggered for injection point lion-posting-pushdown-child step push_works: SELECT injection_points_detach('lion-posting-pushdown-child'); injection_points_detach ----------------------- (1 row) step e_after_cut: SELECT posting_internal_pages FROM lion_index_stats('psr_vpush_k'); SELECT lion_index_verify('psr_vpush_k'); posting_internal_pages ---------------------- 2 (1 row) lion_index_verify ----------------- (1 row) step e_vacuum: VACUUM (INDEX_CLEANUP ON) psr_vpush; step e_check: SELECT lion_index_verify('psr_vpush_k', true); SELECT ntids = (SELECT count(*) FROM psr_vpush) AS ntids_agrees FROM lion_index_stats('psr_vpush_k'); SELECT * FROM psr_counts('psr_vpush', 1); lion_index_verify ----------------- (1 row) ntids_agrees ------------ t (1 row) via_index|via_heap ---------+-------- 64928| 64928 (1 row) step promote_breaks: SELECT injection_points_attach('lion-posting-promoted', 'error'); injection_points_attach ----------------------- (1 row) step f_cut: INSERT INTO psr_prom SELECT 100000 + i, i % 2 FROM generate_series(1, 30000) i; ERROR: error triggered for injection point lion-posting-promoted step promote_works: SELECT injection_points_detach('lion-posting-promoted'); injection_points_detach ----------------------- (1 row) step f_after_cut: SELECT posting_internal_pages FROM lion_index_stats('psr_prom_k'); SELECT lion_index_verify('psr_prom_k'); posting_internal_pages ---------------------- 1 (1 row) lion_index_verify ----------------- (1 row) step f_more: INSERT INTO psr_prom SELECT 200000 + i, i % 2 FROM generate_series(1, 20000) i; step f_check: SELECT lion_index_verify('psr_prom_k', true); SELECT * FROM psr_counts('psr_prom', 0); SELECT * FROM psr_counts('psr_prom', 1); lion_index_verify ----------------- (1 row) via_index|via_heap ---------+-------- 43000| 43000 (1 row) via_index|via_heap ---------+-------- 43000| 43000 (1 row)