A fix is available
APAR status
Closed as program error.
Error description
Abend04e rc00c900d0 at dsnxrohb offset 1cd6e could happen when query uses hybrid join method.
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: All DB2 9 and DB2 10 for z/OS users of * * hybrid join with ROWID data. * **************************************************************** * PROBLEM DESCRIPTION: An ABEND04E RC00C900D0 at location * * DSNXROHB 1CD6E (OFFSET1CD6E) can occur * * when a query references ROWID data * * followed by LOB data when using a * * hybrid join access path. * **************************************************************** * RECOMMENDATION: * **************************************************************** An ABEND04E RC00C900D0 can occur at location DSNXROHB 1CD6E (OFFSET1CD6E) when a query references ROWID data that is followed by LOB data when using a hybrid join access path. The following example helps to illustrate the problem. Step 1. Create two tables, each with a unique index. CREATE TABLE T1 (C1 INT, C2 ROWID NOT NULL, C3 CLOB(100)); CREATE TABLE T2 (C1 INT, C2 ROWID NOT NULL, C3 CLOB(100)); CREATE UNIQUE INDEX IX1 ON T1(C1); CREATE UNIQUE INDEX IX2 ON T2(C1) CLUSTER; Step 2. Insert three rows of data into each table. INSERT INTO T1 VALUES(1,DEFAULT,CLOB('ABC')); INSERT INTO T1 VALUES(2,DEFAULT,CLOB('ABC')); INSERT INTO T1 VALUES(3,DEFAULT,CLOB('ABC')); INSERT INTO T2 VALUES(1,DEFAULT,CLOB('AB2')); INSERT INTO T2 VALUES(2,DEFAULT,CLOB('AB2')); INSERT INTO T2 VALUES(3,DEFAULT,CLOB('AB2')); Step 3. Perform the following select statement using a hybrid join access path. SELECT A.C1, HEX(A.C2), B.C2, A.C3 FROM T1 A, T2 B WHERE A.C1 = B.C1 ; The ROWID column B.C2 is not moved correctly by DB2 and as a result, it eventually overlays the storage for the next column, CLOB column A.C3. This leads to the above mentioned abend. Please note: If A.C3 is replaced by another data type, an incorrect result for both B.C2 and the other data type or an unexpected abend in another DB2 module can occur due to a memory overlay.
Problem conclusion
The code in DB2 has been modified to correctly move the ROWID data using the actual length instead of the declared length. This will prevent the above abend and the incorrect output. Additional Keywords: SQLHYBRIDJOIN SQLROWID SQLINCORR INCORROUT SQLINCORROUT DB2INCORR/K DB2OVRLAY/K
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PM94968
Reported component name
DB2 OS/390 & Z/
Reported component ID
5740XYR00
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt
Submitted date
2013-08-12
Closed date
2013-09-12
Last modified date
2013-10-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK97483 UK97484
Modules/Macros
DSNXRFHJ DSNXRGBJ DSNXRSFJ
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 October 2013