Re: BUG #6041: Unlogged table was created bad in slave node - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #6041: Unlogged table was created bad in slave node
Date
Msg-id 19171.1307476439@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #6041: Unlogged table was created bad in slave node  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: BUG #6041: Unlogged table was created bad in slave node
List pgsql-bugs
Robert Haas <robertmhaas@gmail.com> writes:
> I found a few other holes in my previous patch as well.  I think this
> plugs them all, but it's hard to be sure there aren't any other calls
> to RelationGetNumberOfBlocks() that could bomb out.

[ squint... ]  Do we need those additional tests in plancat.c?  I
haven't paid attention to whether we support unlogged indexes on logged
tables, but if we do, protecting the RelationGetNumberOfBlocks() call is
the least of your worries.  You ought to be fixing things so the planner
won't consider the index valid at all (cf. the indisvalid test at line
165).  Similarly, the change in estimate_rel_size seems to be at an
awfully low level, akin to locking the barn door after the horses are
out.  What code path are you thinking will reach there on an unlogged
table?

It might be that it'd be best just to have both the planner and executor
throwing errors on unlogged tables, rather than rejiggering pieces of
the planner to sort-of not fail on an unlogged table.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Robert Haas
Date:
Subject: Re: BUG #6041: Unlogged table was created bad in slave node
Next
From: Tom Lane
Date:
Subject: Re: Re: BUG #6050: Dump and restore of view after a schema change: can't restore the view