Re: trecherous subselect needs warning?

Поиск
Список
Период
Сортировка
От george young
Тема Re: trecherous subselect needs warning?
Дата
Msg-id 20060207141751.38effa97.gry@ll.mit.edu
обсуждение исходный текст
Ответ на Re: trecherous subselect needs warning?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: trecherous subselect needs warning?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
On Tue, 07 Feb 2006 12:45:53 -0500
Tom Lane <tgl@sss.pgh.pa.us> threw this fish to the penguins:

> george young <gry@ll.mit.edu> writes:
> > This query returns zero rows:
> 
> > newschm3=# select run_id from s_bake where opset_id not in (select opset_id from opset_steps);
> >  run_id
> > --------
> > (0 rows)
> 
> > But, by my mistake, table opset_steps has no column "opset_id"!
> > Surely it should return an error, or at least a warning, not just an
> > empty rowset.
> 
> Access to upper-level variables from subqueries is (a) useful and (b)

My orginal posting suggested a warning for the *useless*
"from opset_steps" clause, since it's presence is misleading.  

But I don't suppose the SQL spec allows warnings that are not
explicitly in the spec, alas.

Of course upper-level variables must in general be accessible
from subqueries.

> required by the SQL spec, so we are not going to start throwing warnings
> about it.

I was just trying to find a way to prevent other innocent users
from wasting many hours of torment tracking down this subtle
twist of SQL...

How about a *documentation* suggestion that sub-queries can be
very dangerous if one doesn't qualify all column references?
Maybe with an example like the one that bit me?

-- George 
-- 
"Are the gods not just?"  "Oh no, child.
What would become of us if they were?" (CSL)


В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: trecherous subselect needs warning?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: trecherous subselect needs warning?