Documentation ¶
Index ¶
- func AtReplicationStage(config *Config)
- func ErrorTracker(mtrcs metrics.Registry) func(abstract.Sinker) abstract.Sinker
- func ExcludeSystemTables(item *abstract.ChangeItem) bool
- func Filter(registry metrics.Registry, predicates ...ExcludePredicate) func(abstract.Sinker) abstract.Sinker
- func InputDataMetering() func(abstract.Sinker) abstract.Sinker
- func IntervalThrottler(logger log.Logger, interval time.Duration) func(abstract.Sinker) abstract.Sinker
- func NonRowSeparator() func(abstract.Sinker) abstract.Sinker
- func OutputDataBatchMetering() func(middlewares.Asynchronizer) middlewares.Asynchronizer
- func OutputDataMetering() func(abstract.Sinker) abstract.Sinker
- func PlugTransformer(pt PluggableTransformer)
- func PluggableTransformersChain(t *model.Transfer, r metrics.Registry, cp coordinator.Coordinator) func(abstract.Sinker) abstract.Sinker
- func Retrier(logger log.Logger, ctx context.Context) func(abstract.Sinker) abstract.Sinker
- func SourceFallbacks(version int, typ abstract.ProviderType, lgr log.Logger, ...) abstract.SinkOption
- func Statistician(logger log.Logger, stats *stats.WrapperStats) func(abstract.Sinker) abstract.Sinker
- func TableTemporator(logger log.Logger, transferID string, config model.TmpPolicyConfig) func(abstract.Movable) abstract.Sinker
- func TargetFallbacks(version int, typ abstract.ProviderType, lgr log.Logger, ...) abstract.SinkOption
- func Transformation(transfer *model.Transfer, logger log.Logger, metrics metrics.Registry) (func(abstract.Sinker) abstract.Sinker, error)
- func TypeStrictnessTracker(logger log.Logger, stats *stats.TypeStrictnessStats) func(abstract.Sinker) abstract.Sinker
- func WithEnableRetries(config *Config)
- func WithNoData(config *Config)
- type Config
- type ConfigOption
- type ExcludePredicate
- type PluggableTransformer
- type TransferStage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AtReplicationStage ¶
func AtReplicationStage(config *Config)
func ErrorTracker ¶
ErrorTracker do nothing except tracking error / success pushes into metrics
func ExcludeSystemTables ¶
func ExcludeSystemTables(item *abstract.ChangeItem) bool
func IntervalThrottler ¶
func IntervalThrottler(logger log.Logger, interval time.Duration) func(abstract.Sinker) abstract.Sinker
IntervalThrottler blocks Push until a given interval since the finish of the previous Push passes
func NonRowSeparator ¶
NonRowSeparator separates non-row items and pushes each of them in a distinct call to Push (which will contain just one item)
func OutputDataBatchMetering ¶
func OutputDataBatchMetering() func(middlewares.Asynchronizer) middlewares.Asynchronizer
func PlugTransformer ¶
func PlugTransformer(pt PluggableTransformer)
PlugTransformer adds a new pluggable transformer to a chain of such transformers. This method should be called from `init()` function.
func PluggableTransformersChain ¶
func PluggableTransformersChain(t *model.Transfer, r metrics.Registry, cp coordinator.Coordinator) func(abstract.Sinker) abstract.Sinker
func Retrier ¶
Retrier retries Push operations automatically using the hardcoded delay and interval. Retries can be interrupted using the given context. Push operations containing non-row items are NOT retried
func SourceFallbacks ¶
func SourceFallbacks(version int, typ abstract.ProviderType, lgr log.Logger, stat *stats.FallbackStats) abstract.SinkOption
func Statistician ¶
func Statistician(logger log.Logger, stats *stats.WrapperStats) func(abstract.Sinker) abstract.Sinker
Statistician tracks the traffic of sinker
func TableTemporator ¶
func TableTemporator(logger log.Logger, transferID string, config model.TmpPolicyConfig) func(abstract.Movable) abstract.Sinker
TableTemporator provides support for temporary policy
func TargetFallbacks ¶
func TargetFallbacks(version int, typ abstract.ProviderType, lgr log.Logger, stat *stats.FallbackStats) abstract.SinkOption
func Transformation ¶
func TypeStrictnessTracker ¶
func TypeStrictnessTracker(logger log.Logger, stats *stats.TypeStrictnessStats) func(abstract.Sinker) abstract.Sinker
TypeStrictnessTracker tracks the "strictness" of types passing through it.
"Strictness" is the compliance of the column value in an item with the *strict* representation defined by the Data Transfer type system.
func WithEnableRetries ¶
func WithEnableRetries(config *Config)
func WithNoData ¶
func WithNoData(config *Config)
Types ¶
type Config ¶
func MakeConfig ¶
func MakeConfig(options ...ConfigOption) Config
type ConfigOption ¶
type ConfigOption func(*Config)
type ExcludePredicate ¶
type ExcludePredicate func(*abstract.ChangeItem) bool
type PluggableTransformer ¶
type PluggableTransformer func(*model.Transfer, metrics.Registry, coordinator.Coordinator) func(abstract.Sinker) abstract.Sinker
PluggableTransformer is a transformer with a middleware interface which packages outside of `middlewares` can provide.
type TransferStage ¶
type TransferStage string