DB2 - Problem description
| Problem IC83957 | Status: Closed |
SQL/PL SQLEXCEPTION HANDLER DOES NOT HANDLE SQL0973N CORRECTLY | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - 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 970 fixpack 7 * **************************************************************** | |
| Local Fix: | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows | |
| Solution | |
Problem is fixed in DB2 version 970 fixpack 7 | |
| Workaround | |
not known / see Local fix | |
| BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC87896 follow-up : | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 05.06.2012 29.01.2013 29.01.2013 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.0 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.7 |
|