Re: Bug with view definition? - Mailing list pgsql-general

From Tom Lane
Subject Re: Bug with view definition?
Date
Msg-id 3634.1118246400@sss.pgh.pa.us
Whole thread Raw
In response to Bug with view definition?  (Sebastian Böck <sebastianboeck@freenet.de>)
Responses Re: Bug with view definition?  (Sebastian Böck <sebastianboeck@freenet.de>)
List pgsql-general
=?ISO-8859-1?Q?Sebastian_B=F6ck?= <sebastianboeck@freenet.de> writes:
> why is the last definition of a view not working, although the
> documentation says all three are equal?

The documentation says no such thing...

> CREATE OR REPLACE VIEW not_working AS
>     SELECT one.*
>     FROM one.one, two.two
>     JOIN join1 ON join1.id = one.id;

JOIN binds tighter than comma in FROM-lists, so that means

    FROM one.one CROSS JOIN (two.two JOIN join1 ON join1.id = one.id);

which of course is illegal because the JOIN/ON condition refers to
something that's not within the current JOIN.  Your preceding example
parenthesizes as

    FROM (one.one CROSS JOIN two.two) JOIN join1 ON join1.id = one.id;

which is OK.

            regards, tom lane

pgsql-general by date:

Previous
From: Sebastian Böck
Date:
Subject: Re: Bug with view definition?
Next
From: Sebastian Böck
Date:
Subject: Re: Bug with view definition?