Re: --single-transaction hack to pg_upgrade does not work

Andres Freund <andres@2ndquadrant.com>

From: Andres Freund <andres@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Bruce Momjian <bruce@momjian.us>, Andrew Dunstan <andrew@dunslane.net>, pgsql-hackers@postgresql.org
Date: 2012-12-01T19:35:57Z
Lists: pgsql-hackers
On 2012-12-01 14:31:03 -0500, Tom Lane wrote:
> Andres Freund <andres@2ndquadrant.com> writes:
> > On 2012-12-01 12:14:37 -0500, Tom Lane wrote:
> >> It could do with some comments ;-)
>
> > Hehe, yes. Hopefully this version has enough of that.
>
> Hm, maybe too many --- I don't really think it's necessary for utility.c
> to provide a redundant explanation of what's happening.

Yea, was in doubt about that. Added it because it felt a bit strange
to pass down isTopLevel.

> Committed with adjustments --- mainly, the
> TransactionIdIsCurrentTransactionId test was flat out wrong, because it
> would accept a parent transaction ID as well as a subcommitted
> subtransaction ID.  We could safely allow the latter, but I don't think
> it's worth the trouble to add another xact.c test function.

Yea, I plainly oversaw that it would be 'dangerous' for a toplevel txn
if a subtransaction aborts. I don't really see a usecase for supporting
subtxns either, so the current GetCurrentTransactionId() seems sensible.

Thanks.

Andres

--
 Andres Freund	                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. In pg_upgrade, dump each database separately and use