Knut Anders Hatlen wrote:
"Lance J. Andersen" <[EMAIL PROTECTED]> writes:
We clarified this in JDBC 4 spec
Once a ResultSet has been closed, any attempt to access any of its
methods with
the exception of the isClosed method will result in a SQLException being
thrown. ResultSetMetaData instances that were created by a ResultSet that
has been closed are still accessible.
Thanks, Lance! I'll go through all the ResultSet methods and file a
JIRA.
Does the same apply for Statement? I didn't see a similar comment
about Statement objects in the spec.
Hi Knut Anders,
I don't exactly have an answer for you, but observed the following in
the 'EmbedStatement.java' file:
"/* The close() method is the only method
* that is allowed to be called on a closed
* Statement, as per Jon Ellis.
*/"
I found in the JDBC4 spec that Jon Ellis is a former JDBC spec lead. It
is also stated in a comment that every public method in the class must
call 'checkStatus', which throws an SQLException if the statment is closed.
For the close method itself, the JDBC4 JavaDoc says this:
"Calling the method close on a Statement object that is already closed
has no effect."
Derby seem to behave according to the spec on this point, but maybe
someone else has something more to add?
--
Kristian