mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Add test coverage for rootdescend verification.
Commit c1afd175
, which added support for rootdescend verification to
amcheck, added only minimal regression test coverage. Address this by
making sure that rootdescend verification is run on a multi-level index.
In passing, simplify some of the regression tests that exercise
multi-level nbtree page deletion.
Both issues spotted while rereviewing coverage of the nbtree patch
series using gcov.
This commit is contained in:
@ -69,13 +69,13 @@ COMMIT;
|
||||
|
||||
-- normal check outside of xact for index with included columns
|
||||
SELECT bt_index_check('bttest_multi_idx');
|
||||
-- more expansive test for index with included columns
|
||||
SELECT bt_index_parent_check('bttest_multi_idx', true);
|
||||
-- more expansive tests for index with included columns
|
||||
SELECT bt_index_parent_check('bttest_multi_idx', true, true);
|
||||
|
||||
-- repeat expansive test for index built using insertions
|
||||
-- repeat expansive tests for index built using insertions
|
||||
TRUNCATE bttest_multi;
|
||||
INSERT INTO bttest_multi SELECT i, i%2 FROM generate_series(1, 100000) as i;
|
||||
SELECT bt_index_parent_check('bttest_multi_idx', true);
|
||||
SELECT bt_index_parent_check('bttest_multi_idx', true, true);
|
||||
|
||||
--
|
||||
-- Test for multilevel page deletion/downlink present checks, and rootdescend
|
||||
@ -83,14 +83,11 @@ SELECT bt_index_parent_check('bttest_multi_idx', true);
|
||||
--
|
||||
INSERT INTO delete_test_table SELECT i, 1, 2, 3 FROM generate_series(1,80000) i;
|
||||
ALTER TABLE delete_test_table ADD PRIMARY KEY (a,b,c,d);
|
||||
-- Delete many entries, and vacuum. This causes page deletions.
|
||||
DELETE FROM delete_test_table WHERE a > 40000;
|
||||
VACUUM delete_test_table;
|
||||
-- Delete most entries, and vacuum, deleting internal pages and creating "fast
|
||||
-- root"
|
||||
DELETE FROM delete_test_table WHERE a < 79990;
|
||||
VACUUM delete_test_table;
|
||||
SELECT bt_index_parent_check('delete_test_table_pkey', true, true);
|
||||
SELECT bt_index_parent_check('delete_test_table_pkey', true);
|
||||
|
||||
--
|
||||
-- BUG #15597: must not assume consistent input toasting state when forming
|
||||
|
Reference in New Issue
Block a user