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

INTERLEAVE INSERTION IN NON-SEQUENTIAL ORDER INSERTS WRONG DATA IN COLUMN

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
If cli driver is used to insert data into table of a database 
and sql_attr_interleaved_putdata is set, CLI will insert garbage 
data into the table, if application is providing data in 
non-sequential order for those columns for which DATA_AT_EXEC is 
set. 
 
If interleaving is enabled, we can provide data in columns for 
which DATA_AT_EXEC is set using the combination of SQLParamData 
and SQLPutData in non-sequential order. But, CLI does not insert 
the data in the intended column. For example : 
 
Create a table whose columns are like : c1 int, c2 clob(1K), c3 
clob(1K), c4 clob(1K). 
enable DATA_AT_EXEC for last 3 lob columns. 
Now, give the data in the following order : 
for C2 - AAAA, 
for C4 - aaa, 
again for C2 - AAAA, 
and then for C3 - 11. 
 
After insertion of data in the table , run the select query or 
Fetch the data from the table, the output will be as below : 
 C1  C2          C3     C4 
10, AAAAAAAA, aaa11, "" 
 
For correct behaviour of CLI, the output should be: 
10, AAAAAAAA, 11, aaa
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* problem can occur in all environment where db2 can be used.  * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* If cli driver is used to insert data into table of a         * 
* database                                                     * 
* and sql_attr_interleaved_putdata is set, CLI will insert     * 
* garbage                                                      * 
* data into the table, if application is providing data in     * 
*                                                              * 
* non-sequential order for those columns for which             * 
* DATA_AT_EXEC is                                              * 
* set.                                                         * 
*                                                              * 
*                                                              * 
*                                                              * 
* If interleaving is enabled, we can provide data in columns   * 
* for                                                          * 
* which DATA_AT_EXEC is set using the combination of           * 
* SQLParamData                                                 * 
* and SQLPutData in non-sequential order. But, CLI does not    * 
* insert                                                       * 
* the data in the intended column. For example :               * 
*                                                              * 
*                                                              * 
*                                                              * 
* Create a table whose columns are like : c1 int, c2 clob(1K), * 
* c3                                                           * 
* clob(1K), c4 clob(1K).                                       * 
*                                                              * 
* enable DATA_AT_EXEC for last 3 lob columns.                  * 
*                                                              * 
* Now, give the data in the following order :                  * 
*                                                              * 
* for C2 - AAAA,                                               * 
*                                                              * 
* for C4 - aaa,                                                * 
*                                                              * 
* again for C2 - AAAA,                                         * 
*                                                              * 
* and then for C3 - 11.                                        * 
*                                                              * 
*                                                              * 
*                                                              * 
* After insertion of data in the table , run the select query  * 
* or                                                           * 
* Fetch the data from the table, the output will be as below : * 
*                                                              * 
* C1  C2          C3     C4                                    * 
*                                                              * 
* 10, AAAAAAAA, aaa11, ""                                      * 
*                                                              * 
*                                                              * 
*                                                              * 
* For correct behaviour of CLI, the output should be:          * 
*                                                              * 
* 10, AAAAAAAA, 11, aaa                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Give the column data in sequential order. Upgrade to         * 
* db2_v95fp5 or v97fp1 or                                      * 
* heigher version.                                             * 
****************************************************************
Local Fix:
Give the column data in sequential order. v95fp5 or v97fp1 or 
heigher version fixes this issue.
available fix packs:
DB2 Version 9.5 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 6a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Solution
db2_v95fp5, db2_v97fp1 or later releases has the fix.
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC62999 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
04.09.2009
22.12.2009
22.12.2009
Problem solved at the following versions (IBM BugInfos)
9.7.FP1
Problem solved according to the fixlist(s) of the following version(s)
9.5.0.5 FixList