Shadow columns

Shadow columns are hidden columns on replicated tables that contain values that are supplied by the database server. The database server uses shadow columns to perform internal operations.

You can add shadow columns to your replicated tables with the CREATE TABLE or ALTER TABLE statement. To view the contents of shadow columns, you must explicitly specify the columns in the projection list of a SELECT statement; shadow columns are not included in the results of SELECT * statements.

The CRCOLS shadow columns, cdrserver and cdrtime, support conflict resolution. These two columns are hidden shadow columns because they cannot be indexed and cannot be viewed in the system catalog tables. In an update-anywhere replication environment, you must provide for conflict resolution using a conflict resolution rule. When you create a table that uses the time stamp, time stamp plus SPL, or delete wins conflict resolution rule, you must define the shadow columns, cdrserver and cdrtime on both the source and target replication servers. If you plan to use only the ignore or always-apply conflict resolution rule, you do not need to define the cdrserver and cdrtime shadow columns for conflict resolution.

The REPLCHECK shadow column, ifx_replcheck, supports faster consistency checking. This column is a visible shadow column because it can be indexed and can be viewed in the system catalog table. If you want to improve the performance of the cdr check replicate or cdr check replicateset commands, you can add the ifx_replcheck shadow column to the replicate table, and then create an index that includes the ifx_replcheck shadow column and your replication key columns.

The ERKEY shadow columns, ifx_erkey1, ifx_erkey2, and ifx_erkey3, are used as the replication key on replicated tables. If you create replicated tables through a grid, these ERKEY columns are automatically added.