Re: advanced partition matching algorithm for partition-wise join

Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>

From: Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>
To: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-09-04T12:30:13Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Suppress unused-variable warning.

  2. Allow partitionwise joins in more cases.

  3. Avoid crash in partitionwise join planning under GEQO.

  4. Disable support for partitionwise joins in problematic cases.

  5. Add plan_cache_mode setting

  6. Add test for partitionwise join involving default partition.

  7. Revise API for partition_rbound_cmp/partition_rbound_datum_cmp.

Attachments

On Sat, Sep 2, 2017 at 12:42 AM, Ashutosh Bapat <
ashutosh.bapat@enterprisedb.com> wrote:

> PFA the patches rebased on the latest sources. There are also fixes
> for some of the crashes and bugs reported. I haven't yet included the
> testcase patch in the main patchset.
>
> On Mon, Aug 28, 2017 at 12:44 PM, Rajkumar Raghuwanshi
> <rajkumar.raghuwanshi@enterprisedb.com> wrote:
> > On Mon, Aug 21, 2017 at 12:43 PM, Ashutosh Bapat
> > <ashutosh.bapat@enterprisedb.com> wrote:
> >>
> >> TODOs
> >> -----------
> >> 1. Add tests for advanced partition matching algorithm
> >
> >
> > Hi Ashutosh,
> >
> > I have applied all partition-wise-join patches (v26) and tested feature.
> I
> > have modified partition_join.sql file and added extra test cases to test
> > partition matching.
> >
> > Attaching WIP test case patch which as of now have some server crashes
> and a
> > data corruptions issue which is commented in the file itself and need to
> be
> > removed once issue got solved. Also some of queries is not picking or
> > picking partition-wise-join as per expectation which may need some
> > adjustment.
> >
>

I have applied v27 patches and tested feature. Also tried to reduce
regression diff with the
existing partition_join.sql by adding new partition instead of changing
original partition bounds.

Attached WIP patch have a server crash and some wrong output which need to
be fixed. I have
commented these issue in patch itself, Please take a look and let me know
if it need more
changes.