EmbedDatabaseMetadata, EmbedDatabaseMetadata40, and client.net.NetDatabaseMetadata40 should not throw a "not implemented" exception -----------------------------------------------------------------------------------------------------------------------------------
Key: DERBY-915 URL: http://issues.apache.org/jira/browse/DERBY-915 Project: Derby Type: Bug Reporter: David Van Couvering Per this email from Lance Andersen, JDBC4 spec lead: "The JDBC spec requires DatabaseMetaData to be fully implemented. For non DatabaseMetaData methods not implement and not required, a SQLException must be thrown and in the case of JDBC 4.0 SQLFeatureNotSupportedException must be thrown. Any drivers which fail to implement DatabaseMetaData methods and throw an Exception would not pass the conformance tests. HTH Lance" These metadata calls need to be modified to return either true/false for boolean methods, or an empty result set for methods that return result sets. The client.am.DatabaseMetadata.getSuperTypes() has a good example of how to generate an empty result set: String sql = "SELECT CAST(NULL AS VARCHAR(128)) AS TYPE_CAT," + "CAST(NULL AS VARCHAR(128)) AS TYPE_SCHEM," + "VARCHAR('', 128) AS TYPE_NAME," + "CAST(NULL AS VARCHAR(128)) AS SUPERTYPE_CAT," + "CAST(NULL AS VARCHAR(128)) AS SUPERTYPE_SCHEM," + "VARCHAR('', 128) AS SUPERTYPE_NAME " + "FROM SYSIBM.SYSDUMMY1 WHERE 1=0 WITH UR "; -- 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