Re: [JDBC] JDBC String to Bool spec - Mailing list pgsql-jdbc

From Kevin Wooten
Subject Re: [JDBC] JDBC String to Bool spec
Date
Msg-id 51543C13-CF93-419B-84C6-6EF5E1CD9AF3@me.com
Whole thread Raw
In response to Re: [JDBC] JDBC String to Bool spec  (rob stone <floriparob@gmail.com>)
Responses Re: [JDBC] JDBC String to Bool spec
Re: JDBC String to Bool spec
List pgsql-jdbc
As the OP I’d like to make a clarification….

I didn’t want to use a string of “1.0” and convert it to a Boolean.  The driver, in its test suite, tests for this specific case (and a few others). These seemed really out of the norm since the database doesn’t support this.  Thus my investigation began.

On Jan 16, 2017, at 2:16 PM, rob stone <floriparob@gmail.com> wrote:

Hello,

Since we now know the JDBC spec doesn’t support this (thanks to all
of Mark Rotteveel’s sleuthing) & we know Postgres doesn’t support
this.  It seems the “feature" should be removed or placed behind an
option.  Postgres results in an error here and considering this is
a driver tied to that database I look to that to clarify ambiguity.
These examples should all result in an error.




Yes, I agree, a "feature" that allows bad code should be considered
a "bug".



The OP in the original post used a string of "1.0" and wanted to
convert it into a boolean. If you use setBoolean in a prepared
statement it expects the argument to be a "numeric" type, so it is not
surprising that the string was converted to a double. You'd expect
something along the lines of ps.setBoolean(5,"xyz") to throw an error.

I don't know how many string values are to be considered "true" in the
application. Maybe use some regular expressions to suss out "true"
values?

My two cents.

Rob


-- 
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

pgsql-jdbc by date:

Previous
From: rob stone
Date:
Subject: Re: JDBC String to Bool spec
Next
From: Dave Cramer
Date:
Subject: Re: JDBC String to Bool spec