subselect on nonexistent column succeeds!!?!

From: James Robinson <jlrobins(at)socialserve(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: subselect on nonexistent column succeeds!!?!
Date: 2004-07-01 18:05:25
Message-ID: 3A1943AE-CB89-11D8-8888-000A9566A412@socialserve.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Given:

orig_sav=# \d realtycompany_contacts
Table "public.realtycompany_contacts"
Column | Type | Modifiers
------------------+--------+-----------
realtycompany_id | bigint | not null
contact_id | bigint | not null

and

orig_sav=# \d users
Table "public.users"
Column | Type | Modifiers
-------------------+-----------------------------+-----------
id | bigint | not null
name | text |
password | text | not null
version | integer | not null
contact | bigint |
comment | text |
organization | bigint |
pwd_storage_style | integer |
old_name | text |
deleted | boolean | not null
deleted_date | timestamp without time zone |

Why in the world does this statement parse and run:

orig_sav=# delete from realtycompany_contacts where contact_id in
(select contact_id from users);
DELETE 1634

Since users has *no* column contact_id ? One would expect the statement
to fail, and the transaction to get rolled back.

orig_sav=# select contact_id from users;
ERROR: column "contact_id" does not exist

This is on 7.4.2.

----
James Robinson
Socialserve.com

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Stephan Szabo 2004-07-01 19:35:54 Re: subselect on nonexistent column succeeds!!?!
Previous Message Ilir Gashi 2004-07-01 17:59:47 Possible bug?