diff options
| author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2015-05-15 14:26:51 +0300 |
|---|---|---|
| committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2015-05-15 14:26:51 +0300 |
| commit | 35fcb1b3d038a501f3f4c87c05630095abaaadab (patch) | |
| tree | d67f36684fb18b8523e78f13c0a358b376f50d4b /src/include/access/genam.h | |
| parent | ecd222e770d352121590363ffdf981147a43e976 (diff) | |
| download | postgresql-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.h | 3 |
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, |
