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 по дате отправления: