Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitializeMetrics ¶
func SetGlobalMetrics ¶
func SetGlobalMetrics(prefix string, metricsChan chan interface{})
func StopAndFlushMetrics ¶
func StopAndFlushMetrics()
Types ¶
type Config ¶
type Config struct {
*ghostferry.Config
ShardingKey string
ShardingValue int64
SourceDB string
TargetDB string
SourceReplicationMaster *ghostferry.DatabaseConfig
ReplicatedMasterPositionQuery string
RunFerryFromReplica bool
StatsDAddress string
JoinedTables map[string][]JoinTable
// IgnoredTables and IncludedTables are mutually exclusive. Specifying both is an error.
IgnoredTables []string
IncludedTables []string
PrimaryKeyTables []string
Throttle *ghostferry.LagThrottlerConfig
}
func (*Config) ValidateConfig ¶
type ShardedCopyFilter ¶
type ShardedCopyFilter struct {
ShardingKey string
ShardingValue interface{}
JoinedTables map[string][]JoinTable
PrimaryKeyTables map[string]struct{}
// contains filtered or unexported fields
}
func (*ShardedCopyFilter) ApplicableEvent ¶
func (f *ShardedCopyFilter) ApplicableEvent(event ghostferry.DMLEvent) (bool, error)
func (*ShardedCopyFilter) BuildSelect ¶
func (f *ShardedCopyFilter) BuildSelect(columns []string, table *ghostferry.TableSchema, lastPaginationKey, batchSize uint64) (sq.SelectBuilder, error)
type ShardedTableFilter ¶
type ShardedTableFilter struct {
SourceShard string
ShardingKey string
JoinedTables map[string][]JoinTable
Type ShardedTableFilterType
Tables []*regexp.Regexp
PrimaryKeyTables map[string]struct{}
}
func (*ShardedTableFilter) ApplicableDatabases ¶
func (s *ShardedTableFilter) ApplicableDatabases(dbs []string) ([]string, error)
func (*ShardedTableFilter) ApplicableTables ¶
func (s *ShardedTableFilter) ApplicableTables(tables []*ghostferry.TableSchema) (applicable []*ghostferry.TableSchema, err error)
type ShardedTableFilterType ¶
type ShardedTableFilterType int64
const ( IgnoredTablesFilter ShardedTableFilterType = iota IncludedTablesFilter )
type ShardingFerry ¶
type ShardingFerry struct {
Ferry *ghostferry.Ferry
// contains filtered or unexported fields
}
func NewFerry ¶
func NewFerry(config *Config) (*ShardingFerry, error)
func (*ShardingFerry) AbortIfTargetDbNoLongerWriteable ¶
func (r *ShardingFerry) AbortIfTargetDbNoLongerWriteable()
func (*ShardingFerry) Initialize ¶
func (r *ShardingFerry) Initialize() error
func (*ShardingFerry) Run ¶
func (r *ShardingFerry) Run()
func (*ShardingFerry) Start ¶
func (r *ShardingFerry) Start() error
Click to show internal directories.
Click to hide internal directories.