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

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to