Re: No error when FROM is missing in subquery

From: "Thomas H(dot)" <me(at)alternize(dot)com>
To: "Jaime Casanova" <systemguards(at)gmail(dot)com>
Cc: <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: No error when FROM is missing in subquery
Date: 2006-12-19 05:01:46
Message-ID: 081701c7232a$c9267d90$6601a8c0@iwing
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

>> >> SELECT * FROM movies.names WHERE mov_id IN (SELECT DISTINCT mov_id
>> >> WHERE
>> >> mov_name like '%, %' LIMIT 2)
>>
>> IF the subquery would only have returned 2 ids, then there would be at
>> most
>> like +/-10 records affected. each mov_id can hold one or more (usuals up
>> to
>> 5) names. but here, the subquery seemed to return ~3700 distinct mov_ids,
>> thus around 37000 names where damaged by the following programmatical
>> updates instead of only a hands full...
>>
>
> have you tested the query in psql?
> what results do you get?

the data is damaged so the result isn't the same... regenearting it now from
a backup.

from first tests i would say it returned records with names that match the
WHERE in the subselect. i guess what happened is: it took each record in
movies.names, then run the subquery for that record which resulted in "WHERE
mov_id IN (mov_id)" = true for records with a ', ' in the name and "WHERE
mov_id IN ()" = false for all others.

- thomas

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2006-12-19 05:13:01 Re: BUG #2837: i received ERROR: failed to build any 7-way joins
Previous Message Vladimir 2006-12-19 04:56:56 BUG #2839: after record with NULL field, query result is wrong