From 64e3271ebc1e02d146b17da89026ff34ba344016 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 27 Jan 2005 21:50:23 +0000 Subject: [PATCH] Now that I look at it, int_array_enum() didn't work either. --- contrib/intagg/int_aggregate.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/intagg/int_aggregate.c b/contrib/intagg/int_aggregate.c index d968c20115..abb84801fb 100644 --- a/contrib/intagg/int_aggregate.c +++ b/contrib/intagg/int_aggregate.c @@ -199,6 +199,10 @@ int_enum(PG_FUNCTION_ARGS) if (!fcinfo->context) { /* Allocate a working context */ + MemoryContext oldcontext; + + oldcontext = MemoryContextSwitchTo(fcinfo->flinfo->fn_mcxt); + pc = (CTX *) palloc(sizeof(CTX)); /* Don't copy attribute if you don't need to */ @@ -216,6 +220,7 @@ int_enum(PG_FUNCTION_ARGS) } pc->num = 0; fcinfo->context = (Node *) pc; + MemoryContextSwitchTo(oldcontext); } else /* use an existing one */ pc = (CTX *) fcinfo->context; -- 2.50.0