On Mon, Aug 6, 2018 at 8:30 AM, Etsuro Fujita
<fujita.etsuro@lab.ntt.co.jp> wrote:
> In the above I used the test whether the relation's reloptkind is
> RELOPT_BASEREL or not, but I noticed that I had overlooked the case of a
> multi-level partitioned table. So I fixed that and added regression test
> cases for that. I also revised comments a bit. Attached is an updated
> version of the patch.
+ /* If so, consider partitionwise joins for that join. */
+ if (IS_PARTITIONED_REL(joinrel))
+ joinrel->consider_partitionwise_join = true;
Maybe this should assert that the inner and outer rels have
consider_partitionwise_join set. There is an Assert quite a bit
earlier in the function that the parent join have it set, but I think
it might make sense to check the children have it set whenever we set
the flag.
Aside from that I don't really have any suggestions on this.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company