mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-02 16:41:16 +02:00
Improve test coverage of ginvacuum.c.
Add a test case that exercises vacuum's deletion of empty GIN posting pages. Since this is a temp table, it should now work reliably to delete a bunch of rows and immediately VACUUM. Before the preceding commit, this would not have had the desired effect, at least not in parallel regression tests. Discussion: https://postgr.es/m/3490536.1598629609@sss.pgh.pa.us
This commit is contained in:
parent
a7212be8b9
commit
4c51a2d1e4
@ -264,6 +264,27 @@ select count(*) from t_gin_test_tbl where j @> '{}'::int[];
|
|||||||
20006
|
20006
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
-- test vacuuming of posting trees
|
||||||
|
delete from t_gin_test_tbl where j @> array[2];
|
||||||
|
vacuum t_gin_test_tbl;
|
||||||
|
select count(*) from t_gin_test_tbl where j @> array[50];
|
||||||
|
count
|
||||||
|
-------
|
||||||
|
0
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
select count(*) from t_gin_test_tbl where j @> array[2];
|
||||||
|
count
|
||||||
|
-------
|
||||||
|
0
|
||||||
|
(1 row)
|
||||||
|
|
||||||
|
select count(*) from t_gin_test_tbl where j @> '{}'::int[];
|
||||||
|
count
|
||||||
|
-------
|
||||||
|
6
|
||||||
|
(1 row)
|
||||||
|
|
||||||
reset enable_seqscan;
|
reset enable_seqscan;
|
||||||
reset enable_bitmapscan;
|
reset enable_bitmapscan;
|
||||||
drop table t_gin_test_tbl;
|
drop table t_gin_test_tbl;
|
||||||
|
@ -159,6 +159,14 @@ explain (costs off)
|
|||||||
select count(*) from t_gin_test_tbl where j @> '{}'::int[];
|
select count(*) from t_gin_test_tbl where j @> '{}'::int[];
|
||||||
select count(*) from t_gin_test_tbl where j @> '{}'::int[];
|
select count(*) from t_gin_test_tbl where j @> '{}'::int[];
|
||||||
|
|
||||||
|
-- test vacuuming of posting trees
|
||||||
|
delete from t_gin_test_tbl where j @> array[2];
|
||||||
|
vacuum t_gin_test_tbl;
|
||||||
|
|
||||||
|
select count(*) from t_gin_test_tbl where j @> array[50];
|
||||||
|
select count(*) from t_gin_test_tbl where j @> array[2];
|
||||||
|
select count(*) from t_gin_test_tbl where j @> '{}'::int[];
|
||||||
|
|
||||||
reset enable_seqscan;
|
reset enable_seqscan;
|
||||||
reset enable_bitmapscan;
|
reset enable_bitmapscan;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user