diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index 55eab14617..6eb83639aa 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -190,10 +190,6 @@ ginEntryInsert(GinState *ginstate, insertdata.isDelete = false; - /* During index build, count the to-be-inserted entry */ - if (buildStats) - buildStats->nEntries++; - ginPrepareEntryScan(&btree, attnum, key, category, ginstate); btree.isBuild = (buildStats != NULL); @@ -234,6 +230,13 @@ ginEntryInsert(GinState *ginstate, /* no match, so construct a new leaf entry */ itup = buildFreshLeafTuple(ginstate, attnum, key, category, items, nitem, buildStats, stack->buffer); + + /* + * nEntries counts leaf tuples, so increment it only when we make a + * new one. + */ + if (buildStats) + buildStats->nEntries++; } /* Insert the new or modified leaf tuple */