Hi David,
No, it's a bit assymetrical. Thanks for reminding me that I need to
update this JIRA with some practical tips about how to answer that question.
Regards,
-Rick
David Van Couvering wrote:
> Thanks, Rick, great summary. Do these apply equally to the network
> client and embedded driver?
>
> David
>
> Rick Hillegas (JIRA) wrote:
>
>> 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.Statement methods:
>> * cancel()
>>
>> - The following java.sql.PreparedStatement methods:
>> * setUnicodeStream(int,java.io.InputStream,int)
>>
>> - The following java.sql.CallableStatement methods:
>> * getBlob(int)
>> * getClob(int)
>>
>> - The following java.sql.ResultSet methods:
>> * getUnicodeStream(int)
>> * getUnicodeStream(java.lang.String)
>>
>> - 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()
>>
>>
>>
|