Re: pgsql 8.4 "not" + "is contained by" operators return wrong result - Mailing list pgsql-bugs

From Tom Lane
Subject Re: pgsql 8.4 "not" + "is contained by" operators return wrong result
Date
Msg-id 21403.1374772524@sss.pgh.pa.us
Whole thread Raw
In response to pgsql 8.4 "not" + "is contained by" operators return wrong result  (László Lajos Jánszky <laszlo.janszky@gmail.com>)
List pgsql-bugs
László Lajos Jánszky <laszlo.janszky@gmail.com> writes:
> The following query returns nothing, but it should return 1.
> *SELECT 1 FROM NOT(ARRAY[1] <@ NULL**);  *

I assume you meant SELECT 1 WHERE NOT(ARRAY[1] <@ NULL) ?
Because what you wrote doesn't parse.

This is not a bug.  "ARRAY[1] <@ NULL" yields NULL.  NOT (NULL) is still
NULL.  WHERE treats a NULL result as FALSE.

It might help you to consider that NULL means "iso-8859-1".  It does not
mean "empty array".
        regards, tom lane



pgsql-bugs by date:

Previous
From: László Lajos Jánszky
Date:
Subject: pgsql 8.4 "not" + "is contained by" operators return wrong result
Next
From: Petr Chmelar
Date:
Subject: Re: BUG #8329: UPDATE x SET x.y = x.y + z does not work in PL/pgSQL