Re: [HACKERS] advanced partition matching algorithm for partition-wise join

Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>

From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: amul sul <sulamul@gmail.com>
Cc: Dmitry Dolgov <9erthalion6@gmail.com>, Thomas Munro <thomas.munro@enterprisedb.com>, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, Antonin Houska <ah@cybertec.at>, Robert Haas <robertmhaas@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, ashutosh.bapat.oss@gmail.com
Date: 2019-01-22T12:38:16Z
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

(2019/01/21 21:09), Etsuro Fujita wrote:
> (2019/01/21 20:56), amul sul wrote:
>> 0003 patch need a rebase.
>
> Will do.

While doing the rebase, I noticed that 0002 would not be necessary 
anymore; what was originally proposed by it on how to generate the 
tlists for child-joins in [1] is entirely included in commit 
7cfdc77023ad50731723e85c215a4127436ed09c, which I pushed.  I didn't pay 
attention to this thread, but that was pretty much the same as what I 
did in that commit (except the handling of PHVs to avoid extra work in 
that commit), so I think I should have mentioned about that in the 
commit message.  Sorry for that, Ashutosh.

Here is an updated version of the patchset.  As above, I don't think 
0002 is necessary; it added copy_pathtarget to build_child_join_rel, but 
I think it would be redundant because we do create_empty_pathtarget at 
the top of that function and then build_child_join_reltarget.  Also, it 
added an assertion to build_joinrel_tlist, but I don't think it's really 
necessary IMO.  So I removed it entirely from the patchset.  No changes 
other that.

Will continue to review.

Best regards,
Etsuro Fujita

[1] 
https://www.postgresql.org/message-id/CAFjFpResoxfp1rnV4Op9JOnG19VNEnjvjRN5DVd8QRHD%2BagTDw%40mail.gmail.com