Re: Savepoints and SPI

Поиск
Список
Период
Сортировка
От Thomas Hallgren
Тема Re: Savepoints and SPI
Дата
Msg-id 423974FD.4050609@mailblocks.com
обсуждение исходный текст
Ответ на Re: Savepoints and SPI  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Список pgsql-hackers
Alvaro Herrera wrote:

>On Wed, Mar 16, 2005 at 07:35:57PM +0100, Thomas Hallgren wrote:
>  
>
>>I have some test code that utilize SPI and does the following:
>>
>>1. SPI_connect
>>2. set a savepoint (using BeginInternalSubTransaction)
>>3. execute a statement that contains a syntax error (within PG_TRY/PG_CATCH)
>>4. rollback to the savepoint (RollbackAndReleaseCurrentSubTransaction)
>>5. execute some other statement.
>>
>>it errors out in step 5 with SPI_ERROR_UNCONNECTED. It seems that step 
>>3, when it encounters an error, automatically executes a SPI_finish. Is 
>>that the desired behavior?
>>    
>>
>
>I'd expect the code to close an SPI connection that is opened inside the
>savepoint, but if you open it before setting the savepoint then it
>should remain open.
>  
>
That doesn't seem to be what happens. ISTM that the AtEOSubXact_SPI will 
do this always:
       _SPI_connected--;       _SPI_curid = _SPI_connected;

which in essence puts SPI in an unconnected state regardless of what the 
values where before on the _SPI_connected and _SPI_curid.

Regards,
Thomas Hallgren




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

Предыдущее
От: Karel Zak
Дата:
Сообщение: Re: invalidating cached plans
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: PHP stuff