From: | "Gabriel E(dot) Sánchez Martínez" <gabrielesanchez(at)gmail(dot)com> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Bad value for type int |
Date: | 2015-08-10 02:38:15 |
Message-ID: | 55C80E97.5030407@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
False alarm! I made a mistake in a different part of the code, and once
I fixed it, I am not getting the error anymore. Apologies for not
finding this before e-mailing the list, and thanks to everyone for the
good work!
On 08/09/2015 10:08 PM, "Gabriel E. Sánchez Martínez" wrote:
> Hello everyone,
>
> Is there a known bug that makes the postgres JDBC driver treat long
> variables as int variables, in the context of prepared statements?
>
> I am getting the following error:
>
> org.postgresql.util.PSQLException: Bad value for type int : 2759496100
>
> while executing a prepared statement with the following Java code:
>
> StringBuilder sb = new StringBuilder();
> sb.append("SELECT * FROM table ");
> sb.append("WHERE timestamp BETWEEN ? AND ? ");
> sb.append("AND id IN ( ");
> for (int i = 0; i < ids.size() - 1; i++) {
> sb.append("?, ");
> }
> sb.append("? );");
> final String query = sb.toString();
>
> try (Connection c = db.getConnection()) {
> PreparedStatement p = c.prepareStatement(query);
> p.setDate(1, new java.sql.Date(startDate.getTime()));
> p.setDate(2, new java.sql.Date(endDate.getTime()));
>
> for (int i = 0; i < ids.size(); i++) {
> int arg = 3 + i;
> long id = ids.get(i);
> p.setLong(arg, id);
> }
>
> ResultSet r = p.executeQuery();
>
> This code is being executed by tomcat7 on Ubuntu 14.04, and I am using
> the current version of the driver, 9.4-1201. The query executes well
> on pgAdmin in all cases, and in tomcat7 only when all the long ids are
> in the int range.
>
> Help will be greatly appreciated!
>
> Regards,
> Gabriel
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2015-08-10 12:51:18 | Re: Re: Fwd: Re: Re: Postgresql 9.4.4 - ERROR: invalid byte sequence for encoding "UTF8": 0x92 |
Previous Message | Gabriel E. Sánchez Martínez | 2015-08-10 02:08:03 | Bad value for type int |