Re: Question about MemoryContexts and functions that returns

Поиск
Список
Период
Сортировка
От Thomas Hallgren
Тема Re: Question about MemoryContexts and functions that returns
Дата
Msg-id 4420EFBC.2030700@tada.se
обсуждение исходный текст
Ответ на Re: Question about MemoryContexts and functions that returns  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Thomas Hallgren <thomas@tada.se> writes:
>   
>> Is there a difference in how the executor treat a C function and a 
>> function using a call handler that can cause this behavior?
>>     
>
> Can't think of one.  You'd better take a closer look at your call
> handler.
>
> gdb'ing with a watchpoint on writes to CurrentMemoryContext might be
> helpful at seeing whether the context is changing unexpectedly.
>
>   

Yes, that was helpful. My fault of course. I had a comment in place that 
explained exactly what ought to happen. Then the code did the exact 
opposite. An excerpt:
       /* a class loader or other mechanism might have connected 
already. This        * connection must be dropped since its parent context is wrong.        */
if(self->isMultiCall&& SRF_IS_FIRSTCALL())           Invocation_assertConnect();
 

The Invocation_assertConnect() performs an SPI_connect(). Sigh... 
Comments are dangerous :-)

Thanks for your help.

Kind Regards,
Thomas Hallgren



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

Предыдущее
От: Oleg Bartunov
Дата:
Сообщение: Re: 8.2 planning features
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Automatically setting work_mem