On 06.02.2011 23:09, Simon Riggs wrote:
> On Sun, 2011-02-06 at 12:11 -0500, Bruce Momjian wrote:
>> Did this ever get addressed?
>
> Patch attached.
>
> Seems like the easiest fix I can come up with.
> @@ -2518,7 +2518,7 @@ CommitTransactionCommand(void)
> case TBLOCK_SUBEND:
> do
> {
> - CommitSubTransaction();
> + CommitSubTransaction(true);
> s = CurrentTransactionState; /* changed by pop */
> } while (s->blockState == TBLOCK_SUBEND);
> /* If we had a COMMIT command, finish off the main xact too */
We also get into this codepath at RELEASE SAVEPOINT, in which case it is
wrong to not reassign the locks to the parent subtransaction.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com