Re: DETOASTing in custom memory context

Поиск
Список
Период
Сортировка
От strk
Тема Re: DETOASTing in custom memory context
Дата
Msg-id 20031027195704.C51468@freek.keybit.net
обсуждение исходный текст
Ответ на DETOASTing in custom memory context  (strk <strk@keybit.net>)
Ответы Re: DETOASTing in custom memory context  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
From whitin an aggregate sfunc I did:       oldcontext = MemoryContextSwitchTo(fcinfo->flinfo->fn_mcxt);       geom =
(GEOMETRY*)PG_DETOAST_DATUM(datum);       MemoryContextSwitchTo(oldcontext);
 

And later in aggregate's finalfunc:pfree(geom);

Result:segfault!

What's wrong with it ?

NOTE that if I MemoryContextAllocate in fcinfo->flinfo->fn_mcxt and
memcopy DETOASTED geom, everything works (ar at least it seems to)

--strk;

strk wrote:
> Tom, thanks again for the quick answer and
> sorry for the lame question about memor allocation.
> 
> I hope this is acceptable:
> Is there a way to make PG_DETOAST_DATUM and friends allocate
> memory in a custom memory context ?
> 
> Right now I'm DETOASTing, memcopying in a custom context
> and pfreeing the DETOASTed datum, I'd like to avoid one
> copy.
> 
> TIA.
> --strk;
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Timestamp docs weirdness
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: pg_ctl reports succes when start fails