DB2 - Problem description
Problem IT20790 | Status: Closed |
INCORRECT RESULT POSSIBLE WHEN CASE AND ANOTHER PREDICATE HAVE THE SAME COMPARISON OPERATION | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
If SQL against COLUMNAR table has 2 predicates , one of them CASE and part of the CASE or entire CASE condition matches the other predicate, then we could eliminate the second predicate by mistake. Example: SELECT * FROM T WHERE ( SUBSTR(A,1,1) = 'B' ) AND CASE WHEN ( SUBSTR(A,1,1) = 'B' ) THEN B ELSE B END <> 0 ( SUBSTR(A,1,1) = 'B' ) is used as it's own predicate AND as condition in CASE statement. In some cases we could lose this predicate and only apply CASE WHEN ( SUBSTR(A,1,1) = 'B' ) THEN B ELSE B END <> 0 which will return extra rows. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to Db2 10.5 Fix Pack 9 or higher * **************************************************************** | |
Local Fix: | |
rewrite query to avoid this situation or install this fix. | |
Solution | |
First fixed in Db2 10.5 Fix Pack 9 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 29.05.2017 29.09.2017 12.10.2017 |
Problem solved at the following versions (IBM BugInfos) | |
9.0. | |
Problem solved according to the fixlist(s) of the following version(s) |