Re: SPI Interface to Call Procedure with Transaction ControlStatements? - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: SPI Interface to Call Procedure with Transaction ControlStatements?
Date
Msg-id 6c7e1b13-325c-5c7c-cf3b-d2f58a96336a@2ndquadrant.com
Whole thread Raw
In response to Re: SPI Interface to Call Procedure with Transaction Control Statements?  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
List pgsql-hackers
On 15/01/2019 11:49, Andrew Gierth wrote:
>>>>>> "Jack" == Jack LIU <toliujiayi@gmail.com> writes:
> 
>  Jack> Hi Andrew,
>  Jack> This is my code to call the procedure with
>  Jack> SPI_connect_ext(SPI_OPT_NONATOMIC).
> 
> Ah. You need to take a look at exec_stmt_call in plpgsql, and do the
> same things it does with snapshot management (specifically, setting the
> no_snapshot flag on the plan that you're going to execute). SPI forces
> atomic mode if the normal snapshot management is in use, because
> otherwise a commit inside the procedure would warn about still having a
> snapshot open.

Yeah, eventually we might want to add a new SPI function to do
non-atomic calls, but right now you need to go the manual route.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: Andrew Gierth
Date:
Subject: Re: SPI Interface to Call Procedure with Transaction Control Statements?
Next
From: Tomas Vondra
Date:
Subject: Re: FETCH FIRST clause WITH TIES option