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

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

From
Zeugswetter Andreas SARZ
Date:
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
>
>

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

From
"Vadim B. Mikheev"
Date:
Zeugswetter Andreas SARZ wrote:
>
> Guess what !
>
> It (Informix 9.12 and DB/2 4.1) says syntax error (at the first comma).

...like SyBase 11...

> (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)

I prefer "logical point of view" and vote for Oracle-like behaviour.
BTW, it's easy to implement...

Vadim

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

From
"Thomas G. Lockhart"
Date:
> I prefer "logical point of view" and vote for Oracle-like behaviour.
> BTW, it's easy to implement...

Sorry I haven't had time to look up the standard. However, in the absence of
that I vote for the "logical point of view" also. This is better called the
"intuitive point of view"?

                                                  - Tom