Re: boolean bugs
От | Robert B. Easter |
---|---|
Тема | Re: boolean bugs |
Дата | |
Msg-id | 01010618300316.09559@comptechnews обсуждение исходный текст |
Ответ на | Re: boolean bugs (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-bugs |
On Saturday 06 January 2001 17:56, Tom Lane wrote: > "Robert B. Easter" <reaster@comptechnews.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> ::= TRUE | 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@comptechnews.com --------- -- CompTechNews Message Board http://www.comptechnews.com/ -- -- CompTechServ Tech Services http://www.comptechserv.com/ -- ---------- http://www.comptechnews.com/~reaster/ ------------
В списке pgsql-bugs по дате отправления: