On Sat, Dec 22, 2012 at 12:42:43AM +0000, Simon Riggs wrote: > On 21 December 2012 20:10, Noah Misch <n...@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.
I wouldn't bother. The behavior here is deterministic, the cause clearly traceable to the specific commands issued. Stable software won't suddenly miss the optimization for no visible reason. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers