Re: Reduce build times of pg_trgm GIN indexes
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter@eisentraut.org>,
pgsql-hackers <pgsql-hackers@postgresql.org>,
David Geier <geidav.pg@gmail.com>
Date: 2026-04-22T21:11:51Z
Lists: pgsql-hackers
On 17/04/2026 22:21, Heikki Linnakangas wrote: > On 16/04/2026 20:47, Tom Lane wrote: >> Heikki Linnakangas <hlinnaka@iki.fi> writes: >>> On 16/04/2026 17:37, Tom Lane wrote: >>>> Not excited about making massive changes for this. >> >>> Having all three would be a very localized change in postgres.h. >> >> Sure, but *using* them in a consistent way would be invasive. >> >>>> I remain far less certain than Peter is that this discussion has >>>> anything to do with why Coverity is complaining about >>>> ginExtractEntries. I still think we should make some minimum-effort >>>> change to see if the complaint goes away before expending a lot of >>>> brain cells on choosing a final fix. >> >>> I think I'm going to commit my proposal to turn PointerGetDatum() back >>> into a macro, and see if that makes Coverity happy. Then we'll know, and >>> we can decide on the next steps. Any objections? >> >> WFM. > > ... > > So, pushed a commit that changes just PointerGetDatum() itself, leaving > all those others alone. As we thought, this made the Coverity warning go away. I'm happy with the status quo in master, but if we want to introduce new ConstPointerGetDatum() or NonConstPointerGetDatum() variants instead of the macro, now is the time to do it. For backbranches, IMHO we should go with the macro. It's a little scary to replace such a widely used function as PointerGetDatum() in back-branches, but I do think this should be fixed. Introducing new variants doesn't seems even less backpatchable. - Heikki
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Change PointerGetDatum() back to a macro
- d65995cbc6e1 19 (unreleased) landed
-
Replace deprecated StaticAssertStmt() with StaticAssertDecl()
- 66ad764c8d51 19 (unreleased) landed
-
Optimize sorting and deduplicating trigrams
- 9f3755ea07aa 19 (unreleased) landed
-
Optimize sort and deduplication in ginExtractEntries()
- 6f5ad00ab763 19 (unreleased) landed
-
Inline ginCompareAttEntries for speed
- bba81f9d3d4f 19 (unreleased) landed