DB2 - Problem description
| Problem IC96922 | Status: Closed |
USER-DEFINED FUNCTION WITH INDEX EXTENSION EXPLOITATION MIGHT RETURN INCORRECT RESULTS IF INDEX IS NOT PRESENT | |
| product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
| Problem description: | |
The following is an example of a UDF which might return
incorrect results:
CREATE FUNCTION PSearch (a pair, b pair)
RETURNS Integer
LANGUAGE SQL
DETERMINISTIC
NO EXTERNAL ACTION
PREDICATES
(
WHEN = 1
SEARCH BY EXACT INDEX EXTENSION PairExt
WHEN KEY (a) USE RetrieveKey (b)
WHEN KEY (b) USE RetrieveKey (a)
)
RETURN (0)
The following is a query using the UDF as a predicate:
SELECT * FROM mytable AS a
WHERE PSearch(a.column, 1) = 1
If the index does not exist, the SEARCH BY expression is not
processed and the function PSearch returns the value 0 which
results in no rows being returned. Due to the error in function
processing, all table rows might be returned. | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Update to 10.5.0.3 * **************************************************************** | |
| Local Fix: | |
Ensure that the index exists if the function is intended to be used with a table that has a defined index extension. | |
| available fix packs: | |
DB2 Version 10.5 Fix Pack 3 for Linux, UNIX, and Windows | |
| Solution | |
Problem Fixed In 10.5.0.3 | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 15.10.2013 28.02.2014 07.04.2015 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 10.5.0.3 |
|
| 10.5.0.3 |
|