Re: change the order of FROM selection to make query work - Mailing list pgsql-general

From Tom Lane
Subject Re: change the order of FROM selection to make query work
Date
Msg-id 25383.1159280369@sss.pgh.pa.us
Whole thread Raw
In response to change the order of FROM selection to make query work  ("Thomas Peter" <usenet@braindumped.com>)
Responses Re: change the order of FROM selection to make query work
Re: change the order of FROM selection to make query work
List pgsql-general
"Thomas Peter" <thomas@braindumped.com> writes:
> the full code that does produce the error (and this error can be resolved
> as in OP described) is:

Never oversimplify a bug report.

> FROM ticket as t, permission as perm, enum as p
> LEFT OUTER JOIN ticket_custom c ON (t.id = c.ticket AND c.name =
> 'fachabteilung')

The above is, plain and simple, wrong.  According to the SQL spec,
JOIN binds more tightly than comma in a FROM-list, so what you had was

FROM ..., (enum as p
  LEFT OUTER JOIN ticket_custom c ON (t.id = c.ticket AND c.name =
  'fachabteilung'))

which of course fails because only p and c are visible in the JOIN's
ON condition.  You fixed it by moving "t" to become part of the JOIN
structure.

I was aware that MySQL parses this sort of structure wrongly, but it's
disappointing to hear that sqlite does too :-(

            regards, tom lane

pgsql-general by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: Dead Lock problem with 8.1.3
Next
From: Alban Hertroys
Date:
Subject: Re: Dead Lock problem with 8.1.3