Re: DETOASTing in custom memory context

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: DETOASTing in custom memory context
Дата
Msg-id 2043.1067281991@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: DETOASTing in custom memory context  (strk <strk@keybit.net>)
Ответы Re: DETOASTing in custom memory context  (strk <strk@keybit.net>)
Список pgsql-hackers
strk <strk@keybit.net> writes:
>> 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 ?

Perhaps you wanted PG_DETOAST_DATUM_COPY().  Or possibly use
PG_FREE_IF_COPY() rather than an unconditional pfree, though
that would depend on just what your usage pattern is.
        regards, tom lane


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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: pg_ctl reports succes when start fails
Следующее
От: Jan Wieck
Дата:
Сообщение: Re: Vacuum thoughts