Re: Bug in 7.1.3 and 7.2? - Mailing list pgsql-bugs

From Grant Johnson
Subject Re: Bug in 7.1.3 and 7.2?
Date
Msg-id 3BEC0E33.4060401@amadensor.com
Whole thread Raw
In response to Bug in 7.1.3 and 7.2?  (Hans-Jürgen Schönig <hs@cybertec.at>)
List pgsql-bugs
Ooh, ooh, pick me.  I know what happened!!!!!!!

The actual table for a was selected.  The alias for be was selected (d).
 The where clause involved a and b, not a and d.  Notice that it added
the missing from clauses?  Well, since the where clause did not apply
(it applied only to a joining to b, but you selected a and d) it simply
joined every row in a to every row in d, just like it should have.  You
can use this to create an alias to a table and then join it to itself.
 If this behavoir was not like this, it would not allow this added
functionality.

Make sure that your tables selected from and your where clause match.

> test=# select a.*, d.* from a as c, b as d where a.id=b.id;
> NOTICE:  Adding missing FROM-clause entry for table "a"
> NOTICE:  Adding missing FROM-clause entry for table "b"
>  id | id
> ----+----
>   3 |  3
>   3 |  3
>   3 |  3
>   3 |  4
>   3 |  4
>   3 |  4
> (6 rows)
>
> Althoug c and d are aliases for a and b, the two tables are added to the
> list in the from clause. Is this the desired behaviour or is it a bug?

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Perl script failure => Postgres 7.1.2 database corruption
Next
From: Tom Lane
Date:
Subject: Re: Bug #512: outer join bug