home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
14.10.xC11 FixList
12.10.xC16.X5 FixList
11.70.xC9.XB FixList
11.50.xC9.X2 FixList
11.10.xC3.W5 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

Informix - Problem description

Problem IT00258 Status: Closed

ONLINE-CDC WILL GENERATE PARTIAL RECORDS IF YOUR TABLE HAS A LAR GE ROW
SIZE. ONLINE-CDC LIMITS IFX_LO_READ() TO ONLY FETCH 32000

product:
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10
Problem description:
If your row size is over 32000 bytes. ONLINE-CDC will split the 
CDC record being return, limiting ifx_lo_read() to fetch only 
32000 bytes and the application developer must recognize that 
this is a partial record and fetch the rest of the record with 
another call to ifx_lo_read(). 
 
This behavior is not documented and appears to be a design issue 
with the Informix implementation of the CDC API. 
The only way a developer would know to do this is to reference 
the example provided in the cdcapi.ec
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users of the Informix log capture API (CDC)                  * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Refer to the cdcapi.ec sample program in the                 * 
* $INFORMIXDIR/demo/cdc directory.  Informix versions          * 
* 12.10.xC4 and later also remove an internal constraint that  * 
* in this case limited the amount of data returned in a single * 
* read call to approximately 32 KB.                            * 
****************************************************************
Local Fix:
Review cdcapi.ec and when a partial record is retrieved you must 
retrieve the rest of the record with another call to 
ifx_lo_read()
Solution
Your application cannot depend on a specific number of records 
being returned by smart large object read calls. The number of 
CDC records that are returned in a read call is not predictable 
and might not be an integral number. If a read call returns only 
part of a CDC record, the next read call 
returns more data for that record. Your application must merge 
the parts of the record that are returned in multiple read 
calls. The Change Data Capture sample program provides examples 
of merging parts of records.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
12.03.2014
07.11.2014
07.11.2014
Problem solved at the following versions (IBM BugInfos)
12.10.xC4
Problem solved according to the fixlist(s) of the following version(s)
12.10.xC4 FixList
12.10.xC5 FixList
12.10.xC5.W1 FixList