On 2018-Sep-04, Amit Langote wrote:
> On 2018/09/04 10:19, Michael Paquier wrote:
> > On Tue, Sep 04, 2018 at 09:47:07AM +0900, Amit Langote wrote:
> >> On 2018/09/04 6:39, Alvaro Herrera wrote:
> >>> After looking, it seems that this is just self-inflicted pain: for some
> >>> reason, we store the pg_inherits row for a partition, and immediately
> >>> afterwards compute and store its partition bound, which requires the
> >>> above hack. But if we do things in the opposite order, this is no
> >>> longer needed. I propose to remove it, as in the attached patch.
> >>
> >> +1. I remember having facepalmed at this before and had also written a
> >> patch but never got around to submitting it.
> >
> > Ok, I see. It seems to me that this could be replaced by an
> > elog(ERROR), as relispartition ought to be set anyway. This way any
> > future callers would get things done in the correct order.
>
> Converting it to elog(ERROR, ...) might be a good idea.
I think it'd be pointless noise. If we really want to protect against
that, I think we should promote the Assert for relpartbound's isnull
flag into an if test.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services