Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 13456 invoked from network); 5 May 2006 15:48:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 5 May 2006 15:48:06 -0000 Received: (qmail 4468 invoked by uid 500); 5 May 2006 15:48:05 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 4440 invoked by uid 500); 5 May 2006 15:48:05 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 4426 invoked by uid 99); 5 May 2006 15:48:05 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 May 2006 08:48:05 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 May 2006 08:48:04 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 538FA7142BD for ; Fri, 5 May 2006 15:47:28 +0000 (GMT) Message-ID: <10609357.1146844048339.JavaMail.jira@brutus> Date: Fri, 5 May 2006 15:47:28 +0000 (GMT+00:00) From: "Rick Hillegas (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-1281) JDBC4 Compliance In-Reply-To: <18031486.1146699498298.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ 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.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.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() I have updated the master description to reflect the fact that the JDBC4 expert group has decided to make the following methods optional: Statement.cancel() PreparedStatement.setUnicodeStream() ResultSet.getUnicodeStream() > 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.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