[ http://issues.apache.org/jira/browse/DERBY-1002?page=all ]

Deepa Remesh updated DERBY-1002:
--------------------------------

    Attachment: derby1002-patch2-v1.diff
                derby1002-patch2-v1.status

Attaching a patch for the test 'derby1002-patch2-v1.diff'. This patch adds the 
test in the repro to lang/procedure.java. This patch has to be committed only 
after patch1 is reviewed and committed. 

The addtion to the test is a method which creates and uses statements in such a 
way as to provoke re-use of statements and result sets on network server. 
Before pacth1, re-use happens incorrectly and this causes the server to close 
queries wrongly. Without patch1, lang/procedure.java fails with DerbyNetClient 
framework. With patch1, lang/procedure.java passes with all three frameworks. 
Tests run with Sun JDK1.4.2 on Windows XP. 

Please look at patch1 and patch2. 

NOTE: Patch2 can be committed only after patch1 has been reviewed and committed

> Check that DRDAStatement and DRDAResultSet states are reset when they are 
> re-used
> ---------------------------------------------------------------------------------
>
>          Key: DERBY-1002
>          URL: http://issues.apache.org/jira/browse/DERBY-1002
>      Project: Derby
>         Type: Bug
>   Components: Network Server
>     Reporter: Deepa Remesh
>     Assignee: Deepa Remesh
>      Fix For: 10.2.0.0
>  Attachments: derby1002-patch1-draft1.diff, derby1002-patch1-draft1.status, 
> derby1002-patch1-v1.diff, derby1002-patch1-v1.status, 
> derby1002-patch2-v1.diff, derby1002-patch2-v1.status, derby1002.java
>
> Network server re-uses DRDAStatement and DRDAResultSet objects when client 
> sends a request with same section number. When re-using DRDAStatement, it's 
> close() method is called which inturn calls close() method of DRDAResultSet. 
> For re-use to work properly, we have to ensure the states of these objects 
> are reset. This is not a bug but it is an area for possible improvements like:
> * The reset of all states are not in the close() methods. The states get 
> re-initialized at different places in the code. Fo example, in case of 
> DRDAResultSet, they get initialized in some other DRDAStatement methods - 
> like addResultSet, setRsDefaultOptions, setOPNQRYOptions, setQueryOptions 
> etc. It will be good to have all resets in one method.
> * The method name "close" is confusing since it is also called when objects 
> get re-used. For clarity, it may be good to have a method named reset(). And 
> then have the close method call reset.

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

Reply via email to