DB2 - Problem description
Problem IT09419 | Status: Closed |
INCORRECT RESULT WHEN QUERY HAS LEFT OUTER JOIN AND UNION ALL | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
A query might return incorrect query result when it has all the following characteristics: - The query has a UNION ALL query block, e.g. (select * from table1 UNION ALL select * from table2), called uaSubQ. - The query has LEFT OUTER JOIN query block, whose row preserving side includes base table(s) and null producing side is uaSubQ, e.g. (select ... from table3 LEFT OUTER JOIN uaSubQ on ... where <predUaT3>) , called lojSubQ. - <predUaT3> is a comparison predicate, which references column(s) from both uaSubQ and table3. The predicate expression consists of CASE expression that has WHEN clause predicate, which tests if the null producing side column is null, e.g. "WHEN uaSubQ.column IS NULL". To find whether a query hits this problem, you can generate db2exfmt plan and search if "ROWNUMBER" OnLine Analytical Processing (OLAP) function is present in the optimized statement section. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 10.5 and Fix Pack 7 * **************************************************************** | |
Local Fix: | |
Compile query at optimization level 0 or 1. | |
Solution | |
Problem was first fixed in DB2 Version 10.5 and Fix Pack 7 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 11.06.2015 20.01.2016 11.07.2016 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.7 |