Aggregate detoasted arguments lifetime

Started by strkabout 22 years ago2 messages
#1strk
strk@keybit.net

Dear pg-hackers,

Making an aggregate I want to stuff all input values (detoasted)
in an array and process them all togheter with finalfunc.

This is because in order to process them a conversion is involved
and I'm trying to reduce the number of conversions to the lowest
possible.

My question is: if I write in the "state" array
pointers to DETOASTED input args,
will I find them intact at finalfunc time ?

TIA

--strk;

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: strk (#1)
Re: Aggregate detoasted arguments lifetime

strk <strk@keybit.net> writes:

My question is: if I write in the "state" array
pointers to DETOASTED input args,
will I find them intact at finalfunc time ?

No, not without pushups. You are called in a short-lived memory
context. You could allocate query-lifetime memory in fcinfo->fn_mcxt,
but it's then your responsibility to ensure there are no undesirable
memory leaks.

regards, tom lane