AW: [HACKERS] Re: Subselects open issue Nr. 5

Zeugswetter Andreas IZ5 <andreas.zeugswetter@telecom.at>

From: Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
To: "'Vadim B. Mikheev'" <vadim@sable.krasnoyarsk.su>
Cc: "'pgsql-hackers@hub.org'" <pgsql-hackers@hub.org>
Date: 1998-02-16T13:19:14Z
Lists: pgsql-hackers
Guess what !

It (Informix 9.12 and DB/2 4.1) says syntax error (at the first comma).
(Even looked up the Manuals)
Haha Hihi Hoho. I guess you beat them here Vadim+Bruce+Tom. * hear the cork
popping ? *

Andreas

PS.: from the logical point of view, I think all rows from x should qualify
for a where (a,b) not in (empty set)
because for me NULL is not an empty set, at least it is treated as a value
in a unique index.
On the other hand you could argue: the whole set is NULL so a not in ()
should filter where a not null. 
I guess no standard has thought about that so far. (Tom ?)
Summary: I guess it is for us to decide. So I would do exactly as you said
and return all except (NULL,NULL)

	Vadim B. Mikheev wrote:
> Meskes, Michael wrote:
> > 
> > Yes, and Oracle7 also.
> > 
> > I think with NULL values Andreas is right. The whole statement should be
> > NULLed. That to me is the intuitive behaviour.
> 
> Not sure.
> IMHO, any element, either with defined value or with undefined value
> (NULL),
> can't be contained by empty set.
> 
> Hm, btw, just curious, what Informix returns for
> 
> select * from taba where (a,b) not in (<a select returning no row>);
> 
> having in taba tuples with (a,b) in
> 
> (NULL, a_value)
> (NULL, NULL)
> 
> ? 
> Does it return all tuples except for (NULL,NULL) ?
> 
> Vadim
> 
>