From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Ildus Kurbangaliev <i(dot)kurbangaliev(at)postgrespro(dot)ru> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: committing inside cursor loop |
Date: | 2018-03-26 19:46:40 |
Message-ID: | 923b0dc9-31c2-15aa-7820-3e9aa17ac861@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 3/19/18 20:40, Peter Eisentraut wrote:
> On 3/14/18 08:05, Ildus Kurbangaliev wrote:
>>> The ROLLBACK call in the first loop iteration undoes the UPDATE
>>> command that drives the loop. Is it then sensible to continue the
>>> loop?
>>>
>> I think that in the first place ROLLBACK was prohibited because of cases
>> like this, but it seems to safe to continue the loop when portal
>> strategy is PORTAL_ONE_SELECT.
>
> Maybe, but even plain SELECT commands can have side effects.
Here is an updated patch that supports the ROLLBACK case as well, and
prevents holding portals with a strategy other than PORTAL_ONE_SELECT.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Attachment | Content-Type | Size |
---|---|---|
v2-0001-PL-pgSQL-Allow-committing-inside-cursor-loop.patch | text/plain | 16.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2018-03-26 19:51:25 | Re: Re: csv format for psql |
Previous Message | Tom Lane | 2018-03-26 19:26:00 | Re: Why does load_external_function() return PGFunction? |