Alvaro Herrera <alvherre@dcc.uchile.cl> writes:
> But there are a lot of things to do before nested transactions become a
> reality. For example there is need to abort any transaction, including
> possible subtransactions, in the case of deadlock. How is this supposed
> to be? Do we abort the whole transaction tree? Do we abort only the
> branch of the tree that has the needed locks?
Deadlock is not different from any other elog(ERROR) condition: you
abort the innermost transaction.
regards, tom lane