Re: Allowing join removals for more join types - Mailing list pgsql-hackers

From David Rowley
Subject Re: Allowing join removals for more join types
Date
Msg-id CAApHDvoYSB-htvyhkfpi7ovzRxoDtt-+K8zk4Rypp4Hr26JszQ@mail.gmail.com
Whole thread Raw
In response to Re: Allowing join removals for more join types  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Allowing join removals for more join types  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Wed, Jul 16, 2014 at 1:17 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
David Rowley <dgrowleyml@gmail.com> writes:
> I've attached an updated patch which puts in some fast path code for
> subquery type joins. I'm really not too sure on a good name for this
> function. I've ended up with query_supports_distinctness() which I'm not
> that keen on, but I didn't manage to come up with anything better.

I've committed this with some mostly but not entirely cosmetic changes.

Great! thanks for taking the time to give me guidance on this and commit it too.

Simon, thank you for taking the time to review the code.

Notably, I felt that pathnode.c was a pretty questionable place to be
exporting distinctness-proof logic from, and after some reflection decided
to move those functions to analyzejoins.c; that's certainly a better place
for them than pathnode.c, and I don't see any superior third alternative.


That seems like a good change. Also makes be wonder a bit why clause_sides_match_join is duplicated in joinpath.c and analyzejoins.c, is this just so that it can be inlined? 

Thanks also for making the change to create_unique_path to make use of the new query_supports_distinctness function.

Regards

David Rowley
 

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: [bug fix] pg_ctl always uses the same event source
Next
From: Viswanatham kirankumar
Date:
Subject: [TODO] Process pg_hba.conf keywords as case-insensitive