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