DB2 - Problem description
Problem IT09831 | Status: Closed |
INCORRECT RESULT WHEN QUERY HAS LEFT OUTER JOIN AND UNION ALL | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - 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 9.7.0.11. * **************************************************************** | |
Local Fix: | |
Compile query at optimization level 0 or 1. | |
Solution | |
The problem is first fixed in DB2 version 9.7.0.11. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 02.07.2015 06.10.2015 06.10.2015 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.0.11 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.11 |