pgsql: Avoid unnecessary GinFormTuple() calls for incompressible postin

From: Masahiko Sawada <msawada(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Avoid unnecessary GinFormTuple() calls for incompressible postin
Date: 2025-10-06 21:03:20
Message-ID: E1v5sMa-000OjN-1R@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Avoid unnecessary GinFormTuple() calls for incompressible posting lists.

Previously, we attempted to form a posting list tuple even when
ginCompressPostingList() failed to compress the posting list due to
its size. While there was no functional failure, it always wasted one
GinFormTuple() call when item pointers didn't fit in a posting list
tuple.

This commit ensures that a GIN index tuple is formed only when all
item pointers in the posting list are successfully compressed.

Author: Arseniy Mukhin <arseniy(dot)mukhin(dot)dev(at)gmail(dot)com>
Reviewed-by: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAE7r3M+C=jcpTD93f_RBHrQp3C+=TAXFs+k4tTuZuuxboK8AvA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/771cfe22a0982f8716abfa253707e74fbbad873a

Modified Files
--------------
src/backend/access/gin/gininsert.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2025-10-07 01:15:28 pgsql: Fix incorrect targetlist in dummy UNIONs
Previous Message Nathan Bossart 2025-10-06 17:29:57 pgsql: Optimize hex_encode() and hex_decode() using SIMD.