Re: Amcheck verification of GiST and GIN

Tomas Vondra <tomas@vondra.me>

From: Tomas Vondra <tomas@vondra.me>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: Kirill Reshke <reshkekirill@gmail.com>, "Andrey M. Borodin" <x4mmm@yandex-team.ru>, Alexander Lakhin <exclusion@gmail.com>, Andrey Borodin <amborodin86@gmail.com>, Peter Geoghegan <pg@bowt.ie>, Jose Arthur Benetasso Villanova <jose.arthur@gmail.com>, Andres Freund <andres@anarazel.de>, Nikolay Samokhvalov <samokhvalov@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-28T16:26:34Z
Lists: pgsql-hackers

Attachments

Here's a polished version of the patches. If you have any
comments/objections, please speak now. I don't plan to push 0006 (the
stress test), of course.

Changes I did:

1) update / write proper commit messages, hopefully explaining the
purpose of each patch well enough

2) update the lists of reviewers/authors (would appreciate someone
checking - it's hard to keep track for a thread that runs for years, and
it may not be quite clear what qualifies as a review)

3) squash the fix patch into the right patch, moved the README fix to be
the first patch (doesn't really matter)

4) minor cleanups in the main patches (0002 and 0003), mostly adding the
structs to typedefs.list and tweaking a couple comments

5) I've adjusted names of the memory contexts, because having both with
"amcheck context" seemed confusing, especially as it's in caller-callee
functions. So now it's

- amcheck consistency check context
- posting tree check context


regards

-- 
Tomas Vondra

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. amcheck: Fix posting tree checks in gin_index_check()

  2. amcheck: Fix parent key check in gin_index_check()

  3. amcheck: Fix checks of entry order for GIN indexes

  4. amcheck: Remove unused GinScanItem->parentlsn field

  5. amcheck: Test gin_index_check on a multicolumn index

  6. Remove incidental md5() function use from test

  7. amcheck: Add a GIN index to the CREATE INDEX CONCURRENTLY tests

  8. amcheck: Add a test with GIN index on JSONB data

  9. amcheck: Fix indentation in verify_gin.c

  10. amcheck: Add gin_index_check() to verify GIN index

  11. amcheck: Move common routines into a separate module

  12. Fix grammar in GIN README

  13. Avoid amcheck inline compression false positives.