DB2 - Problem description
Problem IC65010 | Status: Closed |
SYSIBM.INSERT AND SYSIBM.OVERLAY SCALAR FUNCTIONS RETURN SQL0138N, IF LENGTH>LENGTH(SOURCE-STRING)-START+1. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
The scalar functions SYSIBM.INSERT and SYSIBM.OVERLAY do not allow a length argument that is greater than the length of the string-expression - start + 1. This behaviour is incompatible with SYSFUN.INSERT, and exisitng applications might fail with SQL0138N. For example: $ db2 values INSERT('12345', 3, 4, 'abc') 1 -------- SQL0138N A numeric argument of a built-in string function is out of range. SQLSTATE=22011 As SYSIBM.OVERLAY works as the same manner as SYSIBM.INSERT, OVERLAY also needs to be changed.SYSIBM.INSERT and SYSIBM.OVERLAY will allow any 0 < length < 2147483647 (maximum positive INTEGER value), if it means that it is beyond the end of source-string, we will replace everything starting at "start" position. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users who use SYSIBM.INSERT or SYSIBM.OVERLAY scalar * * functions. * **************************************************************** * PROBLEM DESCRIPTION: * * The scalar functions SYSIBM.INSERT and SYSIBM.OVERLAY do not * * allow a length argument that is greater than the length of * * the string-expression - start + 1. * * This behaviour is incompatible with SYSFUN.INSERT, and * * exisitng applications might fail with SQL0138N. * * For example: * * * * $ db2 values INSERT('12345', 3, 4, 'abc') * * * * 1 * * -------- * * SQL0138N A numeric argument of a built-in string function * * is out of range. * * SQLSTATE=22011 * * * * As SYSIBM.OVERLAY works as the same manner as SYSIBM.INSERT, * * OVERLAY also needs to be changed.SYSIBM.INSERT and * * SYSIBM.OVERLAY will allow any 0 < length < 2147483647 * * (maximum positive INTEGER value), if it means that it is * * beyond the end of source-string, we will replace everything * * starting at "start" position. * **************************************************************** * RECOMMENDATION: * * Please upgrade to version 9.7 fixpack 2 or later. * **************************************************************** | |
Local Fix: | |
Please use SYSFUN.INSERT instead of SYSIBM.INSERT (default in v9.5 or later). | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in Version 9.7 Fix Pack 2. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 07.12.2009 02.09.2010 02.09.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 | |
9.7.0.3 | |
9.7.0.3 |