Direct links to fixes
APAR status
Closed as program error.
Error description
WebSphere Commerce Fixpack 7.0.0.3 broke backward compatibility of the method: JDBCQueryHelper.getPreparedStatement(Connection aConnection, String astrComponentId, String astrSQLQuery, List paramValues) Specifically, in order to support pagination we changed the result type from ResultSet.TYPE_FORWARD_ONLY (the default) to ResultSet.TYPE_SCROLL_INSENSITIVE // In order to enable cursor pagination, here we set ResultSet.TYPE_SCROLL_INSENSITIVE and // ResultSet.CONCUR_READ_ONLY for PreparedStatement. stmt = conn.prepareStatement(astrSQLQuery, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); However, the INSENSITIVE SCROLL type of the result set can not be used with a SELECT statement that contains a FOR UPDATE clause. That is why any custom code that uses a 'SELECT FOR UPDATE' SQL query results in error SQLCODE=-228 after installing WebSphere Commerce 7.0.0.3. The following error occurred during processing: "{0}". com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-228, SQLSTATE=42620, SQLERRMC=SQL_CURSH200C1, DRIVER=4.9.78 at com.ibm.db2.jcc.am.fd.a(fd.java:676) at com.ibm.db2.jcc.am.fd.a(fd.java:60) at com.ibm.db2.jcc.am.fd.a(fd.java:127) at com.ibm.db2.jcc.am.en.c(en.java:2553) at com.ibm.db2.jcc.am.en.d(en.java:2541) at com.ibm.db2.jcc.am.en.a(en.java:2017) at com.ibm.db2.jcc.t4.cb.g(cb.java:140) at com.ibm.db2.jcc.t4.cb.a(cb.java:40) at com.ibm.db2.jcc.t4.q.a(q.java:32) at com.ibm.db2.jcc.t4.rb.i(rb.java:135) at com.ibm.db2.jcc.am.en.ib(en.java:1988) at com.ibm.db2.jcc.am.fn.rc(fn.java:3016) at com.ibm.db2.jcc.am.fn.xc(fn.java:3146) at com.ibm.db2.jcc.am.fn.setObject(fn.java:1853) at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setObject(WSJd bcPreparedStatement.java:2435) at com.ibm.commerce.foundation.internal.server.services.dataaccess. workspace.util.JDBCQueryServiceWorkspaceHelper.getPreparedStatem ent(JDBCQueryServiceWorkspaceHelper.java:2783) at com.ibm.commerce.foundation.server.services.dataaccess.JDBCQuery Service.executeQuery(JDBCQueryService.java:841)
Local fix
In case the problem occurs after upgrading to FP3 in the development environment, customer may remove the 'FOR UPDATE' clause as a temporary workaround.
Problem summary
USERS AFFECTED: Customers that have customized the code that uses a 'SELECT FOR UPDATE' SQL query in JDBCQueryServiceWorkspaceHelper after installing WebSphere Commerce 7.0.0.3. PROBLEM ABSTRACT: Custom code that uses a 'SELECT FOR UPDATE' SQL query with JDBCQueryHelper results in error SQLCODE=-228 after installing WebSphere Commerce 7.0.0.3. BUSINESS IMPACT: Custom function may be broken after installing WebSphere Commerce 7.0.0.3 fixpack. RECOMMENDATION:
Problem conclusion
In order to resolve the issue code has been modified to restore backward compatibility and introduce a new method to support the prepared statement with the TYPE_SCROLL_INSENSITIVE type of the result set. ------------------------------------------------------------- The latest available maintenance information can be obtained from the Recommended Fixes for WebSphere Commerce technote: http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
Temporary fix
Comments
APAR Information
APAR number
JR40894
Reported component name
WC BUS EDITION
Reported component ID
5724I3800
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-10-18
Closed date
2012-01-17
Last modified date
2012-01-17
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
WC BUS EDITION
Fixed component ID
5724I3800
Applicable component levels
R700 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
17 January 2012