Marek Lewczuk <ne...@lewczuk.com> writes:
>>> I have made an upgrade to PG 8.4 and following error was thrown during
>>> execution of some pl/pgsql function:
>>> ERROR:  XX000: SPI_connect failed: SPI_ERROR_CONNECT
>> 
> I can't prepare an example, cause I can't reproduce this error in an
> example, but in production database that error occurs. As I wrote
> before, the problem is also that second try of executing a statement,
> that cause an error works just fine, but I don't know whether this is
> executed in the same connection or in the different one, cause my
> application uses connection pooling. How can it be, that pl/pgsql
> looses SPI connection within the middle of some function ?

No, you're misinterpreting the message.  What that code likely means
is that something is trying to use SPI and finding plpgsql already
connected.  In other words, plpgsql forgets to do a SPI_push() before
calling something that might try to use SPI re-entrantly.  It should be
perfectly deterministic and it definitely doesn't have anything to do
with the states of other sessions.  But we're going to need a test
case to fix it.

                        regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to