From: | "Robert B(dot) Easter" <reaster(at)comptechnews(dot)com> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | boolean bugs |
Date: | 2001-01-06 22:31:25 |
Message-ID: | 01010617312515.09559@comptechnews |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
CREATE TABLE nulltest (nullfield);
INSERT INTO nulltest VALUES (null);
pgcvs=# select (nullfield = 'willbenull') is null from nulltest;
?column?
----------
t
(1 row)
pgcvs=# select (nullfield = 'willbenull') is true from nulltest;
?column?
----------
(1 row)
pgcvs=# select (nullfield = 'willbenull') is false from nulltest;
?column?
----------
(1 row)
The IS operator is supposed to return only TRUE or FALSE, never NULL. See
ISO/IEC 9075-2:1999 6.30 <boolean value expression>
pgcvs=# select (nullfield = 'willbenull') is (false is false) from nulltest;
ERROR: parser: parse error at or near "("
The IS operator has a problem if right side is in parenthesis.
pgcvs=# select (nullfield = 'willbenull') and (false is false) from nulltest;
?column?
----------
(1 row)
AND and OR are ok with the paren, why not IS?
The UNKNOWN literal is not understood. It should be synonymous with NULL:
pgcvs=# select TRUE IS UNKNOWN;
ERROR: parser: parse error at or near "unknown"
pgcvs=#
This should be the same as:
pgcvs=# select TRUE IS NULL;
?column?
----------
f
(1 row)
See ISO/IEC 9075-2:1999 5.3 <literal>
pgcvs=# select true is null;
?column?
----------
f
(1 row)
pgcvs=# select null is true;
?column?
----------
(1 row)
This is strange. Just reversing the order changes the result.
I'm using the cvs version. I think 7.0.3 has all this (wrong?) behavior too.
--
-------- Robert B. Easter reaster(at)comptechnews(dot)com ---------
-- CompTechNews Message Board http://www.comptechnews.com/ --
-- CompTechServ Tech Services http://www.comptechserv.com/ --
---------- http://www.comptechnews.com/~reaster/ ------------
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2001-01-06 22:56:18 | Re: boolean bugs |
Previous Message | Tom Lane | 2001-01-06 21:38:21 | Re: Concat error in PL/pgsql |