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 IC67484 Status: Closed

SQL338N IS RETURNED WHEN AN ON CLAUSE OF A JOIN OPERATION REFERENCES
A COMPILED SQL FUNCTION

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
SQL338N IS RETURNED WHEN AN ON CLAUSE OF A JOIN OPERATION 
REFERENCES A COMPILED SQL FUNCTION 
 
Example: 
 
  create table Ta (c1 int); 
  create table Tb (c1 int); 
 
  create function plus10 (x int) 
  returns int 
  begin 
     return x + 10;-- 
  end; 
 
  select Ta.c1, Tb.c1 
  from Ta left join Tb on Ta.c1 = plus10 (Tb.c1) 
  order by 1,2; 
  SQL0338N  An ON clause associated with a JOIN operator or in a 
MERGE statement 
  is not valid.  SQLSTATE=42972
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All users.                                                   * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* SQL338N IS RETURNED WHEN AN ON CLAUSE OF A JOIN OPERATION    * 
*                                                              * 
* REFERENCES A COMPILED SQL FUNCTION                           * 
*                                                              * 
*                                                              * 
*                                                              * 
* Example:                                                     * 
*                                                              * 
*                                                              * 
*                                                              * 
*   create table Ta (c1 int);                                  * 
*                                                              * 
*   create table Tb (c1 int);                                  * 
*                                                              * 
*                                                              * 
*                                                              * 
*   create function plus10 (x int)                             * 
*                                                              * 
*   returns int                                                * 
*                                                              * 
*   begin                                                      * 
*                                                              * 
*     return x + 10;--                                         * 
*                                                              * 
*   end;                                                       * 
*                                                              * 
*                                                              * 
*                                                              * 
*   select Ta.c1, Tb.c1                                        * 
*                                                              * 
*   from Ta left join Tb on Ta.c1 = plus10 (Tb.c1)             * 
*                                                              * 
*   order by 1,2;                                              * 
*                                                              * 
*   SQL0338N  An ON clause associated with a JOIN operator or  * 
* in a                                                         * 
* MERGE statement                                              * 
*                                                              * 
*   is not valid.  SQLSTATE=42972                              * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 V9.7 Fix Pack 2 or above.                     * 
****************************************************************
Local Fix:
Implement the function as external UDF (e.g. in Language C or 
Java).
available fix packs:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Issue has been fixed in DB2 V9.7 Fix Pack 2.
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC67552 IC67575 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
26.03.2010
23.04.2010
23.04.2010
Problem solved at the following versions (IBM BugInfos)
9.7.FP2
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.2 FixList