[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Attachment: derby-970-part3-v1.diff
derby-970-part3-v1.stat
Attaching patch derby-970-part3-v1.diff which implements the new JDBC
4 methods getSchemas(String, String) and getClientInfoProperties() on
the client driver.
Description of changes on the embedded side:
1) Moved getSchemas(String, String) from EmbedDatabaseMetaData40 to
EmbedDatabaseMetaData so that a server running JVM < 1.6 does not
fail.
2) Extended SystemProcedures.SQLTABLES() (aka SYSIMB.SQLTABLES) to
support getSchemas(String, String). It already has support for
the zero-parameter getSchemas() by passing an option string
"GETSCHEMAS=1". The new getSchemas() is invoked by passing
"GETSCHEMAS=2".
Description of changes on the client side:
3) New SQLSTATE and error message for the case when a JDBC method is
not supported by the server (i.e., when running a new client
against an old server). Message text: "JDBC method {0} is not
supported by the server. Please upgrade the server."
4) DatabaseMetaData.getClientInfoProperties() returns an empty
result set with the correct column names. The query is hard-coded
so that an empty result set is returned regardless of server
version. (Same pattern is used as in the existing methods
getSuperTypes(), getSuperTables() and getAttributes().)
5) DatabaseMetaData.getSchemas(String, String) is implemented as a
call to SYSIBM.SQLTABLES with the GETSCHEMAS=2 option. Since
GETSCHEMAS=2 is not supported by older servers, the JDBC version
of the server is checked. If the server does not support JDBC 4,
an exception is thrown (without this check, the result of a call
to getTables() would have been returned).
Description of test changes:
6) In TestDbMetaData, removed try/catch blocks which were added to
make the test continue to run when the methods were not
implemented. (The test is still not enabled in DerbyNetClient
because getFunctions() and getFunctionParameters() are not
implemented yet.)
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat,
> derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff,
> derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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