Re: Proposal : Parallel Merge Join

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-03-07T16:58:00Z
Lists: pgsql-hackers
On Tue, Mar 7, 2017 at 11:38 AM, Dilip Kumar <dilipbalaut@gmail.com> wrote:
> On Tue, Mar 7, 2017 at 7:47 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> You're right to be confused, because that seems to be a bug in the
>> existing code.  There seems to be no guarantee that the cheapest
>> parallel-safe path will be in the cheapest_parameterized_paths list.
>> I'll go fix that.
>
> Okay, Done the simmilar changes in sort_inner_and_outer as well.
>>
>> As a matter of style, when testing a value of type "bool", write if
>> (x) or if (!x).  When testing a variable of some other type, say int,
>> write if (x == 0) or if (x != 0) or whatever.
>
> Done
>
> Apart from this, there was one problem in match_unsorted_outer (in
> v10), Basically, if inner_cheapest_total was not parallel_safe then I
> was always getting parallel safe inner. But, we should not do anything
> if jointype was JOIN_UNIQUE_INNER, so fixed that also.

This version looks fine to me, so committed.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Commits

  1. Consider parallel merge joins.

  2. Preparatory refactoring for parallel merge join support.

  3. Fix parallel hash join path search.