Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC74883 Status: Closed

SELECT OF AN CLOB COLUMN FROM AN XMLTABLE CAUSED DB2 TO CRASH.

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
An example of a query that would cause the problem is: 
 
   select upi,document_id,doctext 
     from documents t1, 
     xmltable 
    ('$c/Document/documentDetailsCollection/documentDetails 
      [effectiveEndTimeStamp = 
xs:dateTime("2199-12-31T23:59:59") 
      and exists(deidentifiedDocumentText)]' 
      passing t1.xmldata as "c" 
      columns 
          doctext clob(2M) path './deidentifiedDocumentText' 
     ) as x ; 
 
  The crash will be more likely to happen when the size of the 
selected document is 87K or more. 
 
  The following error can be seen in the db2diag.log: 
 
  FUNCTION: DB2 UDB, lob manager, sqldxAppendLob, probe:608 
  MESSAGE : ZRC=0x8748006E=-2025324434=SQLDXE_BOUNDS "Value out 
of bounds" 
          DIA8600C A LOB value was out of bounds. 
  DATA #1 : unsigned integer, 4 bytes 
  4294923604 
  DATA #2 : unsigned integer, 4 bytes 
  4294923604
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* all                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 9.5 FP8 or subsequent fix pack                * 
****************************************************************
Local Fix:
Customer can break the column into multiple columns of 87K size 
or less using the substring function.  Example: 
 
select upi,document_id,doctext1,doctext2,.... 
     from documents t1, 
     xmltable 
    ('$c/Document/documentDetailsCollection/documentDetails 
      [effectiveEndTimeStamp = 
xs:dateTime("2199-12-31T23:59:59") 
      and exists(deidentifiedDocumentText)]' 
      passing t1.xmldata as "c" 
      columns 
          doctext1 clob(2M) path 
           './fn:substring(./deidentifiedDocumentText,1,86000)', 
          doctext2 clob(2M) path 
 
'./fn:substring(./deidentifiedDocumentText,86001,86000)', 
           ..... 
     ) as x ;
Solution
Problem First Fixed in DB2 Version 9.5 Fix Pack 8
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC75439 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
07.03.2011
06.11.2012
06.11.2012
Problem solved at the following versions (IBM BugInfos)
9.5.FP8
Problem solved according to the fixlist(s) of the following version(s)