[ http://issues.apache.org/jira/browse/DERBY-821?page=all ]
Knut Anders Hatlen updated DERBY-821:
-------------------------------------
Attachment: DERBY-821-v2.diff
DERBY-821-v2.stat
changes.html
New patch (DERBY-821-v2.diff) which addresses issues identified by
Bryan and Kathey.
Changes from the previous patch:
* Made comment for SqlCode.END_OF_DATA clearer.
* Set qryclsimp to NO in the constructor of DRDAResultSet and added
a comment saying that it would only change to another value if an
OPNQRY was received.
* Removed JCC check from isRSCloseImplicit(). Instead,
supportsQryclsimpForLmtblkprc() was added to AppRequester.
* Added parameter lmtblkprcOK to isRSCloseImplicit(), so that the
changes needed to make AppRequester accessible from DRDAStatement
could be reverted.
* New test case in lang/procedure.java: The server should not close
result sets implicitly on an EXCSQLSTT command.
* New test case in lang/holdCursorJava.java: Test that the cursor is
really closed when ResultSet.close() is called, both when SQLSTATE
02000 has been received and when SQLSTATE 02000 has not been
received.
* New test case in derbynet/protocol.tests: Test what happens when
CLSQRY is sent to the server after the cursor is implicitly
closed.
When I ran derbyall I had three failures:
- stress.multi failed under encryptionAll, also seen in Ole's
regression tests
- runtimeinfo.java failed under both derbynetmats and
derbynetclientmats, also seen in Ole's regression tests
> Client driver: Implicitly close exhausted result sets on the server
> -------------------------------------------------------------------
>
> Key: DERBY-821
> URL: http://issues.apache.org/jira/browse/DERBY-821
> Project: Derby
> Type: Improvement
> Components: Network Client, Network Server, Performance
> Versions: 10.2.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Fix For: 10.2.0.0
> Attachments: DERBY-821-v2.diff, DERBY-821-v2.stat, DERBY-821.diff,
> DERBY-821.stat, changes.html
>
> Forward-only result sets that are exhausted should be implicitly
> closed on the server. This way, ResultSet.close() does not have to
> send an explicit close message generating unnecessary network traffic.
> The DRDA protocol supports this. From the description of OPNQRY (open
> query):
> The qryclsimp parameter controls whether the target server
> implicitly closes a non-scrollable query upon end of data (SQLSTATE
> 02000) in association with the cursor type.
--
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