Bad value for type int

Поиск
Список
Период
Сортировка
От Gabriel E. Sánchez Martínez
Тема Bad value for type int
Дата
Msg-id 55C80783.70703@gmail.com
обсуждение исходный текст
Ответы Re: Bad value for type int
Список pgsql-jdbc
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



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Prasanth Reddy
Дата:
Сообщение: Re: Fwd: Re: Re: Postgresql 9.4.4 - ERROR: invalid byte sequence for encoding "UTF8": 0x92
Следующее
От: "Gabriel E. Sánchez Martínez"
Дата:
Сообщение: Re: Bad value for type int