DB2 - Problem description
Problem IC71704 | Status: Closed |
DATE PREDICATES INCORRECTLY OPTIMIZED IN QUERY REWRITE. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
During query rewrite a date predicate is rewritten incorrectly. The Date arithmetic is not properly applied and the resulting optimized statement is not syntactically equivalent to the original query. For an example: Original Statement: ------------------ select f02date from datetbl where (f02date + 2 month) = '2004-02-29' Optimized Statement: ------------------- SELECT Q1.F02DATE AS "F02DATE" FROM MYSCHEMA.DATETBL AS Q1 WHERE (Q1.F02DATE = '12/29/2003') As a result the return set will not contain rows that match the predicate. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users In V97 * **************************************************************** * PROBLEM DESCRIPTION: * * During query rewrite a date predicate is rewritten * * incorrectly. * * The Date arithmetic is not properly applied and the * * resulting * * optimized statement is not syntactically equivalent to the * * * * original query. * * * * * * * * For an example: * * * * * * * * Original Statement: * * * * ------------------ * * * * select f02date * * * * from datetbl * * * * where (f02date + 2 month) = '2004-02-29' * * * * * * * * * * * * Optimized Statement: * * * * ------------------- * * * * SELECT Q1.F02DATE AS "F02DATE" * * * * FROM MYSCHEMA.DATETBL AS Q1 * * * * WHERE (Q1.F02DATE = '12/29/2003') * * * * * * * * As a result the return set will not contain rows that match * * the * * predicate. * **************************************************************** * RECOMMENDATION: * * We recomend applying FP4. It might be possible to rewrite * * the query to avoid the issue * **************************************************************** | |
Local Fix: | |
Rewriting the query by placing all constant terms on one side of the predicate might avoid the problem. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows | |
Solution | |
Problem fixed first in FP4 | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC71959 IC71961 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 05.10.2010 19.05.2011 19.05.2011 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.4 |