| 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: | Whole Thread | Raw Message | 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
| 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 |