db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1281) JDBC4 Compliance
Date Fri, 05 May 2006 21:33:28 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1281?page=all ]

Rick Hillegas updated DERBY-1281:
---------------------------------

    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()



  was:
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.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()




Added ResultSet.updateBlob() and ResultSet.updateClob() to list of currently unsupported,
mandatory methods.

> JDBC4 Compliance
> ----------------
>
>          Key: DERBY-1281
>          URL: http://issues.apache.org/jira/browse/DERBY-1281
>      Project: Derby
>         Type: Improvement

>   Components: JDBC
>     Versions: 10.2.0.0
>     Reporter: Rick Hillegas
>      Fix For: 10.2.0.0

>
> 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()

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message