Fix (APAR): PI37749 Status: Fix Release: 8.5.5.6,8.5.5.5,8.5.5.4 Operating System: AIX,HP-UX,IBM i,Inspur K-UX,Linux,Mac OS,Solaris,Windows,z/OS Supersedes Fixes: CMVC Defect: xxxxxx Byte size of APAR: 1074549 Date: 2015-10-05 Abstract: JDBC Wrapper implementation of ResultSet.isClosed returns false after DB2 JCC driver has closed the ResultSet Description/symptom of problem: PI37749 resolves the following problem: 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: None 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: None 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 Directions to apply fix: Fix applies to Editions: Release 8.5 _X_ Application Server (Express or BASE) _X_ Network Deployment (ND) __ Liberty Core __ Edge Components __ Developer Install Fix to all WebSphere installations unless special instructions are included below. Special Instructions: None NOTE: The user must: * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V1.4.3 or newer of the Installation Manager. Certain iFixes may require a newer version of the Installation Manager and the Installation Manager will inform you during the installation process if a newer version is required. The IBM Knowledge Center can provide details, if needed, on the use of the Installation Manager to apply the iFixes. http://publib.boulder.ibm.com/infocenter/install/v1r4/index.jsp. Shutdown WebSphere Application Server before applying the iFixes. Restart WebSphere Application Server after applying the iFixes. Directions to remove fix: The IBM Knowledge Center can provide details, if needed, on the use of the Installation Manager to remove the iFixes. http://publib.boulder.ibm.com/infocenter/install/v1r4/index.jsp. Shutdown WebSphere Application Server before removing the iFixes. Restart WebSphere Application Server after removing the iFixes. Directions to re-apply fix: 1) Shutdown WebSphere Application Server. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere Application Server. Additional Information: