Re: Reduce build times of pg_trgm GIN indexes

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, David Geier <geidav.pg@gmail.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, Matthias van de Meent <boekewurm+postgres@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-04-14T09:22:27Z
Lists: pgsql-hackers
On 13/04/2026 20:15, Bertrand Drouvot wrote:
> On Mon, Apr 13, 2026 at 05:03:11PM +0200, David Geier wrote:
>> On 13.04.2026 13:04, Bertrand Drouvot wrote:
>>> On Mon, Apr 13, 2026 at 11:41:02AM +0200, Peter Eisentraut wrote:
>>>> On 09.04.26 13:28, Bertrand Drouvot wrote:
>>>>>
>>>>> This commit makes use of StaticAssertStmt() that has been deprecated in
>>>>> d50c86e74375. The attached, fixes it.
>>
>> I cannot find a comment close to StaticAssertStmt() that says it got
>> deprecated.
> 
> The comment on top of it's definition is:
> 
> "
> /*
>   * StaticAssertStmt() was previously used to make static assertions work as a
>   * statement, but its use is now deprecated.
>   */
> "
> 
>> Is the goal to completely get rid of StaticAssertStmt()?
> 
> According to its comment, I'd say so.
> 
>>> Yeah that looks better to not lose the connection with palloc0_array() here.
>>> Done that way in the attached and adding new braces to avoid warning from
>>> -Wdeclaration-after-statement.
>>
>> Looks good to me.
> 
> Thanks for looking at it!

Committed this StaticAssertStmt/Decl() fix, thanks

- Heikki




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Change PointerGetDatum() back to a macro

  2. Replace deprecated StaticAssertStmt() with StaticAssertDecl()

  3. Optimize sorting and deduplicating trigrams

  4. Optimize sort and deduplication in ginExtractEntries()

  5. Inline ginCompareAttEntries for speed