Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit649f179

Browse files
committed
Fix tuple counting in SP-GiST index build.
Count the number of tuples in the index honestly, instead of assumingthat it's the same as the number of tuples in the heap. (It might bedifferent if the index is partial.)Back-patch to all supported versions.Tomas VondraDiscussion:https://postgr.es/m/3b3d8eac-c709-0d25-088e-b98339a1b28a@2ndquadrant.com
1 parent7de4a1b commit649f179

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

‎src/backend/access/spgist/spginsert.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
typedefstruct
3333
{
3434
SpGistStatespgstate;/* SPGiST's working state */
35+
int64indtuples;/* total number of tuples indexed */
3536
MemoryContexttmpCtx;/* per-tuple temporary context */
3637
}SpGistBuildState;
3738

@@ -59,6 +60,9 @@ spgistBuildCallback(Relation index, HeapTuple htup, Datum *values,
5960
MemoryContextReset(buildstate->tmpCtx);
6061
}
6162

63+
/* Update total tuple count */
64+
buildstate->indtuples+=1;
65+
6266
MemoryContextSwitchTo(oldCtx);
6367
MemoryContextReset(buildstate->tmpCtx);
6468
}
@@ -132,6 +136,7 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo)
132136
*/
133137
initSpGistState(&buildstate.spgstate,index);
134138
buildstate.spgstate.isBuild= true;
139+
buildstate.indtuples=0;
135140

136141
buildstate.tmpCtx=AllocSetContextCreate(CurrentMemoryContext,
137142
"SP-GiST build temporary context",
@@ -146,7 +151,8 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo)
146151
SpGistUpdateMetaPage(index);
147152

148153
result= (IndexBuildResult*)palloc0(sizeof(IndexBuildResult));
149-
result->heap_tuples=result->index_tuples=reltuples;
154+
result->heap_tuples=reltuples;
155+
result->index_tuples=buildstate.indtuples;
150156

151157
returnresult;
152158
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp