Documentation ¶
Index ¶
- type FakeMysqlDaemon
- func (fmd *FakeMysqlDaemon) ApplySchemaChange(dbName string, change *tmutils.SchemaChange) (*tabletmanagerdatapb.SchemaChangeResult, error)
- func (fmd *FakeMysqlDaemon) CheckSuperQueryList() error
- func (fmd *FakeMysqlDaemon) Close()
- func (fmd *FakeMysqlDaemon) DemoteMaster() (mysql.Position, error)
- func (fmd *FakeMysqlDaemon) DisableBinlogPlayback() error
- func (fmd *FakeMysqlDaemon) EnableBinlogPlayback() error
- func (fmd *FakeMysqlDaemon) ExecuteSuperQueryList(ctx context.Context, queryList []string) error
- func (fmd *FakeMysqlDaemon) FetchSuperQuery(ctx context.Context, query string) (*sqltypes.Result, error)
- func (fmd *FakeMysqlDaemon) GetAllPrivsConnection() (*dbconnpool.DBConnection, error)
- func (fmd *FakeMysqlDaemon) GetAppConnection(ctx context.Context) (*dbconnpool.PooledDBConnection, error)
- func (fmd *FakeMysqlDaemon) GetColumns(dbName, table string) ([]*querypb.Field, []string, error)
- func (fmd *FakeMysqlDaemon) GetDbaConnection() (*dbconnpool.DBConnection, error)
- func (fmd *FakeMysqlDaemon) GetMysqlPort() (int32, error)
- func (fmd *FakeMysqlDaemon) GetPrimaryKeyColumns(dbName, table string) ([]string, error)
- func (fmd *FakeMysqlDaemon) GetSchema(dbName string, tables, excludeTables []string, includeViews bool) (*tabletmanagerdatapb.SchemaDefinition, error)
- func (fmd *FakeMysqlDaemon) IsReadOnly() (bool, error)
- func (fmd *FakeMysqlDaemon) MasterPosition() (mysql.Position, error)
- func (fmd *FakeMysqlDaemon) PreflightSchemaChange(dbName string, changes []string) ([]*tabletmanagerdatapb.SchemaChangeResult, error)
- func (fmd *FakeMysqlDaemon) PromoteSlave(hookExtraEnv map[string]string) (mysql.Position, error)
- func (fmd *FakeMysqlDaemon) RefreshConfig(ctx context.Context, cnf *mysqlctl.Mycnf) error
- func (fmd *FakeMysqlDaemon) ReinitConfig(ctx context.Context, cnf *mysqlctl.Mycnf) error
- func (fmd *FakeMysqlDaemon) ResetReplication(ctx context.Context) error
- func (fmd *FakeMysqlDaemon) RestartSlave(hookExtraEnv map[string]string) error
- func (fmd *FakeMysqlDaemon) RunMysqlUpgrade() error
- func (fmd *FakeMysqlDaemon) SemiSyncEnabled() (master, slave bool)
- func (fmd *FakeMysqlDaemon) SemiSyncSlaveStatus() (bool, error)
- func (fmd *FakeMysqlDaemon) SetMaster(ctx context.Context, masterHost string, masterPort int, slaveStopBefore bool, ...) error
- func (fmd *FakeMysqlDaemon) SetReadOnly(on bool) error
- func (fmd *FakeMysqlDaemon) SetSemiSyncEnabled(master, slave bool) error
- func (fmd *FakeMysqlDaemon) SetSlavePosition(ctx context.Context, pos mysql.Position) error
- func (fmd *FakeMysqlDaemon) SetSuperReadOnly(on bool) error
- func (fmd *FakeMysqlDaemon) Shutdown(ctx context.Context, cnf *mysqlctl.Mycnf, waitForMysqld bool) error
- func (fmd *FakeMysqlDaemon) SlaveStatus() (mysql.SlaveStatus, error)
- func (fmd *FakeMysqlDaemon) Start(ctx context.Context, cnf *mysqlctl.Mycnf, mysqldArgs ...string) error
- func (fmd *FakeMysqlDaemon) StartSlave(hookExtraEnv map[string]string) error
- func (fmd *FakeMysqlDaemon) StartSlaveUntilAfter(ctx context.Context, pos mysql.Position) error
- func (fmd *FakeMysqlDaemon) StopSlave(hookExtraEnv map[string]string) error
- func (fmd *FakeMysqlDaemon) Wait(ctx context.Context, cnf *mysqlctl.Mycnf) error
- func (fmd *FakeMysqlDaemon) WaitForReparentJournal(ctx context.Context, timeCreatedNS int64) error
- func (fmd *FakeMysqlDaemon) WaitMasterPos(_ context.Context, pos mysql.Position) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FakeMysqlDaemon ¶
type FakeMysqlDaemon struct { // Running is used by Start / Shutdown Running bool // MysqlPort will be returned by GetMysqlPort(). Set to -1 to // return an error. MysqlPort int32 // Replicating is updated when calling StartSlave / StopSlave // (it is not used at all when calling SlaveStatus, it is the // test owner responsibility to have these two match) Replicating bool // SlaveIORunning is always true except in one testcase // where we want to test error handling during SetMaster SlaveIORunning bool // CurrentMasterPosition is returned by MasterPosition // and SlaveStatus CurrentMasterPosition mysql.Position // SlaveStatusError is used by SlaveStatus SlaveStatusError error // StartSlaveError is used by StartSlave StartSlaveError error // CurrentMasterHost is returned by SlaveStatus CurrentMasterHost string // CurrentMasterport is returned by SlaveStatus CurrentMasterPort int // SecondsBehindMaster is returned by SlaveStatus SecondsBehindMaster uint // ReadOnly is the current value of the flag ReadOnly bool // SuperReadOnly is the current value of the flag SuperReadOnly bool // SetSlavePositionPos is matched against the input of SetSlavePosition. // If it doesn't match, SetSlavePosition will return an error. SetSlavePositionPos mysql.Position // StartSlaveUntilAfterPos is matched against the input StartSlaveUntilAfterPos mysql.Position // SetMasterInput is matched against the input of SetMaster // (as "%v:%v"). If it doesn't match, SetMaster will return an error. SetMasterInput string // SetMasterError is used by SetMaster SetMasterError error // WaitMasterPosition is checked by WaitMasterPos, if the // same it returns nil, if different it returns an error WaitMasterPosition mysql.Position // PromoteSlaveResult is returned by PromoteSlave PromoteSlaveResult mysql.Position // SchemaFunc provides the return value for GetSchema. // If not defined, the "Schema" field will be used instead, see below. SchemaFunc func() (*tabletmanagerdatapb.SchemaDefinition, error) // Schema will be returned by GetSchema. If nil we'll // return an error. Schema *tabletmanagerdatapb.SchemaDefinition // PreflightSchemaChangeResult will be returned by PreflightSchemaChange. // If nil we'll return an error. PreflightSchemaChangeResult []*tabletmanagerdatapb.SchemaChangeResult // ApplySchemaChangeResult will be returned by ApplySchemaChange. // If nil we'll return an error. ApplySchemaChangeResult *tabletmanagerdatapb.SchemaChangeResult // ExpectedExecuteSuperQueryList is what we expect // ExecuteSuperQueryList to be called with. If it doesn't // match, ExecuteSuperQueryList will return an error. // Note each string is just a substring if it begins with SUB, // so we support partial queries (useful when queries contain // data fields like timestamps) ExpectedExecuteSuperQueryList []string // ExpectedExecuteSuperQueryCurrent is the current index of the queries // we expect ExpectedExecuteSuperQueryCurrent int // FetchSuperQueryResults is used by FetchSuperQuery FetchSuperQueryMap map[string]*sqltypes.Result // BinlogPlayerEnabled is used by {Enable,Disable}BinlogPlayer BinlogPlayerEnabled sync2.AtomicBool // SemiSyncMasterEnabled represents the state of rpl_semi_sync_master_enabled. SemiSyncMasterEnabled bool // SemiSyncSlaveEnabled represents the state of rpl_semi_sync_slave_enabled. SemiSyncSlaveEnabled bool // TimeoutHook is a func that can be called at the beginning of any method to fake a timeout. // all a test needs to do is make it { return context.DeadlineExceeded } TimeoutHook func() error // contains filtered or unexported fields }
FakeMysqlDaemon implements MysqlDaemon and allows the user to fake everything.
func NewFakeMysqlDaemon ¶
func NewFakeMysqlDaemon(db *fakesqldb.DB) *FakeMysqlDaemon
NewFakeMysqlDaemon returns a FakeMysqlDaemon where mysqld appears to be running, based on a fakesqldb.DB. 'db' can be nil if the test doesn't use a database at all.
func (*FakeMysqlDaemon) ApplySchemaChange ¶
func (fmd *FakeMysqlDaemon) ApplySchemaChange(dbName string, change *tmutils.SchemaChange) (*tabletmanagerdatapb.SchemaChangeResult, error)
ApplySchemaChange is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) CheckSuperQueryList ¶
func (fmd *FakeMysqlDaemon) CheckSuperQueryList() error
CheckSuperQueryList returns an error if all the queries we expected haven't been seen.
func (*FakeMysqlDaemon) Close ¶
func (fmd *FakeMysqlDaemon) Close()
Close is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) DemoteMaster ¶
func (fmd *FakeMysqlDaemon) DemoteMaster() (mysql.Position, error)
DemoteMaster is deprecated: use mysqld.MasterPosition() instead
func (*FakeMysqlDaemon) DisableBinlogPlayback ¶
func (fmd *FakeMysqlDaemon) DisableBinlogPlayback() error
DisableBinlogPlayback disable playback of binlog events
func (*FakeMysqlDaemon) EnableBinlogPlayback ¶
func (fmd *FakeMysqlDaemon) EnableBinlogPlayback() error
EnableBinlogPlayback is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) ExecuteSuperQueryList ¶
func (fmd *FakeMysqlDaemon) ExecuteSuperQueryList(ctx context.Context, queryList []string) error
ExecuteSuperQueryList is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) FetchSuperQuery ¶
func (fmd *FakeMysqlDaemon) FetchSuperQuery(ctx context.Context, query string) (*sqltypes.Result, error)
FetchSuperQuery returns the results from the map, if any
func (*FakeMysqlDaemon) GetAllPrivsConnection ¶
func (fmd *FakeMysqlDaemon) GetAllPrivsConnection() (*dbconnpool.DBConnection, error)
GetAllPrivsConnection is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) GetAppConnection ¶
func (fmd *FakeMysqlDaemon) GetAppConnection(ctx context.Context) (*dbconnpool.PooledDBConnection, error)
GetAppConnection is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) GetColumns ¶
GetColumns is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) GetDbaConnection ¶
func (fmd *FakeMysqlDaemon) GetDbaConnection() (*dbconnpool.DBConnection, error)
GetDbaConnection is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) GetMysqlPort ¶
func (fmd *FakeMysqlDaemon) GetMysqlPort() (int32, error)
GetMysqlPort is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) GetPrimaryKeyColumns ¶
func (fmd *FakeMysqlDaemon) GetPrimaryKeyColumns(dbName, table string) ([]string, error)
GetPrimaryKeyColumns is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) GetSchema ¶
func (fmd *FakeMysqlDaemon) GetSchema(dbName string, tables, excludeTables []string, includeViews bool) (*tabletmanagerdatapb.SchemaDefinition, error)
GetSchema is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) IsReadOnly ¶
func (fmd *FakeMysqlDaemon) IsReadOnly() (bool, error)
IsReadOnly is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) MasterPosition ¶
func (fmd *FakeMysqlDaemon) MasterPosition() (mysql.Position, error)
MasterPosition is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) PreflightSchemaChange ¶
func (fmd *FakeMysqlDaemon) PreflightSchemaChange(dbName string, changes []string) ([]*tabletmanagerdatapb.SchemaChangeResult, error)
PreflightSchemaChange is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) PromoteSlave ¶
PromoteSlave is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) RefreshConfig ¶
RefreshConfig is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) ReinitConfig ¶
ReinitConfig is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) ResetReplication ¶
func (fmd *FakeMysqlDaemon) ResetReplication(ctx context.Context) error
ResetReplication is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) RestartSlave ¶
func (fmd *FakeMysqlDaemon) RestartSlave(hookExtraEnv map[string]string) error
RestartSlave is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) RunMysqlUpgrade ¶
func (fmd *FakeMysqlDaemon) RunMysqlUpgrade() error
RunMysqlUpgrade is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) SemiSyncEnabled ¶
func (fmd *FakeMysqlDaemon) SemiSyncEnabled() (master, slave bool)
SemiSyncEnabled is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) SemiSyncSlaveStatus ¶
func (fmd *FakeMysqlDaemon) SemiSyncSlaveStatus() (bool, error)
SemiSyncSlaveStatus is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) SetMaster ¶
func (fmd *FakeMysqlDaemon) SetMaster(ctx context.Context, masterHost string, masterPort int, slaveStopBefore bool, slaveStartAfter bool) error
SetMaster is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) SetReadOnly ¶
func (fmd *FakeMysqlDaemon) SetReadOnly(on bool) error
SetReadOnly is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) SetSemiSyncEnabled ¶
func (fmd *FakeMysqlDaemon) SetSemiSyncEnabled(master, slave bool) error
SetSemiSyncEnabled is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) SetSlavePosition ¶
SetSlavePosition is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) SetSuperReadOnly ¶
func (fmd *FakeMysqlDaemon) SetSuperReadOnly(on bool) error
SetSuperReadOnly is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) Shutdown ¶
func (fmd *FakeMysqlDaemon) Shutdown(ctx context.Context, cnf *mysqlctl.Mycnf, waitForMysqld bool) error
Shutdown is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) SlaveStatus ¶
func (fmd *FakeMysqlDaemon) SlaveStatus() (mysql.SlaveStatus, error)
SlaveStatus is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) Start ¶
func (fmd *FakeMysqlDaemon) Start(ctx context.Context, cnf *mysqlctl.Mycnf, mysqldArgs ...string) error
Start is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) StartSlave ¶
func (fmd *FakeMysqlDaemon) StartSlave(hookExtraEnv map[string]string) error
StartSlave is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) StartSlaveUntilAfter ¶
StartSlaveUntilAfter is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) StopSlave ¶
func (fmd *FakeMysqlDaemon) StopSlave(hookExtraEnv map[string]string) error
StopSlave is part of the MysqlDaemon interface.
func (*FakeMysqlDaemon) WaitForReparentJournal ¶
func (fmd *FakeMysqlDaemon) WaitForReparentJournal(ctx context.Context, timeCreatedNS int64) error
WaitForReparentJournal is part of the MysqlDaemon interface
func (*FakeMysqlDaemon) WaitMasterPos ¶
WaitMasterPos is part of the MysqlDaemon interface