JDBC 9.2: multiple execution of prepared statement-query delivers different double precision results via getString()

From: "Tilman Sandig" <info(at)sandig(dot)com>
To: <pgsql-jdbc(at)postgresql(dot)org>
Subject: JDBC 9.2: multiple execution of prepared statement-query delivers different double precision results via getString()
Date: 2013-09-13 15:44:44
Message-ID: 004201ceb098$2d6d79f0$88486dd0$@com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello,

there might be a problem in the latest JDBC-driver (9.2 build 1003) when querying double precision-result columns multiple times
and retrieving the result with ResultSet.getString():

The first five queries work as expected, further calls append ".0" to the result-string.

Here is a sample code:

PreparedStatement stmt = myConnection.prepareStatement("select cast(1 as double precision)");
for (int x=0;x<12;x++){
ResultSet rs = stmt.executeQuery();
while (rs.next()){
System.out.println("Value: " + rs.getString(1));
}
}

-------
Output:
-------

Value: 1
Value: 1
Value: 1
Value: 1
Value: 1
Value: 1.0
Value: 1.0
Value: 1.0
Value: 1.0
Value: 1.0
Value: 1.0
Value: 1.0

The problem does not occur when using JDBC-driver version 9.1;
I use PostgreSQL Version 9.3.0 (Win64/Vista)

Best regards,
Tilman Sandig

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Mikko Tiihonen 2013-09-13 16:12:16 Re: JDBC 9.2: multiple execution of prepared statement-query delivers different double precision results via getString()
Previous Message Sylvain Cuaz 2013-09-13 15:27:04 Re: DatabaseMetaData getImportedKeys() order