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

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

product:
DB2 FOR LUW / DB2FORLUW / 980 - 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.8 Fix Pack 3 or above.                     * 
****************************************************************
Local Fix:
Implement the function as external UDF (e.g. in Language C or 
Java).
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
Issue has been fixed in DB2 V9.8 Fix Pack 3.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
30.03.2010
23.12.2010
23.12.2010
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