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 IC66601 Status: Geschlossen

SQL0901N MAY BE ISSUED COMPILING A QUERY CONTAINING A TABLE WITH DEPENDENT
MQT(S) AND A NON-EQUALITY PREDICATE

Produkt:
DB2 FOR LUW / DB2FORLUW / 980 - DB2
Problembeschreibung:
SQLCODE SQL0901N may be issued compiling a query that satisfies 
the following conditions: 
- There are 2 or more base tables in the query 
- At least one of the base tables (BT) has dependent MQT(s) 
- There is a non-equality predicate (PRD) that references 2 or 
more tables 
- None of the dependent MQTs has the BT column referenced in PRD 
- Other non-BT column(s) referenced in PRD can be mapped to BT 
column(s) via equivalence 
 
An example scenario: 
 
-- DDL 
CREATE TABLE T1 (ID INTEGER); 
CREATE TABLE T2 (ID INTEGER, TXTID CHAR(8)); 
 
SET CURRENT REFRESH AGE ANY; 
CREATE TABLE T2_MQT AS (SELECT ID FROM T2) DATA INITIALLY 
DEFERRED REFRESH DEFERRED; 
REFRESH TABLE T2_MQT; 
 
-- Query 
SELECT  T1.ID 
FROM    T1, 
        T2 
WHERE   (   T2.TXTID = '12345678' -- <-- PRD: TXTID not 
referenced in T2_MQT 
         OR T1.ID = 12345678)     -- <-- PRD: T1.ID maps to 
T2.ID via equivalence 
AND     T1.ID = T2.ID             -- <-- provides equivalence 
for T2.ID 
; 
 
-- -901 issued 
SQL0901N  The SQL statement failed because of a non-severe 
system error. 
Subsequent SQL statements can be processed. 
(Reason "qnc was not found when expected".)  SQLSTATE=58004
Problem-Zusammenfassung:
USERS AFFECTED: All 
 
PROBLEM DESCRIPTION: 
 
see ERROR DESCRIPTION 
 
PROBLEM SUMMARY: 
 
see ERROR DESCRIPTION
Local-Fix:
- Alter the CURRENT QUERY OPTIMIZATON special register to a 
value of 0, 1 or 3 
 
- If the problematic MQT(s) have been identified, add the 
missing column(s) to their output, i.e., define T2_MQT as: 
CREATE TABLE T2_MQT AS (SELECT ID, TXTID FROM T2) DATA INITIALLY 
DEFERRED REFRESH DEFERRED; 
 
- Rewrite PRD to a semantically equivalent form that precludes 
the conditions specified above, i.e.,: 
  (T2.TXTID = '12345678' OR T2.ID = 12345678)
verfügbare FixPacks:
DB2 Version 9.8 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.8 Fix Pack 4 for AIX and Linux
DB2 Version 9.8 Fix Pack 5 for AIX and Linux

Lösung
The complete fix for this problem first appears in DB2 UDB 
Version 9.8 FixPak 3.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
23.02.2010
30.12.2010
30.12.2010
Problem behoben ab folgender Versionen (IBM BugInfos)
9.8.
Problem behoben lt. FixList in der Version
9.8.0.3 FixList