Update on new driver progress

From: Kevin Wooten <kdubb(at)me(dot)com>
To: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Update on new driver progress
Date: 2013-04-08 10:54:37
Message-ID: 33343C95-844C-4F4F-A9FA-56E50FC7A3EE@me.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Thought I'd give an update for those who are interested. Work has progressed nicely and I have been migrating the original project's unit tests to attempt to reach some level of compatibility between the implementations. Currently about 80% of the unit test have been migrated and only 6 the test are not passing. The failing or erring tests are mostly due to, as yet uncommitted to differences, in the way the drivers work; once permanent decisions are made the driver will be fixed to conform or the test will be updated. Up until now the focus has been on features and conformance but I will be departing from that for a bit to do some performance analysis and enhancement before adding any new features.

Here is an outline of the major things…

Location
* https://github.com/kdubb/pgjdbc-ng

Requirements
* 9.0 Server (may need to be 9.2 right now as 9.0 and 9.1 have not been tested much at all)
* Java 7 / JDBC 4.1

Dependencies
* Reduced external dependencies to Netty and Google Guava.
* Maven build (mvn package) produces a jar with dependencies

Notable Supported Features
* UDT's through standard SQLData, SQLInput/SQLOutput and also Struct. This includes arrays and composites of UDT's ad infinitum
* Custom type mappings - Connection.setTypeMap, ResultSet.getObject(idx, typeMap)
* Pluggable serialization support (using java service mechanism and proprietary interfaces)
* Binary format preference with Text mode fallback
* All Database and Parameter meta data
* Transactions / Savepoints
* Blobs

Notable Unsupported Features
* Multiple Statements in a PreparedStatement (e.g ."SELECT ?; SELECT 2; SELECT ?"). This so far this has been conscious decision not to support this because it seems to give the illusion of preparation when the server in fact doesn't support preparing multiple statements. Multiple statements are allowed in regular Statements.
* SSL; will be implemented very soon
* Callable statements; will be implemented in the near future
* Cursors; will be implemented sometime in the future
* Updatable ResultSets; will be implemented sometime in the future

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Florent Guillaume 2013-04-08 12:28:53 Re: Update on new driver progress
Previous Message Kevin Grittner 2013-04-07 14:11:22 Re: single quotation confusion