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>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "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 15:28:37
Message-ID: 1bc32f58-a479-ee28-353f-b11810bab95e@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 1/24/19 7:21 AM, Geoff Winkless wrote:
> On Thu, 24 Jan 2019 at 15:11, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> People don't generally post to the lists after a type-mismatch error
>> catches a typo for them. So it's pretty hard to tell about "how
>> many" developers would find one behavior more useful than the other.
>> It is safe to say, though, that the same developer complaining today
>> might have their bacon saved tomorrow.
>
> I've missed off WHERE clauses on a live database (oops) in my time,
> and I'm happy to see work being done to safeguard against that
> (although I tend to be of the opinion that it's not something you ever
> do twice!) but I can confidently state that I've never once been
> caught out by being surprised that a number was treated as a boolean.
>
> How could you even write a query like the one Thomas posted? It
> doesn't even look remotely sensible.

create table delete_test(id integer);

insert into delete_test values (2), (3), (4);

delete from delete_test where 1::boolean;

DELETE 3

select * from delete_test ;

id

----

(0 rows)

>
> But I have been caught out by boolean vs int, enough that I bothered
> to search out that ALTER statement. And I'm a lazy person at heart, so
> if something irritated me enough to bother doing that, you can be sure
> it was _really_ irritating 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 Adrian Klaver 2019-01-24 15:30:19 Re: How duplicate values inserted into the primary key column of table and how to fix it
Previous Message Adrian Klaver 2019-01-24 15:23:34 Re: log_min_duration_statement