Re: SAVEPOINTs and COMMIT performance

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: SAVEPOINTs and COMMIT performance
Date: 2011-06-06 09:33:21
Message-ID: 4DEC9EE1.8040802@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2011-06-06 09:40:40 Re: reducing the overhead of frequent table locks - now, with WIP patch
Previous Message Pavel Stehule 2011-06-06 08:38:39 Re: BLOB support