From 2d484f9b058035d41204f2eb8a0a8d2e8ee57b44 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 19 Sep 2017 23:32:45 -0400 Subject: Remove no-op GiST support functions in the core GiST opclasses. The preceding patch allowed us to remove useless GiST support functions. This patch actually does that for all the no-op cases in the core GiST code. This buys us whatever performance gain is to be had, and more importantly exercises the preceding patch. There remain no-op functions in the contrib GiST opclasses, but those will take more work to remove. Discussion: https://postgr.es/m/CAJEAwVELVx9gYscpE=Be6iJxvdW5unZ_LkcAaVNSeOwvdwtD=A@mail.gmail.com --- src/backend/utils/adt/tsgistidx.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/backend/utils/adt/tsgistidx.c') diff --git a/src/backend/utils/adt/tsgistidx.c b/src/backend/utils/adt/tsgistidx.c index 732d87f22ff..578af5d5126 100644 --- a/src/backend/utils/adt/tsgistidx.c +++ b/src/backend/utils/adt/tsgistidx.c @@ -272,6 +272,10 @@ gtsvector_compress(PG_FUNCTION_ARGS) Datum gtsvector_decompress(PG_FUNCTION_ARGS) { + /* + * We need to detoast the stored value, because the other gtsvector + * support functions don't cope with toasted values. + */ GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0); SignTSVector *key = (SignTSVector *) PG_DETOAST_DATUM(entry->key); -- cgit v1.2.3