diff options
| author | Heikki Linnakangas | 2015-03-26 17:12:00 +0000 |
|---|---|---|
| committer | Heikki Linnakangas | 2015-03-26 17:12:00 +0000 |
| commit | d04c8ed9044eccebce043143a930617e3998c005 (patch) | |
| tree | e0167be995bb28dab91dfb92f1e18609e91a0d3e /src/include/utils | |
| parent | 8fa393a6d739796d9f06a7fba91d7e1d0c354879 (diff) | |
Add support for index-only scans in GiST.
This adds a new GiST opclass method, 'fetch', which is used to reconstruct
the original Datum from the value stored in the index. Also, the 'canreturn'
index AM interface function gains a new 'attno' argument. That makes it
possible to use index-only scans on a multi-column index where some of the
opclasses support index-only scans but some do not.
This patch adds support in the box and point opclasses. Other opclasses
can added later as follow-on patches (btree_gist would be particularly
interesting).
Anastasia Lubennikova, with additional fixes and modifications by me.
Diffstat (limited to 'src/include/utils')
| -rw-r--r-- | src/include/utils/geo_decls.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/utils/geo_decls.h b/src/include/utils/geo_decls.h index 8da6c6c987b..2a91620db74 100644 --- a/src/include/utils/geo_decls.h +++ b/src/include/utils/geo_decls.h @@ -410,6 +410,7 @@ extern Datum gist_box_picksplit(PG_FUNCTION_ARGS); extern Datum gist_box_consistent(PG_FUNCTION_ARGS); extern Datum gist_box_penalty(PG_FUNCTION_ARGS); extern Datum gist_box_same(PG_FUNCTION_ARGS); +extern Datum gist_box_fetch(PG_FUNCTION_ARGS); extern Datum gist_poly_compress(PG_FUNCTION_ARGS); extern Datum gist_poly_consistent(PG_FUNCTION_ARGS); extern Datum gist_circle_compress(PG_FUNCTION_ARGS); @@ -417,6 +418,8 @@ extern Datum gist_circle_consistent(PG_FUNCTION_ARGS); extern Datum gist_point_compress(PG_FUNCTION_ARGS); extern Datum gist_point_consistent(PG_FUNCTION_ARGS); extern Datum gist_point_distance(PG_FUNCTION_ARGS); +extern Datum gist_point_fetch(PG_FUNCTION_ARGS); + /* geo_selfuncs.c */ extern Datum areasel(PG_FUNCTION_ARGS); |
