AW: [HACKERS] Re: Subselects open issue Nr. 5 - Mailing list pgsql-hackers

From Zeugswetter Andreas SARZ
Subject AW: [HACKERS] Re: Subselects open issue Nr. 5
Date
Msg-id 219F68D65015D011A8E000006F8590C6010A51D9@sdexcsrv1.sd.spardat.at
Whole thread Raw
List 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
>
>

pgsql-hackers by date:

Previous
From: Hannu Krosing
Date:
Subject: Re: Adding field length to protocol.
Next
From: sferac@bo.nettuno.it
Date:
Subject: Re: [BUGS] agregate function sum error