The Informix CDC API returns these error codes from cdc_opensess, cdc_set_fullrowlogging, cdc_startcapture, cdc_activatesess, and the other session functions. The Ripper logs both the numeric code and the symbolic name on every CHK_CDC failure, looked up at runtime from syscdcv1.syscdcerrcodes:
[worker 0] CDC API 'cdc_startcapture' failed (rc=-83711, SQLCODE=0) [worker 0] CDC error CDC_E_TABNOTCAPTURED: The specified table is not being captured by the CDC session.
The table below is the canonical list shipped with Informix 14.10. Codes are dense in the -83700..-83802 range; gaps in the numeric column are codes that exist in the catalog but are not exposed through the public CDC API surface and the Ripper does not encounter them.
| Code | Symbolic name | Description |
|---|---|---|
| 0 | CDC_E_OK | Operation succeeded. |
| -83701 | CDC_E_NOCDCDB | The syscdcv1 database does not exist. |
| -83702 | CDC_E_APIVERS | The requested CDC API behavior version is not valid or is unsupported. |
| -83703 | CDC_E_NODB | The specified database does not exist. |
| -83704 | CDC_E_DBNOTLOGGED | The specified database is not logged. |
| -83705 | CDC_E_NOTAB | The specified table does not exist. |
| -83706 | CDC_E_TABPROPERTIES | The table properties do not support capture: it is a temporary table, a view, or otherwise not logged. |
| -83707 | CDC_E_NOCOL | The specified column does not exist. |
| -83708 | CDC_E_NOSESS | The specified CDC session does not exist. |
| -83709 | CDC_E_NOREOPEN | The CDC session cannot be reopened. |
| -83710 | CDC_E_TABCAPTURED | The specified table is already being captured by the CDC session. |
| -83711 | CDC_E_TABNOTCAPTURED | The specified table is not being captured by the CDC session. |
| -83712 | CDC_E_ARGNULL | An argument to the function has the SQL NULL value, which is not allowed. |
| -83713 | CDC_E_LSN | Data at the requested log sequence number is not available for capture. |
| -83714 | CDC_E_DIRECTION | Direction on reopen does not match the existing CDC session direction. |
| -83715 | CDC_E_DUPLSESS | A CDC session is already active. |
| -83720 | CDC_E_ARG | A parameter passed to the function is not valid. |
| -83721 | CDC_E_ARG1 | The first parameter passed to the function is not valid. |
| -83722 | CDC_E_ARG2 | The second parameter passed to the function is not valid. |
| -83723 | CDC_E_ARG3 | The third parameter passed to the function is not valid. |
| -83724 | CDC_E_ARG4 | The fourth parameter passed to the function is not valid. |
| -83725 | CDC_E_ARG5 | The fifth parameter passed to the function is not valid. |
| -83726 | CDC_E_ARG6 | The sixth parameter passed to the function is not valid. |
| -83790 | CDC_E_INTERNAL | Internal error. Contact IBM Informix Technical Support. |
| -83791 | CDC_E_NOMEM | Memory allocation failed. |
| -83792 | CDC_E_MUSTCLOSE | The CDC capture session cannot continue and must be closed. |
| -83793 | CDC_E_BADSTATE | The resource state does not allow the attempted operation. |
| -83794 | CDC_E_BADCHAR | A byte sequence that is not a valid character in the character code set was encountered. |
| -83795 | CDC_E_INTERRUPT | The CDC session was interrupted. |
| -83796 | CDC_E_LOCALEMISMATCH | The locale setting in the environment does not match the locale of the database. |
| -83797 | CDC_E_LOGWRAP | The current logical log that CDC is reading has been overwritten. |
| -83798 | CDC_E_LOGPAGE | CDC received incorrect logical log page data. |
| -83799 | CDC_E_UNIMPL | Unimplemented feature. |
| -83800 | CDC_E_OUTOFSEQ | Internal error. CDC received out-of-sequence logical log page data. |
| -83802 | CDC_E_EXPANDROW | CDC could not expand a disk compressed row. |
| Code | Most common origin |
|---|---|
| CDC_E_NOCDCDB | The Ripper connects to syscdcv1 on every worker init. If the source instance does not have CDC installed, every worker fails immediately. |
| CDC_E_DBNOTLOGGED | Source database created without WITH LOG. Re-create the database logged or run ontape -s -L 0 -B database to flip it. |
| CDC_E_NOTAB | Configured table does not exist on the source. The Ripper now falls back to the schema_archive_dir file (see Schema Safety) and skip_capture's the table when the underlying object truly is gone. |
| CDC_E_TABPROPERTIES | Table is a view / temp table / RAW table / external table — CDC can't capture from any of these. Filter the table out via the tables: exclude pattern or remove it from the configured list. |
| CDC_E_NOSESS | cdc_endcapture / cdc_closesess / ifx_lo_read on a session that no longer exists. Usually means the session timed out or another worker closed it; the existing recovery path re-opens via cdc_activatesess. |
| CDC_E_TABCAPTURED | An acquire_<tab> sentinel for a table that's still under capture. Inspect the release_ / acquire_ sentinel files under control_dir. |
| CDC_E_LSN | The start_lsn in the YAML (or the saved state_file on resume) points before the first log file currently online. The log has been recycled past that LSN. -R on the CLI forces a clean restart at end-of-log. |
| CDC_E_LOGWRAP | The Ripper was reading log N and the server recycled it before the read finished. This is the same root cause as a CDC_REC_DISCARD — CDC fell behind. Increase log size, raise the worker count, or raise max_recs_per_read. |
| CDC_E_BADSTATE | API call out of order, e.g. cdc_startcapture before cdc_set_fullrowlogging(1). The Ripper's init serializes these via init_mutex; a BADSTATE in the wild usually means a stale session left over from a prior crash — clear it via the cleanup_orphans startup sweep. |
| CDC_E_LOCALEMISMATCH | The Ripper's CLIENT_LOCALE / DB_LOCALE environment doesn't match what the source DB was created with. Set the env in /etc/oni_ripper/environment. |
To discuss how Oninit ® can assist please call on +1-913-732-8892 or alternatively just send an email specifying your requirements.
You get all this for free.. think about what you get if you pay us