pgsql: Fix ginEntryInsert's counting of GIN leaf tuples.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix ginEntryInsert's counting of GIN leaf tuples.
Date: 2019-11-04 19:16:49
Message-ID: E1iRhqL-0003PD-64@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix ginEntryInsert's counting of GIN leaf tuples.

As the code stands, nEntries counts the number of ginEntryInsert()
calls, so that's what you end up with at the end of a GIN index build.
However, ginvacuumcleanup() recomputes nEntries as the number of
surviving leaf tuples, and that's generally consistent with the way that
gincostestimate() uses the value. So let's clearly define nEntries
as the number of leaf tuples, and therefore adjust ginEntryInsert() to
increment it only when we make a new one, not when we add TIDs into an
existing tuple or posting tree.

In practice this inconsistency probably has little impact, so I don't
feel a need to back-patch.

Insung Moon and Keisuke Kuroda

Discussion: https://postgr.es/m/CAEMmqBuH_O-oXL+3_ArQ6F5cJ7kXVow2SGQB3HRacku_T+xkmA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ec28808ba85853fa14b090199236ca555273607e

Modified Files
--------------
src/backend/access/gin/gininsert.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2019-11-04 21:25:29 pgsql: Stabilize pg_dump output order for similarly-named triggers and
Previous Message Peter Eisentraut 2019-11-04 10:12:02 pgsql: Fix some compiler warnings on older compilers