aboutsummaryrefslogtreecommitdiff
path: root/contrib/btree_gist/btree_text.c
diff options
context:
space:
mode:
authorNeil Conway <neilc@samurai.com>2005-05-21 12:08:06 +0000
committerNeil Conway <neilc@samurai.com>2005-05-21 12:08:06 +0000
commit36ab6005119532903d4ce3ad564e6576bd7698b8 (patch)
treefb6f1c25a78b5fe285a7496c4893565b76c5893f /contrib/btree_gist/btree_text.c
parent875813439d0659a2adacc54409793a793f959ea7 (diff)
downloadpostgresql-36ab6005119532903d4ce3ad564e6576bd7698b8.tar.gz
postgresql-36ab6005119532903d4ce3ad564e6576bd7698b8.zip
Cleanup of GiST extensions in contrib/: now that we always invoke GiST
methods in a short-lived memory context, there is no need for GiST methods to do their own manual (and error-prone) memory management.
Diffstat (limited to 'contrib/btree_gist/btree_text.c')
-rw-r--r--contrib/btree_gist/btree_text.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/contrib/btree_gist/btree_text.c b/contrib/btree_gist/btree_text.c
index 50b81ab0454..d81e7d0fd92 100644
--- a/contrib/btree_gist/btree_text.c
+++ b/contrib/btree_gist/btree_text.c
@@ -108,8 +108,6 @@ gbt_bpchar_compress(PG_FUNCTION_ARGS)
entry->rel, entry->page,
entry->offset, VARSIZE(DatumGetPointer(d)), TRUE);
retval = gbt_var_compress(&trim, &tinfo);
-
- pfree(DatumGetPointer(d));
}
else
retval = entry;
@@ -124,7 +122,6 @@ gbt_text_consistent(PG_FUNCTION_ARGS)
{
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
GBT_VARKEY *key = (GBT_VARKEY *) DatumGetPointer(entry->key);
- void *qtst = (void *) PG_GETARG_POINTER(1);
void *query = (void *) DatumGetTextP(PG_GETARG_DATUM(1));
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
bool retval = FALSE;
@@ -132,9 +129,6 @@ gbt_text_consistent(PG_FUNCTION_ARGS)
retval = gbt_var_consistent(&r, query, &strategy, GIST_LEAF(entry), &tinfo);
- if (qtst != query)
- pfree(query);
-
PG_RETURN_BOOL(retval);
}
@@ -144,25 +138,17 @@ gbt_bpchar_consistent(PG_FUNCTION_ARGS)
{
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
GBT_VARKEY *key = (GBT_VARKEY *) DatumGetPointer(entry->key);
- void *qtst = (void *) PG_GETARG_POINTER(1);
void *query = (void *) DatumGetPointer(PG_DETOAST_DATUM(PG_GETARG_DATUM(1)));
void *trim = (void *) DatumGetPointer(DirectFunctionCall1(rtrim1, PointerGetDatum(query)));
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
- bool retval = FALSE;
+ bool retval;
GBT_VARKEY_R r = gbt_var_key_readable(key);
retval = gbt_var_consistent(&r, trim, &strategy, GIST_LEAF(entry), &tinfo);
-
- pfree(trim);
-
- if (qtst != query)
- pfree(query);
PG_RETURN_BOOL(retval);
}
-
-
Datum
gbt_text_union(PG_FUNCTION_ARGS)
{