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