aboutsummaryrefslogtreecommitdiff
path: root/contrib/btree_gist/btree_float4.c
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2015-03-27 23:35:16 +0200
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2015-03-27 23:35:16 +0200
commite09b48316c22fce727bce3c89fa64fc627787e6a (patch)
tree107a22f368efd340c6f545f0e6b7130b5063aa08 /contrib/btree_gist/btree_float4.c
parent735cd6128a6a401671126443a9af4324932a38d6 (diff)
downloadpostgresql-e09b48316c22fce727bce3c89fa64fc627787e6a.tar.gz
postgresql-e09b48316c22fce727bce3c89fa64fc627787e6a.zip
Add index-only scan support to btree_gist.
inet, cidr, and timetz indexes still cannot support index-only scans, because they don't store the original unmodified value in the index, but a derived approximate value.
Diffstat (limited to 'contrib/btree_gist/btree_float4.c')
-rw-r--r--contrib/btree_gist/btree_float4.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/btree_gist/btree_float4.c b/contrib/btree_gist/btree_float4.c
index 6a1db380eaf..13dc4a5c0f0 100644
--- a/contrib/btree_gist/btree_float4.c
+++ b/contrib/btree_gist/btree_float4.c
@@ -16,6 +16,7 @@ typedef struct float4key
** float4 ops
*/
PG_FUNCTION_INFO_V1(gbt_float4_compress);
+PG_FUNCTION_INFO_V1(gbt_float4_fetch);
PG_FUNCTION_INFO_V1(gbt_float4_union);
PG_FUNCTION_INFO_V1(gbt_float4_picksplit);
PG_FUNCTION_INFO_V1(gbt_float4_consistent);
@@ -116,6 +117,13 @@ gbt_float4_compress(PG_FUNCTION_ARGS)
PG_RETURN_POINTER(gbt_num_compress(entry, &tinfo));
}
+Datum
+gbt_float4_fetch(PG_FUNCTION_ARGS)
+{
+ GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
+
+ PG_RETURN_POINTER(gbt_num_fetch(entry, &tinfo));
+}
Datum
gbt_float4_consistent(PG_FUNCTION_ARGS)