Re: JDBC 4 Compliance - Mailing list pgsql-jdbc

From Kevin Wooten
Subject Re: JDBC 4 Compliance
Date
Msg-id 5A17D726-7B4F-4175-BD7D-3A39E5D58E63@me.com
Whole thread Raw
In response to Re: JDBC 4 Compliance  (Tom Dunstan <pgsql@tomd.cc>)
List pgsql-jdbc

On Jun 27, 2013, at 8:43 PM, Tom Dunstan <pgsql@tomd.cc> wrote:

On 27 June 2013 23:50, Mike Fowler <mike@mlfowler.com> wrote:
The recurring plan that seems to be developing is to maintain the current driver focusing on it's stability and compatibility. Going forward the energy and focus would be towards a new driver which is liberated from the concerns of backwards compatibility.

Uh, what? Which backwards compatibility were you intending to throw away? Just older JRE versions?
 
Long term we'll have to see whether we want to maintain two codebases. For now let's experiment and see how things progress. There are pros and cons to both codebases, neither are perfect. With that in mind this is open source and people are free to do their own thing but there is strength in numbers. We obviously all care about PostgreSQL and it's JDBC driver so let us all try and make the best JDBC driver(s) possible!

As a long-time user of the driver, I'd like to de-lurk to point out that the nervousness about stability which has surfaced in this thread (and which I share) can often point to opportunities to improve automated test coverage.

Dave, how complete would you say that the existing test suites are? If a new implementation can pass the tests, how much does that say about the driver's completeness or backwards compatibility?

And for those who have forked the driver or started from scratch, do you have comments on the existing test suite? Or have you written your own?


I effectively copied the test suite into my project.  All of the tests in the JDBC2/3/4 directories of the codebase were migrated. Then there were minor changes to some tests, some tests were discarded because they were not needed, and I've added some tests for specifics of my driver.  It was a godsend when developing the driver.

Currently any facility that deviates from the mainstream driver, and it was not a conscience decision to do so, I left in the failing state.  They will be resolved by either a) making the driver conformant or b) noting it is a difference and changing the tests. Roughly 96% of the tests succeed.

If the AIO etc driver is to be developed in parallel with the existing one, it might be an interesting idea to split the tests out into a separate project so that the tests can be run against both drivers. Then improvements in the test suite are shared as well!

This is a great idea.  Some of the tests would need to stay in each project as they test implementation specific items like extensions.


Cheers

Tom

pgsql-jdbc by date:

Previous
From: Tom Dunstan
Date:
Subject: Re: JDBC 4 Compliance
Next
From: Dave Cramer
Date:
Subject: Re: JDBC 4 Compliance