Re: SPI Interface to Call Procedure with Transaction ControlStatements?
| От | Peter Eisentraut |
|---|---|
| Тема | Re: SPI Interface to Call Procedure with Transaction ControlStatements? |
| Дата | |
| Msg-id | 6c7e1b13-325c-5c7c-cf3b-d2f58a96336a@2ndquadrant.com обсуждение исходный текст |
| Ответ на | Re: SPI Interface to Call Procedure with Transaction Control Statements? (Andrew Gierth <andrew@tao11.riddles.org.uk>) |
| Список | 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 по дате отправления: