github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/pkg/config/filter.go (about) 1 // Copyright 2020 PingCAP, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 package config 15 16 import ( 17 bf "github.com/pingcap/tiflow/pkg/binlog-filter" 18 ) 19 20 // FilterConfig represents filter config for a changefeed 21 type FilterConfig struct { 22 Rules []string `toml:"rules" json:"rules"` 23 IgnoreTxnStartTs []uint64 `toml:"ignore-txn-start-ts" json:"ignore-txn-start-ts"` 24 EventFilters []*EventFilterRule `toml:"event-filters" json:"event-filters"` 25 } 26 27 // EventFilterRule is used by sql event filter and expression filter 28 type EventFilterRule struct { 29 Matcher []string `toml:"matcher" json:"matcher"` 30 IgnoreEvent []bf.EventType `toml:"ignore-event" json:"ignore-event"` 31 // regular expression 32 IgnoreSQL []string `toml:"ignore-sql" json:"ignore-sql"` 33 // sql expression 34 IgnoreInsertValueExpr string `toml:"ignore-insert-value-expr" json:"ignore-insert-value-expr"` 35 IgnoreUpdateNewValueExpr string `toml:"ignore-update-new-value-expr" json:"ignore-update-new-value-expr"` 36 IgnoreUpdateOldValueExpr string `toml:"ignore-update-old-value-expr" json:"ignore-update-old-value-expr"` 37 IgnoreDeleteValueExpr string `toml:"ignore-delete-value-expr" json:"ignore-delete-value-expr"` 38 }