IBM Support

PI37749: JDBC Wrapper implementation of ResultSet.isClosed returns false after DB2 JCC driver has closed the ResultSet

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Ensure that the WebSphere Application Server wrapper
    implementation of ResultSet.isClosed() API is in synch with
    that of the DB2 JCC driver.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V8.5                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: The WebSphere JDBC Wrapper              *
    *                      implementation of ResultSet.isClosed    *
    *                      returns false after DB2 JCC driver      *
    *                      has closed the ResultSet.               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The default resultSetType is TYPE_FORWARD_ONLY and
    TYPE_FORWARD_ONLY indicates the ResultSet object whose
    cursor may move only forward. If  ResultSet (let us say rs)
    rs.next() is false which means that there are no more rows to
    read and on top of it, if resultSetType is TYPE_FORWARD_ONLY
    then we can not scroll back the cursor pointer, which signals
    that resultSet object can not be reused further for re-reading
    the record and closes the resultSet object.
    Therefore,  With TYPE_FORWARD_ONLY resultSetType, the DB2 JCC
    Driver's rs.isClosed() method returns true when the value of
    rs.next() is false.
    However, the WebSphere JDBC Wrapper for ResultSet may not
    know that the DB2 JCC Driver has closed the ResultSet and the
    isClosed() method can return false.
    This APAR will ensure that the WebSpere wrapper implementation
    of ResultSet.isClosed() API behaves like the DB2 JCC Driver's
    implementation.
    To enable this APAR a datasource custom property named
    resultSetUnusableWhenNoMoreResults needs to be set. In the
    administrative console, Navigate to JDBC providers
    >    (JDBC Provider Name) > Data sources > (datasource name) >
    Custom properties
    Create the custom property named
    resultSetUnusableWhenNoMoreResults with the value set to true.
    

Problem conclusion

  • WebSphere Application Server JDBC Wrapper for ResultSet has
    been corrected such that ResultSet.isClosed() behaves in sync
    with the DB2 JCC Driver through a datasource custom property
    named resultSetUnusableWhenNoMoreResults.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 8.5.5.7.  Please refer to the Recommended Updates
    page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI37749

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-03-25

  • Closed date

    2015-07-14

  • Last modified date

    2015-09-09

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
27 April 2022