Re: Casting Integer to Boolean in assignment

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Geoff Winkless <pgsqladmin(at)geoff(dot)dj>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Alexandre GRAIL <postgresql(dot)general(at)augure(dot)net>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Casting Integer to Boolean in assignment
Date: 2019-01-24 16:00:27
Message-ID: 984fa130-e8a1-6cb0-b7f8-f57e853f8dfd@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 1/24/19 7:48 AM, Geoff Winkless wrote:
> On Thu, 24 Jan 2019 at 15:40, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> wrote:
>> delete from delete_test where
>>
>> and then forget the 'field =' part. Though my more common mistake along
>> that line is:
>>
>> delete from delete_test;
>>
>> At any rate, if it can be done it will be done.
>
> If you follow that logic, then having a single boolean test at all
> should be invalid.
>
> CREATE TABLE mytest (myval char (1));
> INSERT INTO mytest VALUES ('a'),('b'),('c'),('s'),('t');
> DELETE FROM mytest WHERE 't';
> SELECT * FROM mytest;
> myval
> -------
> (0 rows)

People are going to make mistakes that is a given. Eliminating a boolean
test is not going to change that. Where this particular sub-thread
started was with this from a previous post of yours:

"My own opinion is that non-0 should implicitly cast as true and 0
should cast as false. ..."

That opens an infinite number of values that could be seen as True. That
in turn leads to greater chance of fat-thumbing yourself into an oops.
Like you say it is a matter of opinion. The projects opinion is here:

https://www.postgresql.org/docs/11/datatype-boolean.html

and it works for me.

>
> Geoff
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Geoff Winkless 2019-01-24 16:19:51 Re: Casting Integer to Boolean in assignment
Previous Message bhargav kamineni 2019-01-24 15:52:39 Re: log_min_duration_statement