Lance,

In order to further distill this issue for your EG team I've created this brief question list (largely based off some earlier questions from Kathey) that you can pass on to them. As always let me know if there is any way I can further clarify this issue.

Philip

#########

1) Section 9.1 of the JDBC specification document says

"The result set is closed no later than when one of the following occurs: ...
When ResultSet is Holdable:
a.
if the cursor is forward only, then when invocation of its next method returns false " Should a ResultSet really be closed in this manner regardless of holdability? If so, after a cursor is closed in this manner (or via any other method) what functions (if any) can be called without throwing an Exception? For example will a call to ResultSet#next() return false or throw an Exception?

2) How should DatabaseMetaData calls affect auto-commit? Since the statement itself is not exposed, should execution completion of a metadata call send an auto-commit or should there be special handling to avoid this? There is no known reference to this issue in the JDBC 4.0 specification.
3) Section 9.1 of the JDBC 4.0 specification states:

"For CallableStatement objects or for statements that return multiple results, the statement is complete when all of the associated result sets have been closed."

Yet the associated Connection#setAutoCommit() Java Documentation states: "In advanced cases, a single statement may return multiple results as well as output parameter values. In these cases, the commit occurs when all results and output parameter values have been retrieved."

Are these documents in conflicting, why or why not?

Reply via email to