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

DB2 MAY ABEND WHILE COMPILING QUERY WITH ALWAYS FALSE PREDICATE AT LEFT
OUTER JOIN ON CLAUSE

product:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problem description:
DB2 may crash during query compilation when the following 
conditions are both met: 
1. Query has left outer join "TABLE_A LEFT OUTER JOIN TABLE_B ON 
..." 
2. The ON clause includes always false predicate, e.g."'a' || 
col1 = 'b' || col2" 
3. (Optional) The ON clause include OR predicates which can be 
factorized into common parts, eg. "(col1=col2 and col3 < 10) or 
(col1=col2 and col3 > 50)" 
 
A known call stack of this crash is: 
 
0        sqlnr_matchmaker::nav_assign_max_levels 
1        sqlnr_matchmaker::nav_assign_max_levels 
2        sqlnr_matchmaker::nav_assign_max_levels 
3        sqlnr_matchmaker::nav_assign_max_levels 
4        sqlnr_matchmaker::nav_assign_max_levels 
5        sqlnr_matchmaker::nav_assign_max_levels 
6        sqlnr_matchmaker::nav_init 
7        sqlnr_matchmaker::form_matches 
8        sqlnr_form_common_subexprs 
9        sqlnr_optprep 
10       sqlnr_optprep_action 
11       sqlnr_comp 
12       sqlnr_comp 
13       sqlnr_seq 
 
 
Another know call stack for this issue is the following: 
 
0        sqlnq_qnc::is_RIDC_qnc 
1        sqlnq_pid::UDT_colequiv_exp 
2        sqlnr_build_equiv 
3        sqlnr_coleq_class_action 
4        sqlnr_comp 
5        sqlnr_seq 
6        sqlnr_rcc 
7        sqlnr_endqtb_action 
8        sqlnr_comp 
9        sqlnr_seq 
10       sqlnr_rcc 
11       sqlnr_start_action 
12       sqlnr_comp 
13       sqlnr_seq 
14       sqlnr_rcc 
15       sqlnr_exe 
16       sqlnn_cmpl
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 Version 10.1 and Fix Pack 4                   * 
****************************************************************
Local Fix:
1) Rewrite the always false predicate "'a' || col1 = 'b' || 
col2" to "1=0". 
2) Rewrite the query to contain factorized predicate "col1=col2 
and (col3 < 10 or col3 > 50)"
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       :
30.08.2013
08.07.2014
08.07.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