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

From: Zeugswetter Andreas SARZ <Andreas(dot)Zeugswetter(at)telecom(dot)at>
To: "'Vadim B(dot) Mikheev'" <vadim(at)sable(dot)krasnoyarsk(dot)su>
Cc: "'pgsql-hackers(at)hub(dot)org'" <pgsql-hackers(at)hub(dot)org>
Subject: AW: [HACKERS] Re: Subselects open issue Nr. 5
Date: 1998-02-16 13:19:14
Message-ID: 219F68D65015D011A8E000006F8590C6010A51D9@sdexcsrv1.sd.spardat.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
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
>
>

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Vadim B. Mikheev 1998-02-16 13:53:17 Re: AW: [HACKERS] Re: Subselects open issue Nr. 5
Previous Message Hannu Krosing 1998-02-16 12:07:16 Re: Adding field length to protocol.