Thread: BUG #15158: JDBC driver has faulty comparison in method:haveMinimumServerVersion(String ver)
BUG #15158: JDBC driver has faulty comparison in method:haveMinimumServerVersion(String ver)
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 15158 Logged by: Brian K Email address: harvestmoon299@gmail.com PostgreSQL version: 10.3 Operating system: Windows Description: in org.postgresql.jdbc2.AbstractJdbc2Connection on line 960, there is a javadoc comment that identifies the problem this way: "Is the server we are connected to running at least this version? This comparison method will fail whenever a major or minor version goes to two digits (10.3.0) or (7.10.1). " the method GetTransactionIsolation() calls this method in line 757 with the following code: if (haveMinimumServerVersion("7.3")) This determines whether to run the query: "SHOW TRANSACTION ISOLATION LEVEL" or the update: "SHOW TRANSACTION ISOLATION LEVEL". The query returns appropriately, while the update throws the sql error: "This recordset is closed". As expected, testing whether version 10.3 has a minimum server version of 7.3 yields "false". It looks to me that the calling code is expecting "true" for it to work with postgres 10.3. I am encountering this error when I try to use postgres 10.3 as the datastore for a project created from the Apache Isis "SimpleApp" archetype. Do you know why this issue is identified in the code but not dealt with? Thank you! Brian
Re: BUG #15158: JDBC driver has faulty comparison in method:haveMinimumServerVersion(String ver)
From
Dave Cramer
Date:
Brian,
That code is long gone from the driver. That class doesn't even exist any more. I would suggest you upgrade your driver.
Thanks
Dave Cramer
On 16 April 2018 at 16:35, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 15158
Logged by: Brian K
Email address: harvestmoon299@gmail.com
PostgreSQL version: 10.3
Operating system: Windows
Description:
in org.postgresql.jdbc2.AbstractJdbc2Connection on line 960, there is a
javadoc comment that identifies the problem this way:
"Is the server we are connected to running at least this version? This
comparison method will fail whenever a major or minor version goes to two
digits (10.3.0) or (7.10.1). "
the method GetTransactionIsolation() calls this method in line 757 with the
following code:
if (haveMinimumServerVersion("7.3"))
This determines whether to run the query: "SHOW TRANSACTION ISOLATION LEVEL"
or the update: "SHOW TRANSACTION ISOLATION LEVEL". The query returns
appropriately, while the update throws the sql error: "This recordset is
closed".
As expected, testing whether version 10.3 has a minimum server version of
7.3 yields "false". It looks to me that the calling code is expecting
"true" for it to work with postgres 10.3.
I am encountering this error when I try to use postgres 10.3 as the
datastore for a project created from the Apache Isis "SimpleApp"
archetype.
Do you know why this issue is identified in the code but not dealt with?
Thank you!
Brian