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

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

product:
DB2 FOR LUW / DB2FORLUW / 970 - 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 
garbagedata into the table, if application is providing data in 
       non-sequential order for those columns for which 
DATA_AT_EXEC isset. 
 
        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 insertthe 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:                                              * 
* This issue is reproducible in all environment supported by   * 
* db2cli. When user will try to insert interleaved data in     * 
* non-sequential order, wrong data will be inserted into       * 
* table.                                                       * 
**************************************************************** 
* 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     * 
* garbagedata into the table, if application is providing data * 
* in                                                           * 
*        non-sequential order for those columns for which      * 
* DATA_AT_EXEC isset.                                          * 
*                                                              * 
*         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 insertthe 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 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.7 Fix Pack 1 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
db2_v95fp5, db2_v97fp1 or heigher releases fixes this issue. 
After the fix user can do interleave insertion in non-sequential 
order.
Workaround
not known / see Local fix
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.7.0.1 FixList