DB2 - Problem description
Problem IT20786 | Status: Closed |
INCORRECT RESULT POSSIBLE WHEN CASE AND ANOTHER PREDICATE HAVE THE SAME COMPARISON OPERATION | |
product: | |
DB2 FOR LUW / DB2FORLUW / B10 - 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 11.1 Mod 2 Fix Pack 2 iFix001 or higher * **************************************************************** | |
Local Fix: | |
rewrite query to avoid this situation or install this fix. | |
available fix packs: | |
Db2 Version 11.1 Mod2 Fix Pack2 iFix001 for Linux, UNIX, and Windows | |
Solution | |
First fixed in Db2 11.1 Mod 2 Fix Pack 2 iFix001 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 26.05.2017 11.10.2017 12.10.2017 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |