On Thu, Apr 9, 2020 at 10:04 AM Ashutosh Bapat <ashutosh.bapat....@gmail.com> wrote:
> On Thu, Apr 9, 2020 at 12:03 PM Etsuro Fujita <etsuro.fuj...@gmail.com> > wrote: > > > > On Thu, Apr 9, 2020 at 2:36 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > > Etsuro Fujita <etsuro.fuj...@gmail.com> writes: > > > > Yeah, partition_bounds_merge() is currently called only from > > > > try_partitionwise_join(), which guarantees that the strategies are > the > > > > same. > > > > > If there's only one caller and there's not likely to ever be more, > > > then I tend to agree that you don't need the assertion. > > > > It seems unlikely that partition_bounds_merge() will be called from > > more places in the foreseeable future, so I'd still vote for removing > > the assertion. > > When I wrote that function, I had UNION also in mind. A UNION across > multiple partitioned relations will be partitioned if we can merge the > partition bounds in a sensible manner. Of course the current structure > of that function looks more purposed for join, but it's not difficult > to convert it to be used for UNION as well. In that case those set of > functions will have many more callers. So, I will vote to keep that > assertion now that we have it there. > In that case, we really should add the PG_USED_FOR_ASSERTS_ONLY to make the compiler happy. Cheers, Jeff