Re: Partition-wise join for join between (declaratively) partitioned tables

From: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
To: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Rafia Sabih <rafia(dot)sabih(at)enterprisedb(dot)com>, Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Partition-wise join for join between (declaratively) partitioned tables
Date: 2017-03-27 12:36:06
Views: Raw Message | Whole Thread | Download mbox
Lists: pgsql-hackers

On Fri, Mar 24, 2017 at 4:18 PM, Amit Langote
<Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> Hi Ashutosh,
> On 2017/03/23 21:48, Ashutosh Bapat wrote:
>>>> I have fixed all the issues reported till now.
> I've tried to fix your 0012 patch (Multi-level partitioned table
> expansion) considering your message earlier on this thread [1].
> Especially the fact that no AppendRelInfo and RelOptInfo are allocated for
> partitioned child tables as of commit d3cc37f1d [2]. I've fixed
> expand_inherited_rtentry() such that AppendRelInfo *is* allocated for a
> partitioned child RTEs whose rte->inh is set to true. Such an RTE is
> recursively expanded with that RTE the parent.
> Also as I mentioned elsewhere [3], the multi-level inheritance expansion
> of partitioned table will break update/delete for partitioned table, which
> is because inheritance_planner() is not ready to handle inheritance sets
> structured that way. I tried to refactor inheritance_planner() such that
> its core logic can be recursively invoked for partitioned child RTEs. The
> resulting child paths and other auxiliary information related to planning
> across the hierarchy are maintained in one place using a struct to hold
> the same in a few flat lists. The refactoring didn't break any existing
> tests and a couple of new tests are added to check that it indeed works
> for multi-level partitioned tables expanded using new multi-level structure.
> There is some test failure in 0014 (Multi-level partition-wise join
> tests), probably because of the changes I made to 0012, which I didn't get
> time to check why, although I've checked using an example that multi-level
> join planning still works, so it's not completely broken either.

I have gone through the patch, and it looks good to me. Here's the set
of patches with this patch included. Fixed the testcase failures.
Rebased the patchset on de4da168d57de812bb30d359394b7913635d21a9.

Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company

Attachment Content-Type Size application/zip 68.0 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Dave Page 2017-03-27 12:42:49 Re: Monitoring roles patch
Previous Message David Steele 2017-03-27 12:34:55 Re: patch proposal