Re: Commits 8de72b and 5457a1 (COPY FREEZE) - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Commits 8de72b and 5457a1 (COPY FREEZE)
Date
Msg-id CA+U5nMLVchdSRFJg1D9sDLuHZ62JL+Py0d+XZz=_aPCZ4q3Hng@mail.gmail.com
Whole thread Raw
In response to Re: Commits 8de72b and 5457a1 (COPY FREEZE)  (Noah Misch <noah@leadboat.com>)
Responses Re: Commits 8de72b and 5457a1 (COPY FREEZE)  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
On 21 December 2012 20:10, Noah Misch <noah@leadboat.com> wrote:

> I thought of one case where we do currently forget rd_newRelfilenodeSubid:
>
> BEGIN;
> TRUNCATE t;
> SAVEPOINT save;
> TRUNCATE t;
> ROLLBACK TO save;

That's a weird one. Aborting a subtransacton that sets it, when it was
already set.

The loss of rd_newRelfilenodeSubid in that case is deterministic, but
tracking the full complexity of multiple relations and multiple nested
subxids isn't worth the trouble for such rare cases [assumption].

I'd go for just setting an its_too_complex flag (with better name)
that we can use to trigger a message in COPY to say that FREEZE option
won't be honoured. That would then be completely consistent, rather
than the lack of deterministic behaviour that Robert rightly objects
to.

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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Making view dump/restore safe at the column-alias level
Next
From: Simon Riggs
Date:
Subject: Re: Request for vote to move forward with recovery.conf overhaul