Skip to content

Latest commit

 

History

History
76 lines (62 loc) · 2.72 KB

File metadata and controls

76 lines (62 loc) · 2.72 KB

OpenLogReplicator.json - filter element

Author: Adam Leszczyński <aleszczynski@bersler.com>, version: 1.9.0, date: 2026-01-23

This section documents the filter element of the OpenLogReplicator JSON configuration. It explains how to select which tables and transactions are tracked, how keys and tags are formed, and useful debugging options.

Table 1. Filter element
Parameter Type / constraints Description and notes

table

list of table elements

List of table selection rules (regular expressions or simple patterns) that determine which tables are tracked and emitted to targets. A table matching any rule is tracked; rules may overlap. Each entry may include optional fields such as key, condition and tag.

NOTE: Rules apply to the fully qualified table name (usually owner.table). Use . or .* style wildcards according to your pattern syntax.

separator

string, max length: 128, default: ","

Delimiter used to join multi-column key values when key fields are specified (see key and tag).

IMPORTANT: Choose a separator that cannot appear in key column values or ensure keys are escaped by the consumer. Avoid a single common character (e.g., ,) when key columns may contain that character.

skip-xid

list of string elements, max length: 32

Transaction IDs to skip entirely (not emitted). Acceptable XID forms include: UUUUSSSSQQQQQQQQ, UUUU.SSS.QQQQQQQQ, and 0xUUUU.SSS.QQQQQQQQ.

TIP: Use skip-xid for known maintenance transactions that should not be delivered to consumers.

dump-xid

list of string elements, max length: 32

Debugging list: when an XID matches, internal diagnostics for that transaction are written to stderr (useful for tracing processing of specific transactions). Same format as skip-xid.

Note
  • Use separator to concatenate multi-column keys when a key is provided. Prefer rare character sequences (for example |#|) to avoid splitting ambiguity.

  • Ensure any key or tag formatting rules match the expectations of downstream consumers; consider explicit escaping if consumers cannot handle separators inside key values.

Example filter configuration (JSON)
{
  "filter": {
    "table": [
      { "owner": "HR", "schema": "EMPLOYEES" },
      { "owner": "ORDERS", "schema": "%", "key": "ORDER_ID", "tag": "orders" },
      { "owner": "SYS", "schema": "%" }
    ],
    "separator": "|",
    "skip-xid": ["0x0002.012.00004162"],
    "dump-xid": []
  }
}