Re: [JDBC] JDBC String to Bool spec
От | Kevin Wooten |
---|---|
Тема | Re: [JDBC] JDBC String to Bool spec |
Дата | |
Msg-id | 51543C13-CF93-419B-84C6-6EF5E1CD9AF3@me.com обсуждение исходный текст |
Ответ на | Re: [JDBC] JDBC String to Bool spec (rob stone <floriparob@gmail.com>) |
Ответы |
Re: [JDBC] JDBC String to Bool spec
Re: JDBC String to Bool spec |
Список | 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 по дате отправления: