"Robert B. Easter" <[EMAIL PROTECTED]> writes:
> The IS operator is supposed to return only TRUE or FALSE, never NULL. See
> ISO/IEC 9075-2:1999 6.30 <boolean value expression>
Yeah, we do not implement IS TRUE, IS FALSE, etc per spec. IS [NOT] NULL
is the only one of the group that works per-spec; the others all
erroneously produce NULL for null input, and IS UNKNOWN isn't there at all.
I've had that on my to-do list for awhile, but it's pretty low priority.
> 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.
I'd be interested to know how you derive that expression from the spec.
By my reading of the grammar, IS is supposed to be followed by one or
two literal keywords, not an expression.
regards, tom lane