BOOLEAN data type? - Mailing list pgsql-sql

From Josh Berkus
Subject BOOLEAN data type?
Date
Msg-id web-37672@davinci.ethosmedia.com
Whole thread Raw
Responses Re: BOOLEAN data type?
Re: BOOLEAN data type?
List pgsql-sql
Folks:
I had assumed that the BOOL column type was a tru boolean.  That is, I
wrote some functions on the understand that, given table def:

CREATE TABLE order_details (order_detail_id SERIAL NOT NULL PRIMARY KEY,detail_id INT4 NOT NULL,order_usq INT4 NOT
NULL,detail_requiredBOOL DEFAULT FALSE );
 

That the following query:

SELECT detail_id FROM order_detials
WHERE order_usq = 7703 AND detail_required;
... should be equivalent to:

SELECT detail_id FROM order_detials
WHERE order_usq = 7703 AND detail_required = TRUE;

However, in testing (7.1 RC2), the query turned out to mean this:

SELECT detail_id FROM order_detials
WHERE order_usq = 7703 AND detail_required IS NOT NULL;

... throwing off a lot of my results until I figured it out.

Can someone explain this to me?  I thought the whole point of a BOOL
data type was that it could be treated as a Boolean value, and used for
testing and comparison without and "= TRUE" or "= FALSE".  What's going
on here?

-Josh



______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco
 


pgsql-sql by date:

Previous
From: Roberto Mello
Date:
Subject: Re: Debian Package problems
Next
From: Peter Eisentraut
Date:
Subject: Re: BOOLEAN data type?