server

package
v0.0.0-...-3610f1f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2025 License: PostgreSQL Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DatarowState = ShardState(iota)
	ShardCCState
	ShardCopyState
	ShardRFQState
	ErrorState
)
View Source
const (
	InitialState = MultishardState(iota)
	RunningState
	ServerErrorState
	CommandCompleteState
	CopyOutState
	CopyInState
	DDLState
)

Variables

View Source
var ErrShardUnavailable = fmt.Errorf("shard is unavailable, try again later")
View Source
var (
	MultiShardSyncBroken = fmt.Errorf("multishard state is out of sync")
)

Functions

This section is empty.

Types

type MultiShardServer

type MultiShardServer struct {
	// contains filtered or unexported fields
}

func (*MultiShardServer) AddDataShard

func (m *MultiShardServer) AddDataShard(clid uint, shkey kr.ShardKey, tsa tsa.TSA) error

func (*MultiShardServer) Cancel

func (m *MultiShardServer) Cancel() error

func (*MultiShardServer) Cleanup

func (m *MultiShardServer) Cleanup(rule config.FrontendRule) error

func (*MultiShardServer) DataPending

func (m *MultiShardServer) DataPending() bool

DataPending implements Server.

func (*MultiShardServer) Datashards

func (m *MultiShardServer) Datashards() []shard.Shard

func (*MultiShardServer) HasPrepareStatement

func (m *MultiShardServer) HasPrepareStatement(hash uint64, shardId uint) (bool, *prepstatement.PreparedStatementDescriptor)

HasPrepareStatement implements Server.

func (*MultiShardServer) Name

func (m *MultiShardServer) Name() string

func (*MultiShardServer) Receive

func (*MultiShardServer) ReceiveShard

func (m *MultiShardServer) ReceiveShard(shardId uint) (pgproto3.BackendMessage, error)

func (*MultiShardServer) Reset

func (m *MultiShardServer) Reset() error

func (*MultiShardServer) Send

func (*MultiShardServer) SendShard

func (m *MultiShardServer) SendShard(msg pgproto3.FrontendMessage, shardId uint) error

func (*MultiShardServer) SetTxStatus

func (m *MultiShardServer) SetTxStatus(tx txstatus.TXStatus)

func (*MultiShardServer) StorePrepareStatement

StorePrepareStatement implements Server.

func (*MultiShardServer) Sync

func (m *MultiShardServer) Sync() int64

func (*MultiShardServer) TxStatus

func (m *MultiShardServer) TxStatus() txstatus.TXStatus

func (*MultiShardServer) UnRouteShard

func (m *MultiShardServer) UnRouteShard(sh kr.ShardKey, rule *config.FrontendRule) error

type MultishardState

type MultishardState int

type Server

type Server interface {
	prepstatement.PreparedStatementHolder
	txstatus.TxStatusMgr

	Name() string
	Send(query pgproto3.FrontendMessage) error
	SendShard(query pgproto3.FrontendMessage, shardId uint) error
	Receive() (pgproto3.BackendMessage, error)
	ReceiveShard(shardId uint) (pgproto3.BackendMessage, error)

	AddDataShard(clid uint, shardKey kr.ShardKey, tsa tsa.TSA) error
	UnRouteShard(sh kr.ShardKey, rule *config.FrontendRule) error
	Datashards() []shard.Shard

	Cancel() error

	Reset() error
	Sync() int64

	DataPending() bool
}

func NewMultiShardServer

func NewMultiShardServer(pool *pool.DBPool) (Server, error)

type ShardServer

type ShardServer struct {
	// contains filtered or unexported fields
}

func NewShardServer

func NewShardServer(spool *pool.DBPool) *ShardServer

func (*ShardServer) AddDataShard

func (srv *ShardServer) AddDataShard(clid uint, shkey kr.ShardKey, tsa tsa.TSA) error

TODO : unit tests

func (*ShardServer) Cancel

func (srv *ShardServer) Cancel() error

TODO : unit tests

func (*ShardServer) Cleanup

func (srv *ShardServer) Cleanup(rule *config.FrontendRule) error

TODO : unit tests

func (*ShardServer) DataPending

func (srv *ShardServer) DataPending() bool

DataPending implements Server.

func (*ShardServer) Datashards

func (srv *ShardServer) Datashards() []shard.Shard

TODO : unit tests

func (*ShardServer) HasPrepareStatement

func (srv *ShardServer) HasPrepareStatement(hash uint64, shardId uint) (bool, *prepstatement.PreparedStatementDescriptor)

TODO : unit tests

func (*ShardServer) Name

func (srv *ShardServer) Name() string

TODO : unit tests

func (*ShardServer) Receive

func (srv *ShardServer) Receive() (pgproto3.BackendMessage, error)

TODO : unit tests

func (*ShardServer) ReceiveShard

func (srv *ShardServer) ReceiveShard(shardId uint) (pgproto3.BackendMessage, error)

TODO : unit tests

func (*ShardServer) Reset

func (srv *ShardServer) Reset() error

TODO : unit tests

func (*ShardServer) Send

func (srv *ShardServer) Send(query pgproto3.FrontendMessage) error

TODO : unit tests

func (*ShardServer) SendShard

func (srv *ShardServer) SendShard(query pgproto3.FrontendMessage, shardId uint) error

TODO : unit tests

func (*ShardServer) SetTxStatus

func (srv *ShardServer) SetTxStatus(tx txstatus.TXStatus)

TODO : unit tests

func (*ShardServer) StorePrepareStatement

TODO : unit tests

func (*ShardServer) Sync

func (srv *ShardServer) Sync() int64

TODO : unit tests

func (*ShardServer) TxStatus

func (srv *ShardServer) TxStatus() txstatus.TXStatus

TODO : unit tests

func (*ShardServer) UnRouteShard

func (srv *ShardServer) UnRouteShard(shkey kr.ShardKey, rule *config.FrontendRule) error

TODO : unit tests

type ShardState

type ShardState int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL