You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org> on 2006/01/18 11:50:50 UTC

[jira] Created: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

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
 Assigned to: Knut Anders Hatlen 
    Priority: Minor
     Fix For: 10.2.0.0


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


Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by Knut Anders Hatlen <Kn...@Sun.COM>.
Bryan Pendleton <bp...@amberpoint.com> writes:

> V.Narayanan wrote:
> > Hi Bryan,
> > If you are referring to DERBY-821.diff. I tried applying it to a
> > workspace on my machine. It seems to work fine with the following
> 
> Thanks. I re-fetched the patch from JIRA this morning and it applies
> fine for me, too.

Thanks Narayanan for checking the patch, and thank you Bryan for
spending the weekend reading it! :)

-- 
Knut Anders


Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by Bryan Pendleton <bp...@amberpoint.com>.
V.Narayanan wrote:
> Hi Bryan,
> If you are referring to DERBY-821.diff. I tried applying it to a 
> workspace on my machine. It seems to work fine with the following 

Thanks. I re-fetched the patch from JIRA this morning and it applies
fine for me, too.

I think I just had a bumpy ride through some network turbulence.

bryan



Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "V.Narayanan" <V....@Sun.COM>.
Hi Bryan,
If you are referring to DERBY-821.diff. I tried applying it to a 
workspace on my machine. It seems to work fine with the following 
output. I am also attaching the output of patch -v with this email. My 
workspace is at revision 374831. I work on a solaris environment.

[] $ ../../../patch/installation/bin/patch -p 0 < DERBY-821.diff
patching file java/drda/org/apache/derby/impl/drda/DRDAResultSet.java
Hunk #2 succeeded at 490 (offset -2 lines).
patching file java/drda/org/apache/derby/impl/drda/XADatabase.java
patching file java/drda/org/apache/derby/impl/drda/DRDAStatement.java
Hunk #1 succeeded at 1623 with fuzz 1 (offset -24 lines).
patching file java/drda/org/apache/derby/impl/drda/Database.java
patching file java/drda/org/apache/derby/impl/drda/DRDAConnThread.java
Hunk #1 succeeded at 7360 (offset 2 lines).
patching file 
java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorJava.java
patching file 
java/testing/org/apache/derbyTesting/functionTests/tests/lang/forupdate.sql
patching file 
java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorIJ.sql
patching file 
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/setTransactionIsolation.java
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/forupdate.out
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/holdCursorIJ.out
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/updatableResultSet.out
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/forupdate.out
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/updatableResultSet.out
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/holdCursorIJ.out
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/holdCursorIJ.out
patching file 
java/testing/org/apache/derbyTesting/functionTests/master/forupdate.out
patching file java/client/org/apache/derby/client/net/NetResultSet.java
patching file 
java/client/org/apache/derby/client/net/NetDatabaseMetaData.java
patching file java/client/org/apache/derby/client/net/NetSqldta.java
patching file java/client/org/apache/derby/client/net/NetConnection.java
patching file java/client/org/apache/derby/client/net/NetCursor.java
patching file 
java/client/org/apache/derby/client/net/NetStatementRequest.java
patching file java/client/org/apache/derby/client/net/NetStatementReply.java
patching file java/client/org/apache/derby/client/am/Cursor.java
patching file java/client/org/apache/derby/client/am/ResultSet.java
patching file java/client/org/apache/derby/client/am/SqlCode.java


patch -v

patch 2.5.4
Copyright 1984-1988 Larry Wall
Copyright 1989-1999 Free Software Foundation, Inc.

This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

written by Larry Wall and Paul Eggert

thanx
Narayanan


Bryan Pendleton wrote On 02/04/06 11:21,:

> Hi Knut Anders,
>
> I am hoping to read through your patch in more detail this weekend,
> and I will let you know of any comments that I have.
>
> I am having a bit of trouble applying your patch. Maybe my connection
> to JIRA is damaged, but when I download the patch as an attachment,
> the lines are corrupted near line 219 of the .diff file.
>
> There appear to be some control characters in the diff file as it is
> returned from JIRA. In VIM, I see ^@ symbols in the file.
>
> Can you verify that the patch file in JIRA is well-formed (the problem
> may well be on my end)?
>
> thanks,
>
> bryan
>
>
>

Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by Bryan Pendleton <bp...@amberpoint.com>.
Hi Knut Anders,

I am hoping to read through your patch in more detail this weekend,
and I will let you know of any comments that I have.

I am having a bit of trouble applying your patch. Maybe my connection
to JIRA is damaged, but when I download the patch as an attachment,
the lines are corrupted near line 219 of the .diff file.

There appear to be some control characters in the diff file as it is
returned from JIRA. In VIM, I see ^@ symbols in the file.

Can you verify that the patch file in JIRA is well-formed (the problem
may well be on my end)?

thanks,

bryan



Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by Knut Anders Hatlen <Kn...@Sun.COM>.
"Bryan Pendleton (JIRA)" <de...@db.apache.org> writes:

>      [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]
> 
> Bryan Pendleton updated DERBY-821:
> ----------------------------------
> 
>     Attachment: changes-no-object-tags.html
> 
> Hi Knut Anders,
> 
> Your document is excellent. Thank you very much for writing it. The
> changes make much more sense to me now. My browser (Firefox) was not
> behaving so well with the <object> tags in your changes.html file,
> so I took the liberty of re-posting the file with the <object> tags
> removed, in case there are other people having the same problem.

Thanks Bryan, I don't know what the purpose of the object tags is, but
validator.w3.org insisted on having them. :) If you get time to look
at the patch, I would really appreciate hearing your opinions on it.

(I apologize if a similar mail appears on the list. I sent an answer
yesterday, but it seems to be lost somewhere. It probably took the
wrong Trans-Atlantic cable or something.)

-- 
Knut Anders


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Philip Wilder (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12365076 ] 

Philip Wilder commented on DERBY-821:
-------------------------------------

Thank you for the clarification Knut. I apologize for my misinterpretation. Keep up the good work :-)

> 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.diff, DERBY-821.stat, changes-no-object-tags.html, 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12363723 ] 

Knut Anders Hatlen commented on DERBY-821:
------------------------------------------

Thanks for your comments, Bryan.

Because of the prefetching (default fetch size is 64) next is called
four times on the server side, hence the the result set on the server
is exhausted and can be closed if qryclsimp is true. If the result set
on the client side also had to be exhausted before it could be closed
on the server, we would have needed a separate round trip to
communicate that and the closing wouldn't be implicit.

> 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

>
> 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Bryan Pendleton (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12363717 ] 

Bryan Pendleton commented on DERBY-821:
---------------------------------------

Maybe I'm not understanding your test program properly, but it seems that the result set should *not* be closed in this case, because the table (and the result set) contain 3 rows, but your test program only said 'next' once. If your test program actually  said 'next' 3 times, then I agree, it should be OK to implicitly close the result set and the test should be revised.

In regards to your first comment, I agree: my reading of the DRDA specs is that they *do* support implicit closing of result sets even when LMTBLKPRC is used, so long as the other requirements on the result set are met. Here's a quote from page 478 of DRDA V3:

  If the query is non-scrollable and it is at end of data (SQLSTATE 02000), then the target
  SQLAM may close the query implicitly by returning an ENDQRYRM and an SQLCARD to
  the source server, based on the cursor type and the QRYCLSIMP value as specified
  previously on the OPNQRY command.


> 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

>
> 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Philip Wilder (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12364666 ] 

Philip Wilder commented on DERBY-821:
-------------------------------------

I'm sorry I just noticed this now Knut but I should bring it to your attention that you are in fact undoing work that was done in DERBY-213. The decision to remove the implicit close from the Client Driver ResultSets was to bring the Derby Client in line with the embedded driver which does not close ResultSets implicitly. Also there is an outstanding jira issue (DERBY-545) that asks the question as to what the Client should do. I would ask that if you come to a concrete conclusion the you also address DERBY-545 when you close this issue.

I will be monitoring DERBY-821 for a few days if you would like anything clarified.

> 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.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


[jira] Closed: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]
     
Knut Anders Hatlen closed DERBY-821:
------------------------------------


Fixed in revision 377367.

> 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


[jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dag H. Wanvik updated DERBY-821:
--------------------------------

    Derby Categories: [Performance]

> Client driver: Implicitly close exhausted result sets on the server
> -------------------------------------------------------------------
>
>                 Key: DERBY-821
>                 URL: https://issues.apache.org/jira/browse/DERBY-821
>             Project: Derby
>          Issue Type: Improvement
>          Components: Network Client, Network Server
>    Affects Versions: 10.2.1.6
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>             Fix For: 10.2.1.6
>
>         Attachments: changes.html, DERBY-821-v2.diff, DERBY-821-v2.stat, DERBY-821.diff, DERBY-821.stat
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]

Knut Anders Hatlen updated DERBY-821:
-------------------------------------

    Attachment:     (was: changes-no-object-tags.html)

> 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.diff, DERBY-821.stat
>
> 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12363714 ] 

Knut Anders Hatlen commented on DERBY-821:
------------------------------------------

I have a partly working implementation which sends qryclsimp to the
server and implicitly closes exhausted forward-only result sets on the
server. However, some tests in derbynetclientmats fail because of the
changes in behaviour.

Most of the test failures are caused by tests similar to this ij
script:

  connect 'jdbc:derby://localhost/mydb;create=true';
  autocommit off;
  create table t (id int);
  insert into t values (1), (2), (3);
  commit;
  get cursor c as 'select * from t';
  next c;
  drop table t;

In the current Derby code, the DROP TABLE statement will fail with an
error message saying:

  ERROR X0X95: Operation 'DROP TABLE' cannot be performed on object
  'T' because there is an open ResultSet dependent on that object.

When implicit closing is enabled, DROP TABLE will succeed since the
result set is closed on the server.

I think this change in behaviour is OK. As far as I can tell, it
doesn't violate the SQL spec, but it increases the concurrency because
resources are released earlier. Does anybody have other opinions on
this behavioural change?

> 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

>
> 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


[jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]

Knut Anders Hatlen updated DERBY-821:
-------------------------------------

    Attachment: DERBY-821.diff
                DERBY-821.stat
                changes.html

I have attached a patch (DERBY-821.diff) which lets the client driver
take advantage of the possibility to have result sets implicitly
closed on the server. In many cases, this saves one round trip per
select operation.

Inspired by the thoroughness certain developers have shown lately, I
have also uploaded a document describing the most important parts of
the patch in the hope that it is useful for reviewers. See the
attached file "changes.html".

I have done some testing of the performance. With simple single-record
select operations, there seems to be a clear increase in
performance. Having test clients running transactions similar to this
one

    (autocommit off)
    ResultSet rs = ps.executeQuery();
    rs.next();
    int id = rs.getInt(1);
    String text = rs.getString(2);
    rs.close();
    conn.commit();

the number of round trips per transaction was reduced from four to
three. The effect on the throughput depended very much on the number
of clients. With few (1-3) clients, the throughput increased by
24%. With more than 20 clients, the increase in throughput was between
5% and 7%.

Derbyall passed more or less cleanly. I had four failures:

  - ConcurrentImplicitCreateSchema failed with timeouts

  - dataSourcePermissions_net failed with shutdown exception in the
    DerbyNet framework

  - runtimeinfo failed because it had two active sessions instead of
    one. Happened in both DerbyNet and DerbyNetClient

All of these failures are frequently 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.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


[jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]

Knut Anders Hatlen updated DERBY-821:
-------------------------------------

    Attachment:     (was: changes.html)

> 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.diff, DERBY-821.stat
>
> 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12365237 ] 

Kathey Marsden commented on DERBY-821:
--------------------------------------

Bryan posted some questions on the list.  I put the link here for reference.

http://www.nabble.com/DERBY-821-comments-t1065371.html

I have not had an opportunity  to review the patch but hope to do so tomorrow.  I was wondering if you had tested 10.1/10.2 client/server combinations.  If there is special logic needed for JCC, I am guessing it might also be needed for older clients and ODBC, but just a guess as I have not yet looked at the patch.





> 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.diff, DERBY-821.stat, changes-no-object-tags.html, 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


[jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]

Knut Anders Hatlen updated DERBY-821:
-------------------------------------

       Summary: Client driver: Implicitly close exhausted result sets on the server  (was: Client driver: Implicitly close exhausted result sets on the server
)
    Other Info: [Patch available]

> 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.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


Re: [jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by Knut Anders Hatlen <Kn...@Sun.COM>.
"Kathey Marsden (JIRA)" <de...@db.apache.org> writes:

>     [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12365387 ] 
>
> Kathey Marsden commented on DERBY-821:
> --------------------------------------
>
> I looked at the server side Changes:
> Regarding the JCC check in DRDAStatement, Bryan said
>>  perhaps it's worth
>> looking at this a little while longer, to see if there is a way to handle
>> this without having to add the session pointer to the database object; maybe
>> you could instead arrange to pass the session pointer as an argument when
>> you call isRSCloseImplict?
>
> I think it would be better to just have it take a boolean and
> centralize the differences for AppRequesters in AppRequester.java
> with supportXXX() methods there.  In this case, If we can get the
> JCC side fixed the condition will have to be modified further to
> include version info.  It is best to have that all in one place I
> think.

I agree. For now, I will treat CCC the same way as JCC (i.e., don't
change the behaviour).

> There was a question on negative testing for protocol.  There is a
> test testProtocol.java which has a file protocol.tests where you can
> put tests for protocol sequences that will never actually be sent
> from the client.

Thanks! I'll have a look at that test.

-- 
Knut Anders


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12365387 ] 

Kathey Marsden commented on DERBY-821:
--------------------------------------

I looked at the server side Changes:
Regarding the JCC check in DRDAStatement, Bryan said
>  perhaps it's worth
> looking at this a little while longer, to see if there is a way to handle
> this without having to add the session pointer to the database object; maybe
> you could instead arrange to pass the session pointer as an argument when
> you call isRSCloseImplict?

I think it would be better to just have it take a boolean and centralize the differences for AppRequesters in AppRequester.java  with supportXXX() methods there.   In this case, If we can get the JCC side fixed the condition will have to be modified further to include version info.  It is best to have that all in one place I think. 

There was a question on negative testing for protocol.  There is a test testProtocol.java which has a file protocol.tests where you can put tests for protocol sequences that will never actually be sent from the client.





> 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.diff, DERBY-821.stat, changes-no-object-tags.html, 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12364799 ] 

Knut Anders Hatlen commented on DERBY-821:
------------------------------------------

Thanks for commenting on this issue, Philip.

>From my reading of DERBY-213 and DERBY-545, it seems like the term
"implicit closing" has a different meaning in those issues. Before the
DERBY-213 fix, forward-only result sets on the client were closed when
the cursor was positioned after the last row. DERBY-213 and DERBY-545
call this behaviour "implicit closing".

The implicit closing I am talking about, happens only on the network
server. The result set will be open on the client until close() is
called explicitly, hence the application won't see any changes in
behaviour. None of the test cases you added in DERBY-213 fail, e.g.,
next() still returns false instead of throwing an exception after last
row.

> 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.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


Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by Knut Anders Hatlen <Kn...@Sun.COM>.
"Bernt M. Johnsen" <Be...@Sun.COM> writes:

>>>>>>>>>>>>> Bernt M. Johnsen wrote (2006-02-13 10:08:47):
>> >>>>>>>>>>>> Bryan Pendleton wrote (2006-02-12 19:56:12):
>> > Knut Anders Hatlen (JIRA) wrote:
>> > >New patch (DERBY-821-v2.diff) which addresses issues identified by
>> > >Bryan and Kathey.
>> > 
>> > This patch looks good to me. It applied cleanly to the current trunk,
>> > and derbyall passed in my sandbox. Thank you for adding the additional
>> > tests, I think they are quite valuable. The protocol test in
>> > particular was interesting; I had not known about that technique before.
>> 
>> 
>> Looks good to me too! I'll commit it as soon as Knut Anders makes I
>> new version which applies cleanly to head of trunk.
>
> It applies cleanly. My mistake. Will commit.

Thanks, Bernt! And thank you, Bryan, for reviewing and providing
helpful feedback!

-- 
Knut Anders


Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Bernt M. Johnsen" <Be...@Sun.COM>.
>>>>>>>>>>>> Bernt M. Johnsen wrote (2006-02-13 10:08:47):
> >>>>>>>>>>>> Bryan Pendleton wrote (2006-02-12 19:56:12):
> > Knut Anders Hatlen (JIRA) wrote:
> > >New patch (DERBY-821-v2.diff) which addresses issues identified by
> > >Bryan and Kathey.
> > 
> > This patch looks good to me. It applied cleanly to the current trunk,
> > and derbyall passed in my sandbox. Thank you for adding the additional
> > tests, I think they are quite valuable. The protocol test in
> > particular was interesting; I had not known about that technique before.
> 
> 
> Looks good to me too! I'll commit it as soon as Knut Anders makes I
> new version which applies cleanly to head of trunk.

It applies cleanly. My mistake. Will commit.

-- 
Bernt Marius Johnsen, Database Technology Group, 
Staff Engineer, Technical Lead Derby/Java DB
Sun Microsystems, Trondheim, Norway

Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Bernt M. Johnsen" <Be...@Sun.COM>.
>>>>>>>>>>>> Bryan Pendleton wrote (2006-02-12 19:56:12):
> Knut Anders Hatlen (JIRA) wrote:
> >New patch (DERBY-821-v2.diff) which addresses issues identified by
> >Bryan and Kathey.
> 
> This patch looks good to me. It applied cleanly to the current trunk,
> and derbyall passed in my sandbox. Thank you for adding the additional
> tests, I think they are quite valuable. The protocol test in
> particular was interesting; I had not known about that technique before.


Looks good to me too! I'll commit it as soon as Knut Anders makes I
new version which applies cleanly to head of trunk.
-- 
Bernt Marius Johnsen, Database Technology Group, 
Staff Engineer, Technical Lead Derby/Java DB
Sun Microsystems, Trondheim, Norway

Re: [jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by Bryan Pendleton <bp...@amberpoint.com>.
Knut Anders Hatlen (JIRA) wrote:
> New patch (DERBY-821-v2.diff) which addresses issues identified by
> Bryan and Kathey.

This patch looks good to me. It applied cleanly to the current trunk,
and derbyall passed in my sandbox. Thank you for adding the additional
tests, I think they are quite valuable. The protocol test in
particular was interesting; I had not known about that technique before.

thanks,

bryan



[jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
     [ 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


[jira] Updated: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Bryan Pendleton (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]

Bryan Pendleton updated DERBY-821:
----------------------------------

    Attachment: changes-no-object-tags.html

Hi Knut Anders,

Your document is excellent. Thank you very much for writing it. The changes make much more sense to me now. My browser (Firefox) was not behaving so well with the <object> tags in your changes.html file, so I took the liberty of re-posting the file with the <object> tags removed, in case there are other people having the same problem.

> 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.diff, DERBY-821.stat, changes-no-object-tags.html, 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


[jira] Resolved: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Bernt M. Johnsen (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-821?page=all ]
     
Bernt M. Johnsen resolved DERBY-821:
------------------------------------

    Resolution: Fixed

Committed revision 377367.


> 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12363814 ] 

Knut Anders Hatlen commented on DERBY-821:
------------------------------------------

Answer to my own question about why QRYCLSIMP is disabled when
LMTBLKPRC is used:

The DB2 driver seems to send QRYCLSIMP=1 in the OPNQRY message, but it
closes the result set explicitly with a CLSQRY anyway. My best guess
is that the disabling has something to do with this. I will modify the
network server so that it disables QRYCLSIMP when the DB2 driver is
used and the protocol is LMTBLKPRC, and enables it for the client
driver (also when LMTBLKPRC is being used).

> 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

>
> 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


[jira] Commented: (DERBY-821) Client driver: Implicitly close exhausted result sets on the server

Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-821?page=comments#action_12363677 ] 

Knut Anders Hatlen commented on DERBY-821:
------------------------------------------

In the network server code, DRDAResultSet.isRSCloseImplicit() has this
comment:

 * Method to decide weather the ResultSet should be closed implicitly.
 * When the protocol type is Limited Block Query Protocol we should not
 * close implicitly even if qryclsimp is set to YES.

I haven't found anything in the DRDA spec saying that result sets
should not be implicitly closed when the protocol is Limited Block
Query Protocol. Enabling implicitly closing for the LBQ protocol does
not seem to break anything.

Does anyone know why implicitly closing of result sets is disabled for
the Limited Block Query Protocol?

> 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

>
> 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