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 IC98179 Status: Closed

WHEN INTRA_PARALLEL ENABLED, AN SQL STATEMENT MIGHT FAIL WITH SQL0901N IN
SQLNO_SMP_CREATE_PGBY

product:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problem description:
When the INTRA_PARALLEL database manager configuration parameter 
is enabled, an SQL statement might fail with SQL0901N error as 
follows: 
   SQL0901N  The SQL statement failed because of a non-severe 
system error. 
   Subsequent SQL statements can be processed.  (Reason 
"sqlno_smp_create_pgby 
   [300]:rc(     0)                ".)  SQLSTATE=58004 
 
The db2diag.log file will show a diagnostic message and 
following compiler stack: 
   DATA #1 : String, 62 bytes 
   An unexpected error was detected during statement 
compilation. 
   ... 
   DATA #9 : String, 124 bytes 
   Compiler error stack for rc = -2144272380: 
   sqlnn_cmpl[390] 
   sqlno_exe[2000] 
   sqlno_final_phase[50] 
   sqlno_smp_create_pgby[300] 
 
The above can happen if the following three conditions are met 
for the subselect: 
1) the subselect has a GROUP BY clause with one of the following 
aggregate functions on a column (let us call it AGG_COL): 
   a) MIN() 
   or 
   b) MAX() and AGG_COL is defined with NOT NULL constraint 
 
2) the subselect has the following predicates: 
   a) IS NULL predicate on at least one column from GROUP BY 
clause 
   and 
   b) equality predicate on all the remaining columns of GROUP 
BY clause 
 
3) The column AGG_COL is part of key-columns of an index and all 
the leading key-columns  (upto and including AGG_COL) of the 
index are referenced by the subselect. 
 
For example, consider the following DDL: 
CREATE TABLE SCHEMA1.TABLE1  ( 
                  COL1 DECIMAL(19,0) NOT NULL , 
                  COL2 VARCHAR(10) , 
                  COL3 INTEGER NOT NULL , 
                  COL4 VARCHAR(10) NOT NULL , 
                  COL5 VARCHAR(10) NOT NULL ); 
 
CREATE INDEX SCHEMA1.INDEX1 ON SCHEMA1.TABLE1 (COL1, COL2, COL3, 
COL4); 
 
The following SELECT statement will fail with the error 
mentioned above: 
select COL1, COL2, max(COL3) as COL3 
from SCHEMA1.TABLE1 
where COL3 < 10 and 
      COL1 = 11 and 
      COL2 is null 
group by COL1, COL2;
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 version 10.1 and Fix Pack 4 or higher.        * 
****************************************************************
Local Fix:
Drop the index on AGG_COL column, which satisfies the condition 
#3 in the description.
available fix packs:
DB2 Version 10.1 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 6 for Linux, UNIX, and Windows

Solution
Problem was first fixed in DB2 version 10.1 and Fix Pack 4.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
06.12.2013
02.06.2014
02.06.2014
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
10.1.0.4 FixList