The SkipEventByType
filter enables you to skip
individual events based on the event type, schema and table. For example,
if you want to skip all DELETE
events on the schema/table
SALES.INVOICES
(to prevent deletion
of invoice data), this filter will skip the event entirely and it will not
be applied to the target.
Pre-configured filter name |
skipeventbytype
| ||
Classname |
com.continuent.tungsten.replicator.filter.SkipEventByTypeFilter
| ||
Property prefix |
replicator.filter.skipeventbytype
| ||
Stage compatibility |
any
| ||
tpm Option compatibility |
--repl-svc-extractor-filters ,
--repl-svc-applier-filters
| ||
Data compatibility | Row events | ||
Parameters | |||
Parameter | Type | Default | Description |
definitionsFile
| string |
support/filters-config/skipeventbytype.json
| JSON file containing the definition of which events and which tables to skip |
Configuration of the filter is made using the generic JSON file, which supports both default options to happen for all tables not otherwise explicitly specified. The default JSON file allows all operations:
{ "__default": { "INSERT" : "allow", "DELETE" : "allow", "UPDATE" : "allow" }, "SCHEMA" : { "TABLE" : { "INSERT" : "allow", "DELETE" : "deny", "UPDATE" : "deny" } } }
The default section handles the default response when an explicit schema
or table name does not appear. Further sections are then organised by
schema and then table name. Where the setting is
allow
, the operation will be
processed. A deny
skips the entire
event.
To disable all DELETE
operations,
regardless of which table they occur in:
{ "__default": { "INSERT" : "allow", "DELETE" : "deny", "UPDATE" : "allow" }, "SCHEMA" : { "TABLE" : { "INSERT" : "allow", "DELETE" : "deny", "UPDATE" : "deny" } } }
To normally allow all operations, except on the SALES.INVOICE schema/table:
{ "__default": { "INSERT" : "allow", "DELETE" : "allow", "UPDATE" : "allow" }, "SALES" : { "INVOICE" : { "INSERT" : "allow", "DELETE" : "deny", "UPDATE" : "deny" } } }