Extra Columns for Capture, Fail and History Tables

Last updated on Aug 08, 2022

Capture, Fail, and History tables are created automatically by HVR. They are for reference only and cannot be altered manually. These tables contain information about data capture, replication failures, and changes history. Each capture, fail or history table created by HVR contains columns from the replicated table it serves, plus extra columns. These columns contain information about what the captured operation was and where it must be sent.

The following extra columns can appear in Capture, Fail or History tables:





float or byte10 on Ingres,
numeric on Oracle,
timestamp on SQL Server

Sequence in which capture triggers were fired. Operations are replayed on integrate databases in the same order, which is important for consistency.



Transaction ID of captured change. This number is unique at any moment (each open transaction has a unique number) but may not be increasing.



Sequence number of transaction. For log–based capture this value can be mapped to the Ingres LSN or the Oracle SCN of the transaction's commit statement.



Countdown of change within transaction, for example if a transaction contains three changes the first change would have countdown value 3, then 2, then 1. A value of zero indicates that commit information is missing for that change.



Operation type. Values are

  • 0 - Delete
  • 1 - Insert
  • 2 - After update
  • 3 - Before key update
  • 4 - Before non–key update
  • 5 - Truncate table
  • 6 – Verbose row-wise compare or refresh before insert and delete
  • 7 – UI row-wise compare or refresh
  • 8 - Delete affecting multiple rows
  • 10 – Resilient variant of 0
  • 11 – Resilient variant of 1
  • 12 – Resilient variant of 2
  • 13 – Resilient variant of 3
  • 20 Poor delete, with missing values
  • 21 Poor insert, with missing values
  • 22 - Poor update with missing values
  • 30 Resilient variant of 20
  • 31 Resilient variant of 21
  • 32 - Resilient variant of 22
  • 41 – Variant of 21 with augmented values
  • 42 – Variant of 22 with augmented values
  • 51 – Resilient variant of 41
  • 52 - Resilient variant of 42

A key–update sometimes appears as a before update followed by an after update, but is sometimes converted into a delete followed by an insert. A before non–key update row (hvr_op=4) can be removed by defining action Capture with parameter NoBeforeUpdate. During an on-line refresh, a delete, insert and delete can be 'in-doubt'; these are shown as 10, 11 and 12 respectively. To ignore this 'in-doubt' information, use mod(10) to convert these back to 0, 1 or 2.

Burst Integrate (Method=BURST) will convert a key update (hvr_op 3 then 2) into a delete+insert pair (hvr_op 0 then 1).



Name of location on which the change was captured.


normally date, sometimes integer (number of seconds since 1st Jan 1970 GMT)

Timestamp of captured change. For log-based capture, this is the time that the change was committed (it did not logically "exist" before that moment). For trigger-based capture, this is when the DML statement itself was triggered. If HVR refresh fills this value, it uses the time that the refresh job started.



Name of user who performed captured change. Supported only on few DBMSs, see capabilities Populates column hvr_cap_user for use in ColumnProperties {hvr_cap_user} substitutions.



Address of target location for change. Only set if action Restrict is defined with parameter HorizColumn.



Time at which integration error occurred. Written into fail table.


long string

Integration error message written into fail table.



Mask showing which column values were missing or not updated. For example value –––– m could mean that log–based capture of an update is missing a value for the second last column of a table.