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

SQL/PL SQLEXCEPTION HANDLER DOES NOT HANDLE SQL0973N CORRECTLY

product:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problem description:
When memory cannot be allocated at SQL executing in a stored 
procedure, it returns a SQL0973N (-973). However, any 
sqlexception handler does not 
return any error because it fails to handle SQL0973N (-973) and 
the subsequent processing is 
successful unexpectedly. 
 
Consider the following example: 
 
update db cfg for testdb using APPL_MEMORY 2000 
 
CREATE OR REPLACE PROCEDURE memtest 
BEGIN 
  DECLARE var1 CLOB(2M); 
  DECLARE var2 CLOB(2M); 
  DECLARE var3 CLOB(2M); 
  CALL DBMS_OUTPUT.PUT_LINE('MEMTESTPROC'); 
END@ 
 
BEGIN 
  DECLARE SQLCODE INT; 
  DECLARE msg VARCHAR(1024); 
  DECLARE EXIT HANDLER FOR SQLEXCEPTION 
  BEGIN 
    GET DIAGNOSTICS EXCEPTION 1 msg = MESSAGE_TEXT; 
    CALL DBMS_OUTPUT.PUT_LINE('ERROR '||SQLCODE||' '|| 
NVL(msg,'NULL')); 
  END; 
  CALL memtest(); 
  GET DIAGNOSTICS EXCEPTION 1 msg = MESSAGE_TEXT; 
  CALL DBMS_OUTPUT.PUT_LINE('OK '||SQLCODE||' '|| 
NVL(msg,'NULL')); 
END@ 
---------------------------- 
Output: 
OK 0 SQL0973N  Not enough storage is available in the 
"application shared" heap or stack to process the statement. 
SQLSTATE=00000 
 
In this case, even though the SQLCODE is non-zero, it is not 
correctly mapped to the relevant SQLSTATE. This leads the 
Exception handler to think that the statement was successful.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 version 1010 fixpack 2                        * 
****************************************************************
Local Fix:
available fix packs:
DB2 Version 10.1 Fix Pack 2 for Linux, UNIX, and Windows
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

Solution
Fixed in DB2 version 1010 fixpack 2
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
04.11.2012
17.01.2013
17.01.2013
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
10.1.0.2 FixList
10.5.0.2 FixList