Re: join error? - Mailing list pgsql-general

From Michael Fuhr
Subject Re: join error?
Date
Msg-id 20050403012753.GA29513@winnie.fuhr.org
Whole thread Raw
In response to join error?  (Kemin Zhou <kzhou@san.rr.com>)
List pgsql-general
On Wed, Mar 30, 2005 at 02:46:37PM -0800, Kemin Zhou wrote:
> I just found out one strange behavior of the SQL engine.  This may be fixed.
>
> table 1
> create table table1 ( id integer, something text);
>
> create table table2 (id integer, otherthing text);
>
> select *
> from table1 t1, table2 t2
> where t1.id=table2.id;
>
> -- here I made a mistake in the where clause I should have used
> --  where t1.id=t2.id
>
> This query produces a lot of MORE rows than it should be, and it is
> doing cross join.

In 7.4 and later you'll get an error if you disable add_missing_from:

SET add_missing_from TO off;

SELECT *
FROM table1 t1, table2 t2
WHERE t1.id = table2.id;
ERROR:  missing FROM-clause entry for table "table2"

See the "Run-time Configuration" section of the "Server Run-time
Environment" chapter in the documentation for more info.

http://www.postgresql.org/docs/8.0/interactive/runtime-config.html#GUC-ADD-MISSING-FROM

There's been a proposal to disable add_missing_from by default in
a future version of PostgreSQL.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: PostgreSQL and .NET
Next
From: "Sean Davis"
Date:
Subject: Re: general purpose full text indexing