Re: tweak to a few index tests to hits ambuildempty() routine.

a.kozhemyakin <a.kozhemyakin@postgrespro.ru>

From: a.kozhemyakin@postgrespro.ru
To: pgsql-hackers@lists.postgresql.org
Date: 2022-09-12T08:47:09Z
Lists: pgsql-hackers
Hi,

The commit 4fb5c794e5 eliminates the ginbulkdelete() test coverage 
provided by the commit 4c51a2d1e4 two years ago.
With the following Assert added:
@@ -571,7 +571,7 @@ ginbulkdelete(IndexVacuumInfo *info, 
IndexBulkDeleteResult *stats,
         Buffer          buffer;
         BlockNumber rootOfPostingTree[BLCKSZ / (sizeof(IndexTupleData) + 
sizeof(ItemId))];
         uint32          nRoot;
-
+       Assert(0);
         gvs.tmpCxt = AllocSetContextCreate(CurrentMemoryContext,
                                                                          
   "Gin vacuum temporary context",
                                                                          
   ALLOCSET_DEFAULT_SIZES);
I have check-world passed successfully.

Amul Sul писал 2021-11-29 12:04:
> Hi,
> 
> Attached patch is doing small changes to brin, gin & gist index tests
> to use an unlogged table without changing the original intention of
> those tests and that is able to hit ambuildempty() routing which is
> otherwise not reachable by the current tests.



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Avoid loss of code coverage with unlogged-index test cases.

  2. Use --no-unlogged-table-data in t/027_stream_regress.pl.

  3. Cover brin/gin/gist/spgist ambuildempty routines in regression tests

  4. Improve test coverage of ginvacuum.c.