home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
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
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC67992 Status: Closed

QUERY AGAINST SYSCAT.MODULES MAY RETURN UNEXPECTED RESULT SET IN ORACLE
COMPATIBLE DATABASE

product:
DB2 FOR LUW / DB2FORLUW / 980 - DB2
Problem description:
On a database created with Oracle compatibilty (e.g. 
DB2_COMPATIBILITY_VECTOR=ORA), query against catalog view 
SYSCAT.MODULES may return unexpected result set if any predicate 
references the column DIALECT. In the case where the length of 
the DIALECT value is less than 10, the view text definition 
causes the value to be blank-padded in the end. 
 
For example, 
 
db2 "select  DIALECT from SYSCAT.MODULES where 
MODULENAME='PACKAGE2' AND DIALECT = 'PL/SQL'" 
DIALECT 
---------- 
  0 record(s) selected. 
 
db2 "select  DIALECT from SYSCAT.MODULES where 
MODULENAME='PACKAGE2' AND DIALECT = 'PL/SQL    '" 
 
 
DIALECT 
---------- 
PL/SQL 
 
  1 record(s) selected. 
 
Some side-effects include hitting SQL0204N error when deploying 
a PL/SQL package after copying it from the data source explorer 
to data project explorer on Optim Development Studio (ODS).
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* Catalog views SYSCAT.MODULES and SYSCAT.MODULEOBJECTS havea  * 
* CASE expression wrapped by a CAST function intheir           * 
* definition. The CASE expression, when evaluatedunder         * 
* VARCHAR2_COMPAT on, has a result type of CHAR(n)because the  * 
* literals are fixed chars so the column valuewill end up with * 
* with length of n (the column length) byadding trailing       * 
* blanks even if the actual value is less thann.               * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to version 9.8 fixpack 3                             * 
****************************************************************
Local Fix:
Manually blank-pad the string being compared to column DIALECT 
until the length is 10.
available fix packs:
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

Solution
This was first fixed in V98 FP3
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
18.04.2010
10.01.2011
10.01.2011
Problem solved at the following versions (IBM BugInfos)
9.8.FP3
Problem solved according to the fixlist(s) of the following version(s)
9.8.0.3 FixList