Re: BUG #12000: "CROSS JOIN" not equivalent to ","

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #12000: "CROSS JOIN" not equivalent to ","
Date: 2014-11-18 17:55:51
Message-ID: 13989.1416333351@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> Tom Lane-2 wrote
>> A simple "fix" would be to remove the claim about "," and just compare
>> CROSS JOIN to INNER JOIN ON TRUE. I'm not really convinced that's an
>> improvement ...

> How about adding the following to that sentence:

> "However, in the presence of three or more joined relations it is
> recommended to only use either explicit joins or commas since mixing them
> introduces non-obvious join order differences."

I don't think it's the place of the manual to be prescriptive about style;
at least, not here.

We could do something like "<CROSS JOIN example> is equivalent to <INNER JOIN ON
TRUE example>. <CROSS JOIN example> is also equivalent to <example with
comma>, but in cases with more than two tables this equivalence is not
exact, because JOIN binds more tightly than comma."

Or maybe put the "but" in a footnote.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David Johnston 2014-11-18 18:01:48 Re: BUG #12000: "CROSS JOIN" not equivalent to ","
Previous Message Alvaro Herrera 2014-11-18 17:52:43 Re: BUG #12000: "CROSS JOIN" not equivalent to ","