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

FED: A QUERY INVOLVING INSERT/UPDATE/DELETE IN DPF MODE CAN RETURN A
SQL0901N "EMPTY PLAN LIST" ERROR

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
A query involving insert/update/delete in DPF mode can return a 
SQL0901N error with message "Empty plan list detected". 
 
 
Example: 
 
INSERT INTO T1 (INFO) 
(SELECT INFO 
 FROM   T2 w 
      JOIN 
        T3 e 
      ON(w.EMP_ID=e.EMP_ID) 
WHERE 
      NOT  EXISTS ( SELECT '1' 
              FROM N1 m 
              WHERE m.ID = w.ID 
            ) 
ORDER BY CD, ID ASC); 
DB21034E  The command was processed as an SQL statement because 
it was not a 
valid Command Line Processor command.  During SQL processing it 
returned: 
SQL0901N  The SQL statement failed because of a non-severe 
system error. 
Subsequent SQL statements can be processed.  (Reason "Empty plan 
list 
detected!".)  SQLSTATE=58004
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* all platforms                                                * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* A query involving insert/update/delete in DPF mode can       * 
* return a                                                     * 
* SQL0901N error with message "Empty plan list detected".      * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
* Example:                                                     * 
*                                                              * 
*                                                              * 
*                                                              * 
* INSERT INTO T1 (INFO)                                        * 
*                                                              * 
* (SELECT INFO                                                 * 
*                                                              * 
* FROM  T2 w                                                   * 
*                                                              * 
*       JOIN                                                   * 
*                                                              * 
*         T3 e                                                 * 
*                                                              * 
*       ON(w.EMP_ID=e.EMP_ID)                                  * 
*                                                              * 
* WHERE                                                        * 
*                                                              * 
*       NOT  EXISTS ( SELECT '1'                               * 
*                                                              * 
*               FROM N1 m                                      * 
*                                                              * 
*               WHERE m.ID = w.ID                              * 
*                                                              * 
*             )                                                * 
*                                                              * 
* ORDER BY CD, ID ASC);                                        * 
*                                                              * 
* DB21034E  The command was processed as an SQL statement      * 
* because                                                      * 
* it was not a                                                 * 
*                                                              * 
* valid Command Line Processor command.  During SQL processing * 
* it                                                           * 
* returned:                                                    * 
*                                                              * 
* SQL0901N  The SQL statement failed because of a non-severe   * 
*                                                              * 
* system error.                                                * 
*                                                              * 
* Subsequent SQL statements can be processed.  (Reason "Empty  * 
* plan                                                         * 
* list                                                         * 
*                                                              * 
* detected!".)  SQLSTATE=58004                                 * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* upgrade to version 9.5.9                                     * 
****************************************************************
Local Fix:
Use cursor to do the insert/update/delete
available fix packs:
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Solution
v95 fp 9 
Customer won't see the error of "Empty plan list"
Workaround
n/a
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
02.05.2011
12.07.2011
12.07.2011
Problem solved at the following versions (IBM BugInfos)
9.5.9,
9.5.FP9
Problem solved according to the fixlist(s) of the following version(s)
9.5.0.9 FixList