Skip site navigation (1) Skip section navigation (2)

Re: boolean bugs

From: "Robert B(dot) Easter" <reaster(at)comptechnews(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: boolean bugs
Date: 2001-01-06 23:30:03
Message-ID: 01010618300316.09559@comptechnews (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
On Saturday 06 January 2001 17:56, Tom Lane wrote:
> "Robert B. Easter" <reaster(at)comptechnews(dot)com> 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

         <boolean test> ::=
              <boolean primary> [ IS [ NOT ] <truth value> ]
         <truth value> ::=
              | FALSE
              | UNKNOWN

You're right about the spec.  I guess there is some good reason not to allow 
IS to take expressions on the right like AND and OR, even though I feel like 
IS is just like AND and OR as an op that takes two boolean args and returns a 
boolean (true/false only).

-------- Robert B. Easter  reaster(at)comptechnews(dot)com ---------
-- CompTechNews Message Board --
-- CompTechServ Tech Services --
---------- ------------

In response to

pgsql-bugs by date

Next:From: Andrew SnowDate: 2001-01-07 00:57:55
Subject: RE: Concat error in PL/pgsql
Previous:From: Tom LaneDate: 2001-01-06 22:56:18
Subject: Re: boolean bugs

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group