Peter Eisentraut <peter.eisentr...@enterprisedb.com> writes: > On 16.01.22 23:53, Tom Lane wrote: >> I think a possible fix is: >> >> 1. Before entering the PG_TRY block, check for active subtransaction(s) >> and immediately throw a Python error if there is one. (This corresponds >> to the existing errors "cannot commit while a subtransaction is active" >> and "cannot roll back while a subtransaction is active". The point is >> to reduce the number of system states we have to worry about below.)
> AFAICT, AbortOutOfAnyTransaction() also aborts subtransactions, so why > do you suggest the separate handling of subtransactions? We don't want these operations to be able to cancel subtransactions, do we? The existing errors certainly suggest not. regards, tom lane