dbresolver

package
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Use

func Use(str string) clause.Interface

Types

type Config

type Config struct {
	Sources  []gorm.Dialector
	Replicas []gorm.Dialector
	Policy   Policy
	// contains filtered or unexported fields
}

type DBResolver

type DBResolver struct {
	*gorm.DB
	// contains filtered or unexported fields
}

func Register

func Register(config Config, datas ...interface{}) *DBResolver

func (*DBResolver) Call

func (dr *DBResolver) Call(fc func(connPool gorm.ConnPool) error) error

func (*DBResolver) Initialize

func (dr *DBResolver) Initialize(db *gorm.DB) error

func (*DBResolver) Name

func (dr *DBResolver) Name() string

func (*DBResolver) Register

func (dr *DBResolver) Register(config Config, datas ...interface{}) *DBResolver

func (*DBResolver) SetConnMaxIdleTime

func (dr *DBResolver) SetConnMaxIdleTime(d time.Duration) *DBResolver

func (*DBResolver) SetConnMaxLifetime

func (dr *DBResolver) SetConnMaxLifetime(d time.Duration) *DBResolver

func (*DBResolver) SetMaxIdleConns

func (dr *DBResolver) SetMaxIdleConns(n int) *DBResolver

func (*DBResolver) SetMaxOpenConns

func (dr *DBResolver) SetMaxOpenConns(n int) *DBResolver

type Operation

type Operation string
const (
	Write Operation = "write"
	Read  Operation = "read"
)

func (Operation) Build

func (op Operation) Build(clause.Builder)

func (Operation) MergeClause

func (op Operation) MergeClause(*clause.Clause)

func (Operation) Name

func (op Operation) Name() string

type Policy

type Policy interface {
	Resolve([]gorm.ConnPool) gorm.ConnPool
}

type RandomPolicy

type RandomPolicy struct {
}

func (RandomPolicy) Resolve

func (RandomPolicy) Resolve(connPools []gorm.ConnPool) gorm.ConnPool

Jump to

Keyboard shortcuts

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