DB2 - Problembeschreibung
Problem IC95522 | Status: Geschlossen |
THE QUERY STATEMENT WITH A SUBQUERY PREDICATE MIGHT NOT RETURN ROWS AFTER ENABLING DB2_COMPATIBILITY_VECTOR=ORA | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problembeschreibung: | |
The following are the necessary conditions that might cause the problem of "0 record(s) selected" to occur: - The DB2_COMPATIBILITY_VECTOR registry variable is set to ORA - A "X IN (select Y from <subquery>)" query predicate. - X is the CHAR type, and Y is the VARCHAR type. To verify that this problem has occurred in your query, generate the db2exfmt command and search if the optimized statement contains the following: - "(Q<num>.X >= $C3 )" - "(Q<num>.X <= $C2)" Also, check to see if the plan details contain: - "(ORA_VARCHAR(Q<num>.X) <= $C1 )" - "(ORA_VARCHAR((Q<num>.X)>= $C0)". | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * ALL USERS * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to v10.5 FP3 or use the local fix as workaround. * **************************************************************** | |
Local-Fix: | |
Rewrite the IN predicate to the EXISTS predicate: select * from table1 where pk_alansawyer in (select pk_christine from table2); to select * from table1 where exists (select 1 from table2 where pk_alansawyer = pk_christine); | |
verfügbare FixPacks: | |
DB2 Version 10.5 Fix Pack 3 for Linux, UNIX, and Windows | |
Lösung | |
The problem has been fixed in v10.5 FP3 | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 27.08.2013 28.02.2014 07.04.2015 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
Problem behoben lt. FixList in der Version | |
10.5.0.3 | |
10.5.0.3 |