Documentation ¶
Index ¶
- Constants
- func Close() error
- func Execute(sql string, args ...interface{}) (middleware.Result, error)
- func InitMySQLGlobalPool(addr, dbName, dbUser, dbPass string, ...) error
- func InitMySQLGlobalPoolWithConfig(config Config, ...) error
- func InitMySQLGlobalPoolWithDefault(addr, dbName, dbUser, dbPass string) error
- func InitMySQLGlobalPoolWithPoolConfig(config PoolConfig) error
- func IsClosed() bool
- func Release(num int) error
- func ReplaceGlobalPool(pool *Pool) error
- func Supply(num int) error
- type Config
- type Conn
- type Pool
- type PoolConfig
- type PoolConn
- type Result
- func (r *Result) ColumnExists(name string) bool
- func (r *Result) ColumnNumber() int
- func (r *Result) GetFloat(row, column int) (float64, error)
- func (r *Result) GetFloatByName(row int, name string) (float64, error)
- func (r *Result) GetInt(row, column int) (int64, error)
- func (r *Result) GetIntByName(row int, name string) (int64, error)
- func (r *Result) GetString(row, column int) (string, error)
- func (r *Result) GetStringByName(row int, name string) (string, error)
- func (r *Result) GetUint(row, column int) (uint64, error)
- func (r *Result) GetUintByName(row int, name string) (uint64, error)
- func (r *Result) GetValue(row, column int) (interface{}, error)
- func (r *Result) GetValueByName(row int, name string) (interface{}, error)
- func (r *Result) IsNull(row, column int) (bool, error)
- func (r *Result) IsNullByName(row int, name string) (bool, error)
- func (r *Result) MapToStructByRowIndex(in interface{}, row int, tag string) error
- func (r *Result) MapToStructSlice(in interface{}, tag string) error
- func (r *Result) NameIndex(name string) (int, error)
- func (r *Result) RowNumber() int
Constants ¶
const ( DefaultCharSet = "utf8mb4" ReplicationMaster = "master" ReplicationSlave = "slave" ReplicationRelay = "relay" // it has master and slave roles at the same time HostString = "host" PortString = "port" ShowSlaveStatusSQL = "show slave status" )
const ( DefaultMaxConnections = 20 DefaultInitConnections = 5 DefaultMaxIdleConnections = 10 DefaultMaxIdleTime = 1800 // Seconds DefaultKeepAliveInterval = 300 // Seconds DefaultKeepAliveChunkSize = 5 DefaultSleepTime = 1 // Seconds )
Variables ¶
This section is empty.
Functions ¶
func Close ¶ added in v0.2.1
func Close() error
Close closes global pool, it sets global pool to nil pointer
func Execute ¶ added in v0.2.1
func Execute(sql string, args ...interface{}) (middleware.Result, error)
Execute execute given sql statement
func InitMySQLGlobalPool ¶ added in v0.2.1
func InitMySQLGlobalPool(addr, dbName, dbUser, dbPass string, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) error
InitMySQLGlobalPool returns a new *Pool and replaces it as global pool
func InitMySQLGlobalPoolWithConfig ¶ added in v0.2.1
func InitMySQLGlobalPoolWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) error
InitMySQLGlobalPoolWithConfig returns a new *Pool with a Config object and replaces it as global pool
func InitMySQLGlobalPoolWithDefault ¶ added in v0.2.1
InitMySQLGlobalPoolWithDefault returns a new *Pool with default configuration and replaces it as global pool
func InitMySQLGlobalPoolWithPoolConfig ¶ added in v0.2.1
func InitMySQLGlobalPoolWithPoolConfig(config PoolConfig) error
InitMySQLGlobalPoolWithPoolConfig returns a new *Pool with a PoolConfig object and replaces it as global pool
func IsClosed ¶ added in v0.2.1
func IsClosed() bool
IsClosed returns if global pool had been closed
func Release ¶ added in v0.2.1
Release releases given number of connections of global pool, each connection will disconnect with database
func ReplaceGlobalPool ¶ added in v0.2.1
ReplaceGlobalPool replaces given pool as global pool
Types ¶
type Conn ¶
func NewMySQLConn ¶
NewMySQLConn returns connection to mysql database, be aware that addr is host:port style, default charset is utf8mb4
func (*Conn) CheckInstanceStatus ¶ added in v0.2.0
CheckInstanceStatus checks mysql instance status
func (*Conn) GetReplicationRole ¶
GetReplicationRole returns replication role
func (*Conn) GetReplicationSlaveList ¶
GetReplicationSlaveList returns slave list of this server
type Pool ¶ added in v0.2.0
type Pool struct { sync.Mutex PoolConfig // contains filtered or unexported fields }
func NewMySQLPool ¶ added in v0.2.0
func NewMySQLPool(addr, dbName, dbUser, dbPass string, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) (*Pool, error)
NewMySQLPool returns a new *Pool
func NewMySQLPoolWithConfig ¶ added in v0.2.0
func NewMySQLPoolWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) (*Pool, error)
NewMySQLPoolWithConfig returns a new *Pool with a Config object
func NewMySQLPoolWithDefault ¶ added in v0.2.0
NewMySQLPoolWithDefault returns a new *Pool with default configuration
func NewMySQLPoolWithPoolConfig ¶ added in v0.2.0
func NewMySQLPoolWithPoolConfig(config PoolConfig) (*Pool, error)
NewMySQLPoolWithPoolConfig returns a new *Pool with a PoolConfig object
func (*Pool) Get ¶ added in v0.2.0
func (p *Pool) Get() (middleware.PoolConn, error)
Get is an exported alias of get() function with routine safe
func (*Pool) Supply ¶ added in v0.2.0
Supply is an exported alias of supply() function with routine safe
func (*Pool) UsedConnections ¶ added in v0.2.1
UsedConnections returns used connection number
type PoolConfig ¶ added in v0.2.0
type PoolConfig struct { Config MaxConnections int InitConnections int MaxIdleConnections int MaxIdleTime int KeepAliveInterval int }
func NewPoolConfig ¶ added in v0.2.0
func NewPoolConfig(addr, dbName, dbUser, dbPass string, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) PoolConfig
NewPoolConfig returns a new PoolConfig
func NewPoolConfigWithConfig ¶ added in v0.2.0
func NewPoolConfigWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) PoolConfig
NewPoolConfigWithConfig returns a new PoolConfig
func (*PoolConfig) Validate ¶ added in v0.2.0
func (cfg *PoolConfig) Validate() (bool, error)
Validate validates pool config
type PoolConn ¶ added in v0.2.0
func Get ¶ added in v0.2.1
Get get gets a connection from pool and validate it, if there is no valid connection in the pool, it will create a new connection
func NewPoolConn ¶ added in v0.2.0
NewPoolConn returns a new *PoolConn
func NewPoolConnWithPool ¶ added in v0.2.0
NewPoolConnWithPool returns a new *PoolConn
func (*PoolConn) DisConnect ¶ added in v0.2.0
DisConnect disconnects from mysql, normally when using connection pool, there is no need to disconnect manually, consider to use Close() instead.
type Result ¶ added in v0.2.8
func (*Result) ColumnExists ¶ added in v0.2.11
ColumnExists check if column exists in the result
func (*Result) ColumnNumber ¶ added in v0.2.8
ColumnNumber returns how many columns in the result
func (*Result) GetFloat ¶ added in v0.2.8
GetFloat returns float64 type value of given row and column number
func (*Result) GetFloatByName ¶ added in v0.2.8
GetFloatByName returns float64 type value of given row number and column name
func (*Result) GetInt ¶ added in v0.2.8
GetInt returns int64 type value of given row and column number
func (*Result) GetIntByName ¶ added in v0.2.8
GetIntByName returns int64 type value of given row number and column name
func (*Result) GetString ¶ added in v0.2.8
GetString returns string type value of given row and column number
func (*Result) GetStringByName ¶ added in v0.2.8
GetStringByName returns string type value of given row number and column name
func (*Result) GetUint ¶ added in v0.2.8
GetUint returns uint64 type value of given row and column number
func (*Result) GetUintByName ¶ added in v0.2.8
GetUintByName returns uint64 type value of given row number and column name
func (*Result) GetValue ¶ added in v0.2.8
GetValue returns interface{} type value of given row and column number
func (*Result) GetValueByName ¶ added in v0.2.8
GetValueByName returns interface{} type value of given row number and column name
func (*Result) IsNullByName ¶ added in v0.2.8
IsNullByName checks if value of given row number and column name is nil
func (*Result) MapToStructByRowIndex ¶ added in v0.2.15
MapToStructByRowIndex maps row of given index result to the struct first argument must be a pointer to struct, each column in the row maps to a field of the struct, tag argument is the tag of the field, it represents the column name, if there is no such tag in the field, this field will be ignored, so set tag to each field that need to be mapped, using "middleware" as the tag is recommended.
func (*Result) MapToStructSlice ¶ added in v0.2.12
MapToStructSlice maps each row to a struct of the first argument, first argument must be a slice of pointers to structs, each row in the result maps to a struct in the slice, each column in the row maps to a field of the struct, tag argument is the tag of the field, it represents the column name, if there is no such tag in the field, this field will be ignored, so set tag to each field that need to be mapped, using "middleware" as the tag is recommended.