Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-1002

Check that DRDAStatement and DRDAResultSet states are reset when they are re-used

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 10.1.3.1, 10.2.1.6
    • Network Server
    • None

    Description

      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.

      Attachments

        1. derby1002-patch2-v2.diff
          4 kB
          Deepa
        2. derby1002-patch2-v2.status
          0.1 kB
          Deepa
        3. derby1002-patch1-v1.diff
          7 kB
          Deepa
        4. derby1002-patch1-v1.status
          0.2 kB
          Deepa
        5. derby1002-patch1-draft1.diff
          7 kB
          Deepa
        6. derby1002-patch1-draft1.status
          0.2 kB
          Deepa
        7. derby1002.java
          6 kB
          Deepa

        Activity

          People

            deepa Deepa
            deepa Deepa
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: