summaryrefslogtreecommitdiff
path: root/src/include/access/genam.h
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2015-05-15 14:26:51 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2015-05-15 14:26:51 +0300
commit35fcb1b3d038a501f3f4c87c05630095abaaadab (patch)
treed67f36684fb18b8523e78f13c0a358b376f50d4b /src/include/access/genam.h
parentecd222e770d352121590363ffdf981147a43e976 (diff)
downloadpostgresql-35fcb1b3d038a501f3f4c87c05630095abaaadab.tar.gz
Allow GiST distance function to return merely a lower-bound.
The distance function can now set *recheck = false, like index quals. The executor will then re-check the ORDER BY expressions, and use a queue to reorder the results on the fly. This makes it possible to do kNN-searches on polygons and circles, which don't store the exact value in the index, but just a bounding box. Alexander Korotkov and me
Diffstat (limited to 'src/include/access/genam.h')
-rw-r--r--src/include/access/genam.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/access/genam.h b/src/include/access/genam.h
index d86590ac11..f129c4b58f 100644
--- a/src/include/access/genam.h
+++ b/src/include/access/genam.h
@@ -147,7 +147,10 @@ extern void index_restrpos(IndexScanDesc scan);
extern ItemPointer index_getnext_tid(IndexScanDesc scan,
ScanDirection direction);
extern HeapTuple index_fetch_heap(IndexScanDesc scan);
+extern bool index_get_heap_values(IndexScanDesc scan, ItemPointer heapPtr,
+ Datum values[INDEX_MAX_KEYS], bool isnull[INDEX_MAX_KEYS]);
extern HeapTuple index_getnext(IndexScanDesc scan, ScanDirection direction);
+
extern int64 index_getbitmap(IndexScanDesc scan, TIDBitmap *bitmap);
extern IndexBulkDeleteResult *index_bulk_delete(IndexVacuumInfo *info,