Thread: Please let me know the detailed standard conformancy of of PostgreSQL JDBC

Please let me know the detailed standard conformancy of of PostgreSQL JDBC

From
"Takayuki Tsunakawa"
Date:
Dear Sirs

This is my first post to this mailing list. If I say something
impolite, please let me know. Please excuse me for my long e-mail.

I'm considering to port JDBC applications written for a certain big
database to PostgreSQL 8.3. The applications use various JDBC
features, so I'm concerned about the portability. I know just running
them is one way, but I'd like to check the conformancy of PostgreSQL
JDBC driver to the JDBC standard.
I saw the following page. According to this, PostgreSQL JDBC driver
implements almost all of the JDBC 2.x and 3.0 features.

http://jdbc.postgresql.org/todo.html

Is it true that PostgreSQL JDBC driver implements all features other
than those listed here?
Is this all the information I can get? Is there anything like feature
matrix somewhere? If there is, please let me know.
How about JDBC 4.0?

The following is a list of JDBC 3.0 and 4.0 features. Which of these
are supported (not by no-op or just throwing SQLException)? These
items are an excerpt from the JDBC standard documentation (section 3.1
Overview of new features.)

[JDBC 3.0]
1. Savepoint support
2. Reuse of prepared statements by connection pools
3. Connection pool configuration
4. Retrieval of parameter metadata
5. Retrieval of auto-generated keys
6. Ability to have multiple open ResultSet objects
7. Passing parameters to CallableStatement objects by name
8. Holdable cursor support
9. BOOLEAN data type
10. Making internal updates to the data in Blob and Clob objects
11. Retrieving and updating the object referenced by a Ref object
12. DATALINK/URL data type
13. DatabaseMetadata APIs: Added metadata for retrieving SQL type
hierarchies.
14. Relationship between the JDBC SPI (Service Provider Interface) and
the Connector architecture

[JDBC 4.0]
1. Automatic loading of java.sql.Driver
2. ROWID data type
3. National Character Set Conversion Support
4. Enhanced Support for BLOB and CLOB
5. SQL/XML and XML Support
6. Wrapper Pattern
7. SQLException Enhancements
8. Connection Management
9. New Scalar Funtions( CHAR_LENGTH, CHARACTER_LENGTH, CURRENT_DATE,
CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT, OCTET_LENGTH, POSITION.)

JDBC API changes
10. Array
Added the method free.

11. Connection
Added the methods createArrayOf,createBlob, createClob, createNClob,
createSQLXML,createStruct, isValid, getClientInfo, setClientInfo.

12. CallableStatement
Added the methods getRowId, setRowId, getNClob, getNString,
getCharacterStream, getNCharacterStream, setNString,
setNCharacterStream, setNClob, getSQLXML, setSQLXML. Overloaded the
setAsciiStream,setBinaryStream, setCharacterStream,setBlob and setClob
methods.

13. ■ DatabaseMetaData
Added the methods getRowIdLifetime,
autoCommitFailureClosesAllResultSets, getFunctions,
getFunctionParameters, getClientInfoProperties and
supportsStoredFunctionsUsingCallSyntax. Overloaded the method
getSchemas.

14. PreparedStatement
Added the methods setRowId, setNString, setNCharacterStream, setSQLXML
and setNClob. Overloaded the methods setAsciiStream,setBinaryStream,
setCharacterStream, setBlob and setClob.

15. ResultSet
Added the methods getHoldability, getRowId, updateRowId, getNClob,
isClosed, getNString, getNCharacterStream, updateNCharacterStream,
updateNString, getSQLXML, updateSQLXML and updateNClob. Overloaded the
methods updateAsciiStream, updateBinaryStream,
updateBlob,updateCharacterStream and updateClob Modified updateObject.

16. Statement
Added the methods isClosed,isPoolable and setPoolable.

17. PooledConnection
Added the methods addStatementEventListener and
removeStatementEventListener.

18. SQLInput
Added the methods readNClob, readNString, readRowId, and readSQLXML.

19. SQLOutput
Added the methods writeNClob, writeNString, writeRowId, and
writeSQLXML.


Regards,
Takayuki tsunakawa