Documentation
¶
Index ¶
- func MockBackendConfigDefault(name, addr string) *config.BackendConfig
- func MockTxnMgr(log *xlog.Log, n int) (*fakedb.DB, *TxnManager, map[string]*Pool, *Pool, []string, func())
- type BackupTxn
- func (txn *BackupTxn) Abort() error
- func (txn *BackupTxn) Begin() error
- func (txn *BackupTxn) Commit() error
- func (txn *BackupTxn) Execute(req *xcontext.RequestContext) (*sqltypes.Result, error)
- func (txn *BackupTxn) ExecuteRaw(database string, query string) (*sqltypes.Result, error)
- func (txn *BackupTxn) Finish() error
- func (txn *BackupTxn) Rollback() error
- func (txn *BackupTxn) SetMaxResult(max int)
- func (txn *BackupTxn) SetTimeout(timeout int)
- func (txn *BackupTxn) State() int32
- func (txn *BackupTxn) TxID() uint64
- func (txn *BackupTxn) XID() string
- func (txn *BackupTxn) XaState() int32
- type Connection
- type Pool
- type QueryDetail
- type QueryDetailzRow
- type Queryz
- type Scatter
- func (scatter *Scatter) Add(config *config.BackendConfig) error
- func (scatter *Scatter) AddBackup(config *config.BackendConfig) error
- func (scatter *Scatter) BackendConfigsClone() []*config.BackendConfig
- func (scatter *Scatter) Backends() []string
- func (scatter *Scatter) BackupBackend() string
- func (scatter *Scatter) BackupConfig() *config.BackendConfig
- func (scatter *Scatter) BackupPool() *Pool
- func (scatter *Scatter) Close()
- func (scatter *Scatter) CreateBackupTransaction() (*BackupTxn, error)
- func (scatter *Scatter) CreateTransaction() (*Txn, error)
- func (scatter *Scatter) FlushConfig() error
- func (scatter *Scatter) HasBackup() bool
- func (scatter *Scatter) LoadConfig() error
- func (scatter *Scatter) MySQLStats() *stats.Timings
- func (scatter *Scatter) PoolClone() map[string]*Pool
- func (scatter *Scatter) QueryRates() *stats.Rates
- func (scatter *Scatter) QueryStats() *stats.Timings
- func (scatter *Scatter) Queryz() *Queryz
- func (scatter *Scatter) Remove(config *config.BackendConfig) error
- func (scatter *Scatter) RemoveBackup(config *config.BackendConfig) error
- func (scatter *Scatter) TxnCounters() *stats.Counters
- func (scatter *Scatter) Txnz() *Txnz
- type Transaction
- type Txn
- func (txn *Txn) Abort() error
- func (txn *Txn) Begin() error
- func (txn *Txn) Commit() error
- func (txn *Txn) Execute(req *xcontext.RequestContext) (*sqltypes.Result, error)
- func (txn *Txn) ExecuteOnThisBackend(backend string, query string) (*sqltypes.Result, error)
- func (txn *Txn) ExecuteRaw(database string, query string) (*sqltypes.Result, error)
- func (txn *Txn) ExecuteScatter(query string) (*sqltypes.Result, error)
- func (txn *Txn) ExecuteSingle(query string) (*sqltypes.Result, error)
- func (txn *Txn) ExecuteStreamFetch(req *xcontext.RequestContext, callback func(*sqltypes.Result) error, ...) error
- func (txn *Txn) Finish() error
- func (txn *Txn) Rollback() error
- func (txn *Txn) SetMaxResult(max int)
- func (txn *Txn) SetTimeout(timeout int)
- func (txn *Txn) State() int32
- func (txn *Txn) TxID() uint64
- func (txn *Txn) XID() string
- func (txn *Txn) XaState() int32
- type TxnDetail
- type TxnDetailzRow
- type TxnManager
- func (mgr *TxnManager) Add() error
- func (mgr *TxnManager) CommitLock()
- func (mgr *TxnManager) CommitRLock()
- func (mgr *TxnManager) CommitRUnlock()
- func (mgr *TxnManager) CommitUnlock()
- func (mgr *TxnManager) CreateBackupTxn(backup *Pool) (*BackupTxn, error)
- func (mgr *TxnManager) CreateTxn(backends map[string]*Pool) (*Txn, error)
- func (mgr *TxnManager) GetID() uint64
- func (mgr *TxnManager) Remove() error
- type Txnz
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MockBackendConfigDefault ¶
func MockBackendConfigDefault(name, addr string) *config.BackendConfig
MockBackendConfigDefault mocks new backend config.
Types ¶
type BackupTxn ¶
type BackupTxn struct {
// contains filtered or unexported fields
}
BackupTxn tuple.
func NewBackupTxn ¶
NewBackupTxn creates the new BackupTxn.
func (*BackupTxn) Abort ¶
Abort used to abort all txn connections.
func (*BackupTxn) Execute ¶
Execute not implemented.
func (*BackupTxn) ExecuteRaw ¶
ExecuteRaw used to execute the query to the backup node. If the backup node is not exists, fetchBackupConnection will return with an error.
func (*BackupTxn) Finish ¶
Finish used to finish a transaction. If the lastErr is nil, we will recycle all the twopc connections to the pool for reuse, otherwise we wil close all of the them.
func (*BackupTxn) SetMaxResult ¶
SetMaxResult used to set the txn max result.
func (*BackupTxn) SetTimeout ¶
SetTimeout used to set the txn timeout.
type Connection ¶
type Connection interface { ID() uint32 Dial() error Ping() error Close() Closed() bool LastErr() error UseDB(string) error Kill(string) error Recycle() Address() string SetTimestamp(int64) Timestamp() int64 Execute(string) (*sqltypes.Result, error) ExecuteStreamFetch(string) (driver.Rows, error) ExecuteWithLimits(query string, timeout int, maxmem int) (*sqltypes.Result, error) }
Connection tuple.
func MockClient ¶
func MockClient(log *xlog.Log, addr string) (Connection, func())
MockClient mocks a client connection.
func MockClientWithConfig ¶
func MockClientWithConfig(log *xlog.Log, conf *config.BackendConfig) (Connection, func())
MockClientWithConfig mocks a client with backendconfig.
func NewConnection ¶
func NewConnection(log *xlog.Log, pool *Pool) Connection
NewConnection creates a new connection.
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
Pool tuple.
func NewPool ¶
func NewPool(log *xlog.Log, conf *config.BackendConfig) *Pool
NewPool creates the new Pool.
func (*Pool) Get ¶
func (p *Pool) Get() (Connection, error)
Get used to get a connection from the pool.
func (*Pool) JSON ¶
JSON returns the available string. available is the number of currently unused connections.
type QueryDetail ¶
type QueryDetail struct { ID uint64 // contains filtered or unexported fields }
QueryDetail is a simple wrapper for Query
func NewQueryDetail ¶
func NewQueryDetail(conn Connection, query string) *QueryDetail
NewQueryDetail creates a new QueryDetail
type QueryDetailzRow ¶
type QueryDetailzRow struct { Start time.Time Duration time.Duration ConnID uint32 Query string Address string Color string }
QueryDetailzRow is used for rendering QueryDetail in a template
type Queryz ¶
type Queryz struct { ID uint64 // contains filtered or unexported fields }
Queryz holds a thread safe list of QueryDetails
func (*Queryz) GetQueryzRows ¶
func (qz *Queryz) GetQueryzRows() []QueryDetailzRow
GetQueryzRows returns a list of QueryDetailzRow sorted by start time
func (*Queryz) Remove ¶
func (qz *Queryz) Remove(qd *QueryDetail)
Remove removes a QueryDetail from Queryz
type Scatter ¶
type Scatter struct {
// contains filtered or unexported fields
}
Scatter tuple.
func MockScatter ¶
MockScatter used to mock a scatter.
func NewScatter ¶
NewScatter creates a new scatter.
func (*Scatter) Add ¶
func (scatter *Scatter) Add(config *config.BackendConfig) error
Add used to add a new backend to scatter.
func (*Scatter) AddBackup ¶
func (scatter *Scatter) AddBackup(config *config.BackendConfig) error
AddBackup used to add the backup node to scatter.
func (*Scatter) BackendConfigsClone ¶
func (scatter *Scatter) BackendConfigsClone() []*config.BackendConfig
BackendConfigsClone used to clone all the backend configs.
func (*Scatter) Backends ¶
Backends returns all backends.
func (*Scatter) BackupBackend ¶
BackupBackend returns the backup name.
func (*Scatter) BackupConfig ¶
func (scatter *Scatter) BackupConfig() *config.BackendConfig
BackupConfig returns the config of backup. Used for backup rebuild.
func (*Scatter) BackupPool ¶
BackupPool returns the backup pool.
func (*Scatter) CreateBackupTransaction ¶
CreateBackupTransaction used to create a backup transaction.
func (*Scatter) CreateTransaction ¶
CreateTransaction used to create a transaction.
func (*Scatter) FlushConfig ¶
FlushConfig used to write the backends to file.
func (*Scatter) HasBackup ¶
HasBackup used to check the backup node whether nil.
func (*Scatter) LoadConfig ¶
LoadConfig used to load all backends from metadir/backend.json file.
func (*Scatter) MySQLStats ¶
MySQLStats returns the mysql stats.
func (*Scatter) PoolClone ¶
PoolClone used to copy backends to new map.
func (*Scatter) QueryRates ¶
QueryRates returns the query rates.
func (*Scatter) QueryStats ¶
QueryStats returns the query stats.
func (*Scatter) Remove ¶
func (scatter *Scatter) Remove(config *config.BackendConfig) error
Remove used to remove a backend from the scatter.
func (*Scatter) RemoveBackup ¶
func (scatter *Scatter) RemoveBackup(config *config.BackendConfig) error
RemoveBackup used to remove the backup from the scatter.
func (*Scatter) TxnCounters ¶
TxnCounters returns the txn counters.
type Transaction ¶
type Transaction interface { XID() string TxID() uint64 State() int32 XaState() int32 Abort() error Begin() error Rollback() error Commit() error Finish() error SetTimeout(timeout int) SetMaxResult(max int) Execute(req *xcontext.RequestContext) (*sqltypes.Result, error) ExecuteRaw(database string, query string) (*sqltypes.Result, error) }
Transaction interface.
type Txn ¶
type Txn struct {
// contains filtered or unexported fields
}
Txn tuple.
func NewTxn ¶
NewTxn creates the new Txn.
func (*Txn) Begin ¶
Begin used to start a XA transaction. Begin only does: 1. set twopc to true
func (*Txn) Commit ¶
Commit does: 1. XA END 2. XA PREPARE 3. XA COMMIT
func (*Txn) Execute ¶
Execute used to execute the query. If the txn is in twopc mode, we do the xaStart before the real query execute.
func (*Txn) ExecuteOnThisBackend ¶
ExecuteOnThisBackend used to send the query to this backend.
func (*Txn) ExecuteRaw ¶
ExecuteRaw used to execute raw query, txn not implemented.
func (*Txn) ExecuteScatter ¶
ExecuteScatter used to execute query on all shards.
func (*Txn) ExecuteSingle ¶
ExecuteSingle used to execute query on one shard.
func (*Txn) ExecuteStreamFetch ¶
func (txn *Txn) ExecuteStreamFetch(req *xcontext.RequestContext, callback func(*sqltypes.Result) error, streamBufferSize int) error
ExecuteStreamFetch used to execute stream fetch query.
func (*Txn) Finish ¶
Finish used to finish a transaction. If the lastErr is nil, we will recycle all the twopc connections to the pool for reuse, otherwise we wil close all of the them.
func (*Txn) Rollback ¶
Rollback used to rollback a XA transaction. 1. XA ROLLBACK
func (*Txn) SetMaxResult ¶
SetMaxResult used to set the txn max result.
func (*Txn) SetTimeout ¶
SetTimeout used to set the txn timeout.
type TxnDetail ¶
type TxnDetail struct {
// contains filtered or unexported fields
}
TxnDetail is a simple wrapper for Query
func NewTxnDetail ¶
func NewTxnDetail(txn Transaction) *TxnDetail
NewTxnDetail creates a new TxnDetail
type TxnDetailzRow ¶
type TxnDetailzRow struct { Start time.Time Duration time.Duration TxnID uint64 XAID string Query string State string XaState string Color string }
TxnDetailzRow is used for rendering TxnDetail in a template
type TxnManager ¶
type TxnManager struct {
// contains filtered or unexported fields
}
TxnManager tuple.
func NewTxnManager ¶
func NewTxnManager(log *xlog.Log) *TxnManager
NewTxnManager creates new TxnManager.
func (*TxnManager) CommitLock ¶
func (mgr *TxnManager) CommitLock()
CommitLock used to acquire the commit.
func (*TxnManager) CommitRLock ¶
func (mgr *TxnManager) CommitRLock()
CommitRLock used to acquire the read lock of commit.
func (*TxnManager) CommitRUnlock ¶
func (mgr *TxnManager) CommitRUnlock()
CommitRUnlock used to release the read lock of commit.
func (*TxnManager) CommitUnlock ¶
func (mgr *TxnManager) CommitUnlock()
CommitUnlock used to release the commit.
func (*TxnManager) CreateBackupTxn ¶
func (mgr *TxnManager) CreateBackupTxn(backup *Pool) (*BackupTxn, error)
CreateBackupTxn creates new backup txn.
func (*TxnManager) CreateTxn ¶
func (mgr *TxnManager) CreateTxn(backends map[string]*Pool) (*Txn, error)
CreateTxn creates new txn.
func (*TxnManager) Remove ¶
func (mgr *TxnManager) Remove() error
Remove used to remove a txn from mgr.
type Txnz ¶
type Txnz struct {
// contains filtered or unexported fields
}
Txnz holds a thread safe list of TxnDetails
func (*Txnz) GetTxnzRows ¶
func (tz *Txnz) GetTxnzRows() []TxnDetailzRow
GetTxnzRows returns a list of TxnDetailzRow sorted by start time