Reduce the Use of Replication Definitions and Subscriptions

In a replication system containing only Adaptive Server databases, you can reduce the need for replication definitions for tables in a warm standby environment or multisite availability (MSA) environment because RepAgent for Adaptive Server uses Log Transfer Language (LTL) to specify a table or column name that may be quoted, and whether a table column is part of the table primary key.

Since RepAgent sends the primary key and quoted identifier information to Replication Server, you do not need a replication definition if the sole purpose of the replication definition is to specify primary key and quoted identifier information. The reduced requirement for replication definitions makes it easier to manage a replication environment involving databases with many tables, tables with many columns, or tables with frequent schema changes. Replication performance improves for tables that are currently without replication definitions, as RepAgent directly provides Replication Server with table primary key information, so that Replication Server packs only the primary key columns in the where clauses of update, delete, and select commands.

You do not need to create a replication definition for a primary table if the sole purpose of the replication definition is to specify some or all of the following:

Primary Key Columns and where Clause Packing in Warm Standy and Multisite Availability Environments

The presence or absence of a table replication definition determines how primary key columns are packed in the where clause for a database.
  • When a replication definition is subscribed by a MSA database, its primary key columns are used for the where clause packing for the database.
  • When a replication definition is marked send standby replication definition columns or send standby all columns, primary key columns of the replication definition are used for the where clause packing for the standby and the MSA databases that do not have a subscription to any of the replication definitions of the same table.
  • When there are one or more replication definitions for a table, and none of them are marked send standby, Replication Server uses the union of the primary key columns for the replication definitions for the where clause packing for the standby and MSA databases that do not have subscriptions to any of the replication definitions for the table.
  • When there is no replication definition for a table, and LTL sends information about the primary key, the primary key columns indicated by the LTL are used for the where clause packing.
  • When there is no replication definition for a table, and a LTL command does not indicate any primary column, all columns except text, image, and unitext columns are used for the where clause packing.

See Replication Server Administration Guide Vol 2 > Manage Warm Standby Applications.

Quoted Table and Column Names and Replication Definitions

When Replication Server packs a DML command for the target database, and if there are one or more replication definitions for the table, Replication Server decides that a table or column name should be quoted according to a replication definition if the replication definition is:

  • Subscribed by a MSA database.
  • Marked send standby [ replication definition | all ] columns for MSA databases that do not have subscriptions to a replication definition.
  • Marked send standby replication definition columns for the standby database.

Otherwise, Replication Server decides whether to pack a table or column name according to the Log Transfer Language (LTL).

System Requirements

RepAgent sends primary-key and quoted identifier information only with LTL version 740 or later, which is supported by Adaptive Server 15.7 and later, and Replication Server 15.7 and later.
Related concepts
Quoted Identifiers