summaryrefslogtreecommitdiff
path: root/src/include/access/gin_private.h
diff options
context:
space:
mode:
authorFujii Masao2016-01-28 03:57:52 +0000
committerFujii Masao2016-01-28 03:57:52 +0000
commit7f46eaf035440564e7dae3b03916735b92c83248 (patch)
treec8eeeea61e1e5046a1ed7edd737610dab862c11a /src/include/access/gin_private.h
parenteaf7b1f6432480e93d8c6824fbd503761a1c1a4f (diff)
Add gin_clean_pending_list function to clean up GIN pending list
This function cleans up the pending list of the GIN index by moving entries in it to the main GIN data structure in bulk. It returns the number of pages cleaned up from the pending list. This function is useful, for example, when the pending list needs to be cleaned up *quickly* to improve the performance of the search using GIN index. VACUUM can do the same thing, too, but it may take days to run on a large table. Jeff Janes, reviewed by Julien Rouhaud, Jaime Casanova, Alvaro Herrera and me. Discussion: CAMkU=1x8zFkpfnozXyt40zmR3Ub_kHu58LtRmwHUKRgQss7=iQ@mail.gmail.com
Diffstat (limited to 'src/include/access/gin_private.h')
-rw-r--r--src/include/access/gin_private.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/access/gin_private.h b/src/include/access/gin_private.h
index 695959c5b18..d2ea58832ce 100644
--- a/src/include/access/gin_private.h
+++ b/src/include/access/gin_private.h
@@ -881,6 +881,9 @@ extern void ginFreeScanKeys(GinScanOpaque so);
/* ginget.c */
extern int64 gingetbitmap(IndexScanDesc scan, TIDBitmap *tbm);
+/* ginfast.c */
+extern Datum gin_clean_pending_list(PG_FUNCTION_ARGS);
+
/* ginlogic.c */
extern void ginInitConsistentFunction(GinState *ginstate, GinScanKey key);