home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC91683 Status: Geschlossen

SQL0901 ERROR IN DPF WHEN COMPILING A QUERY WITH AN EQUALITY PREDICATE
REFERENCING A NULL CONSTANT

Produkt:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problembeschreibung:
You might encounter an SQL0901 error with reason "getting 
canonical type length" and producing the following stack trace 
 
sqlnn_cmpl 
sqlng_main 
sqlng_main 
sqlng_build_thread 
sqlng_process_return_op 
sqlng_process_TQ_op 
sqlng_build_thread 
sqlng_process_pipe_op 
sqlng_process_mate_op 
sqlng_process_hsjn_op 
sqlng_build_thread 
sqlng_process_TQ_op 
sqlng_build_thread 
sqlng_build_TQB_op 
sqlng_populate_COLBLOCK_ob 
 
when compiling a query consisting of a non-collocated join 
between two or more tables that are hash distributed across two 
or more database partitions, and the join columns also equate to 
the NULL constant.  The following is an example that might 
produce the SQL0901 error: 
 
create table i1 (a int, b int) distribute by hash (a); 
create table i2 (a int, b int) distribute by hash (a); 
 
select * from i1,i2 where i1.b=i2.b and i2.b = null ; 
 
In this example, the join is not collocated, so the optimizer 
can consider both a broadcast join or a repartition join.  The 
decision is cost-based, and the problem only occurs if the 
repartition join is chosen.
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* The problem can occur in a DPF environment.                  * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 version 10.1 Fix Pack 3.                      * 
****************************************************************
Local-Fix:
You might be able to avoid the error by re-ordering the 
predicates in the WHERE clause such that the equality predicate 
referencing the NULL constant is included before the join 
predicate referencing the same column.  Using the example in the 
error description, re-ordering the predicates as follows could 
avoid the error:  "where i2.b = null and i1.b=i2.b".
verfügbare FixPacks:
DB2 Version 10.1 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 6 for Linux, UNIX, and Windows

Lösung
Problem first fixed in DB2 version 10.1 Fix Pack 3
Workaround
See Local Fix.
Bug-Verfolgung
Vorgänger  : APAR is sysrouted TO one or more of the following: IC94476 IC95322 
Nachfolger : 
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
19.04.2013
23.07.2013
23.07.2013
Problem behoben ab folgender Versionen (IBM BugInfos)
Problem behoben lt. FixList in der Version
10.1.0.3 FixList
10.1.0.3 FixList