factory

package
v0.2.8 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2022 License: Apache-2.0 Imports: 10 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultFactory

type DefaultFactory struct {
	MaxConn         int
	MaxIdleConn     int
	ConnMaxLifetime time.Duration
	Log             logging.LogFunc

	DataSource datasource.DataSource
	// contains filtered or unexported fields
}

func (*DefaultFactory) Close added in v0.2.7

func (factory *DefaultFactory) Close() error

func (*DefaultFactory) CreateExecutor added in v0.2.7

func (factory *DefaultFactory) CreateExecutor(transaction transaction.Transaction) executor.Executor

func (*DefaultFactory) CreateSession

func (factory *DefaultFactory) CreateSession() session.SqlSession

func (*DefaultFactory) CreateTransaction added in v0.2.7

func (factory *DefaultFactory) CreateTransaction() transaction.Transaction

func (*DefaultFactory) GetDataSource added in v0.2.7

func (factory *DefaultFactory) GetDataSource() datasource.DataSource

func (*DefaultFactory) InitDB deprecated

func (factory *DefaultFactory) InitDB() error

Deprecated: Use Open instead

func (*DefaultFactory) LogFunc

func (factory *DefaultFactory) LogFunc() logging.LogFunc

func (*DefaultFactory) Open added in v0.2.7

func (factory *DefaultFactory) Open(ds datasource.DataSource) error

func (*DefaultFactory) WithLock added in v0.2.7

func (factory *DefaultFactory) WithLock(lockFunc func(fac *DefaultFactory))

type DefaultMultiSource added in v0.2.7

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

func NewMultiSource added in v0.2.7

func NewMultiSource(t LoadBalanceType) *DefaultMultiSource

func (*DefaultMultiSource) Bind added in v0.2.7

func (multiDs *DefaultMultiSource) Bind(action string, weight int, factory Factory)

func (*DefaultMultiSource) Select added in v0.2.7

func (multiDs *DefaultMultiSource) Select(action string) Factory

type Factory

type Factory interface {
	Open(datasource.DataSource) error
	Close() error

	GetDataSource() datasource.DataSource

	CreateTransaction() transaction.Transaction
	CreateExecutor(transaction.Transaction) executor.Executor
	CreateSession() session.SqlSession
	LogFunc() logging.LogFunc
}

type LoadBalanceType added in v0.2.7

type LoadBalanceType int
const (
	LBRoundRobbin       LoadBalanceType = loadbalance.LBRoundRobbin
	LBRoundRobbinWeight LoadBalanceType = loadbalance.LBRoundRobbinWeight
	LBRandom            LoadBalanceType = loadbalance.LBRandom
	LBRandomWeight      LoadBalanceType = loadbalance.LBRandomWeight

	DefaultGroup = "default"
)

type Manager added in v0.2.7

type Manager interface {
	Bind(action string, weight int, factory Factory)
	Select(action string) Factory
}

type SingleSource added in v0.2.7

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

func NewSingleSource added in v0.2.7

func NewSingleSource(factory Factory) *SingleSource

func (*SingleSource) Bind added in v0.2.7

func (singleDs *SingleSource) Bind(action string, weight int, factory Factory)

func (*SingleSource) Select added in v0.2.7

func (singleDs *SingleSource) Select(action string) Factory

Jump to

Keyboard shortcuts

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