Re: BUG #1169: Select table.oid from view seems to loop

From: Richard Huxton <dev(at)archonet(dot)com>
To: Robert Osowiecki <robson(at)cavern(dot)pl>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #1169: Select table.oid from view seems to loop
Date: 2004-06-17 13:46:58
Message-ID: 40D1A0D2.5060000@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PostgreSQL Bugs List wrote:
> The following bug has been logged online:
>
> Bug reference: 1169
> Logged by: Robert Osowiecki
>
> Email address: robson(at)cavern(dot)pl
> PostgreSQL version: 7.4
> Operating system: Linux
> Description: Select table.oid from view seems to loop

> Here's what i found:
>
> select count(*) from view1;
> count
> -------
> 12874
> (1 row)
>
> select table1.oid from view1;
> NOTICE: adding missing FROM-clause entry for table "table1"
> (psql crashes)

This statement is probably not what you meant to say. There is no
"table1.oid" in view1, so PG is adding a reference to table1, turning
your query into:

SELECT table1.oid FROM view1, table1;

This gives you the product of both relations, e.g. if you have 2000 rows
in view1 and 3000 in table1 that's 6,000,000 rows in total. You probably
run out of memory somewhere which looks like a crash.

In 7.4 there is a postgresql.conf setting to control this behaviour
(add_missing_from). I'd turn it off, as I've always found it to cause
problems rather than solve them.

HTH
--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2004-06-17 14:40:58 Re: BUG #1169: Select table.oid from view seems to loop
Previous Message PostgreSQL Bugs List 2004-06-17 12:09:45 BUG #1169: Select table.oid from view seems to loop