Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> Here is a patch that allows COMMIT inside cursor loops in PL/pgSQL. As
> alluded to in earlier threads, this is done by converting such cursors
> to holdable automatically. A special flag "auto-held" marks such
> cursors, so we know to clean them up on exceptions.
I haven't really read this patch, but this bit jumped out at me:
+ Inside a cursor loop, <command>ROLLBACK</command> is not allowed. (That
+ would have to roll back the cursor query, thus invalidating the loop.)
Say what? That seems to translate into "we have lost the ability to
deal with errors". I don't think this is really what people are hoping
to get out of the transactional-procedure facility.
regards, tom lane