Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-1281

JDBC4 Compliance

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.2.1.6
    • 10.2.1.6
    • JDBC
    • None
    • Normal

    Description

      Here is my analysis of where we currently fall short of JDBC4 compliance, based on my reading of the current draft revision of the JDBC4 Compliance chapter. I will break this into subtasks.

      Comparison of Derby to early May sneak preview of the JDBC4 Compliance Chapter:

      6.1 Definitions

      Just a recital of definitions.

      6.2

      Supported:

      • Entry level SQL 92
      • Escape syntax
      • Transactions
      • Driver access to all documented Derby features
      • SQLFeatureNotSupportedException thrown for unimplemented optional features
      • Agreement between DatabaseMetaData and actual feature set

      6.3 JDBC 4.0 API Compliance

      Supported:

      • Supports a ResultSet type of TYPE_FORWARD_ONLY
      • Supports a ResultSet concurrency of CONCUR_READ_ONLY
      • Supports batch updates
      • Fully implements the following interfaces:
      • java.sql.Driver
      • java.sql.DatabaseMetaData
      • java.sql.ParameterMetaData
      • java.sql.ResultSetMetaData
      • java.sql.Wrapper
      • javax.sql.DataSource

      Unsupported:

      • The following java.sql.Connection methods:
      • getClientInfo()
      • getClientInfo(java.lang.String)
      • setClientInfo(java.lang.String,java.lang.String)
      • The following java.sql.CallableStatement methods:
      • getBlob(int)
      • getClob(int)
      • The following java.sql.ResultSet methods:
      • updateBlob(int,java.sql.Blob)
      • updateBlob(java.lang.String,java.sql.Blob)
      • updateClob(int,java.sql.Clob)
      • updateClob(java.lang.String,java.sql.Clob)
      • The following java.sql.Blob methods:
      • java.sql.Blob.setBytes(long,byte[])
      • setBytes(long,byte[],int,int)
      • getBinaryStream(long,long)
      • setBinaryStream(long)
      • truncate(long)
      • The following java.sql.Clob methods:
      • setString(long,java.lang.String)
      • setString(long,java.lang.String,int,int)
      • setAsciiStream(long)
      • getCharacterStream(long,long)
      • setCharacterStream(long)
      • truncate(long)

      6.4 Java EE JDBC Compliance

      Supported:

      • escape functions concat, substring, locate, length,
        abs, sqrt, mod.
      • executeUpdate() works for calling procedures via
        escape syntax.

      Unsupported:

      • OUT parameters not supported for these datatypes: BLOB, CLOB
      • executeQuery() does NOT work for calling procedures via escape syntax.

      IN ACTIVE DEVELOPMENT

      • The following java.sql.Connection methods:
      • Brokered class forwarding:
      • isValid(int)
      • createQueryObject(java.lang.Class)
      • getClientInfo()
      • getClientInfo(java.lang.String)
      • setClientInfo(java.lang.String,java.lang.String)
      • LOB improvements:
      • createBlob()
      • createClob()
      • The following java.sql.Statement methods:
      • Brokered class forwarding:
      • isClosed()
      • cancel()
      • The following java.sql.PreparedStatement methods:
      • Brokered class forwarding:
      • setUnicodeStream(int,java.io.InputStream,int)
      • setBlob(int,java.io.InputStream,long)
      • setClob(int,java.io.Reader,long)
      • The following java.sql.CallableStatement methods:
      • Brokered class forwarding:
      • getBlob(int)
      • getClob(int)
      • The following java.sql.Blob methods:
      • LOB improvements:
      • free()
      • The following java.sql.Clob methods:
      • LOB improvements:
      • free()

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rhillegas Richard N. Hillegas
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: