Documentation ¶
Index ¶
- Constants
- func Close() error
- func Execute(command string, args ...interface{}) (middleware.Result, error)
- func ExecuteContext(ctx context.Context, command string, args ...interface{}) (middleware.Result, error)
- func InitGlobalPool(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, ...) error
- func InitGlobalPoolWithConfig(config Config, ...) error
- func InitGlobalPoolWithDefault(addr, dbName, dbUser, dbPass string) error
- func InitGlobalPoolWithPoolConfig(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
- func (conn *Conn) Begin() error
- func (conn *Conn) CheckInstanceStatus() bool
- func (conn *Conn) Commit() error
- func (conn *Conn) Execute(command string, args ...interface{}) (*Result, error)
- func (conn *Conn) ExecuteContext(ctx context.Context, command string, args ...interface{}) (*Result, error)
- func (conn *Conn) Prepare(command string) (*Statement, error)
- func (conn *Conn) PrepareContext(ctx context.Context, command string) (*Statement, error)
- func (conn *Conn) Rollback() error
- type Pool
- func NewPool(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, ...) (*Pool, error)
- func NewPoolWithConfig(config Config, ...) (*Pool, error)
- func NewPoolWithDefault(addr, dbName, dbUser, dbPass string) (*Pool, error)
- func NewPoolWithPoolConfig(config PoolConfig) (*Pool, error)
- type PoolConfig
- type PoolConn
- func (pc *PoolConn) Close() error
- func (pc *PoolConn) Disconnect() error
- func (pc *PoolConn) Execute(command string, args ...interface{}) (middleware.Result, error)
- func (pc *PoolConn) ExecuteContext(ctx context.Context, command string, args ...interface{}) (middleware.Result, error)
- func (pc *PoolConn) IsValid() bool
- func (pc *PoolConn) Prepare(command string) (middleware.Statement, error)
- func (pc *PoolConn) PrepareContext(ctx context.Context, command string) (middleware.Statement, error)
- type Result
- type Statement
Constants ¶
const ( DefaultDatabase = "default" DefaultReadTimeout = 10 DefaultWriteTimeout = 10 )
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 Execute ¶
func Execute(command string, args ...interface{}) (middleware.Result, error)
Execute executes given command
func ExecuteContext ¶ added in v0.3.0
func ExecuteContext(ctx context.Context, command string, args ...interface{}) (middleware.Result, error)
ExecuteContext executes given command with context
func InitGlobalPool ¶ added in v0.3.0
func InitGlobalPool(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int, altHosts ...string) error
InitGlobalPool returns a new *Pool and replaces it as global pool
func InitGlobalPoolWithConfig ¶ added in v0.3.0
func InitGlobalPoolWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) error
InitGlobalPoolWithConfig returns a new *Pool with a Config object and replaces it as global pool
func InitGlobalPoolWithDefault ¶ added in v0.3.0
InitGlobalPoolWithDefault returns a new *Pool with default configuration and replaces it as global pool
func InitGlobalPoolWithPoolConfig ¶ added in v0.3.0
func InitGlobalPoolWithPoolConfig(config PoolConfig) error
InitGlobalPoolWithPoolConfig returns a new *Pool with a PoolConfig object and replaces it as global pool
func Release ¶
Release releases given number of connections of global pool, each connection will disconnect with database
func ReplaceGlobalPool ¶
ReplaceGlobalPool replaces given pool as global pool
Types ¶
type Config ¶
type Config struct { Addr string DBName string DBUser string DBPass string Debug bool ReadTimeout int WriteTimeout int AltHosts []string }
func NewConfig ¶ added in v0.3.0
func NewConfig(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, altHosts ...string) Config
NewConfig returns a new Config
func NewConfigWithDefault ¶ added in v0.3.0
NewConfigWithDefault returns a new Config with default value
func (*Config) AltHostsExist ¶
AltHostsExist checks if alternative hosts is empty
func (*Config) AltHostsString ¶
AltHostsString converts AltHosts to string
func (*Config) GetConnectionString ¶
GetConnectionString generates connection string to clickhouse
type Conn ¶
type Conn struct { Config clickhouse.Clickhouse }
func NewConn ¶ added in v0.3.0
func NewConn(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, altHosts ...string) (*Conn, error)
NewConn returns connection to Clickhouse database, be aware that addr is host:port style
func NewConnWithConfig ¶ added in v0.3.0
NewConnWithConfig returns connection to mysql database with given Config
func NewConnWithDefault ¶ added in v0.3.0
func (*Conn) CheckInstanceStatus ¶
CheckInstanceStatus returns if instance is ok
func (*Conn) ExecuteContext ¶ added in v0.3.0
func (conn *Conn) ExecuteContext(ctx context.Context, command string, args ...interface{}) (*Result, error)
ExecuteContext executes given sql with arguments and context then return a result
func (*Conn) PrepareContext ¶ added in v0.3.0
PrepareContext prepares a statement with context and returns a *Statement
type Pool ¶
type Pool struct { sync.Mutex PoolConfig // contains filtered or unexported fields }
func NewPool ¶ added in v0.3.0
func NewPool(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int, altHosts ...string) (*Pool, error)
NewPool returns a new *Pool
func NewPoolWithConfig ¶ added in v0.3.0
func NewPoolWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) (*Pool, error)
NewPoolWithConfig returns a new *Pool with a Config object
func NewPoolWithDefault ¶ added in v0.3.0
NewPoolWithDefault returns a new *Pool with default configuration
func NewPoolWithPoolConfig ¶ added in v0.3.0
func NewPoolWithPoolConfig(config PoolConfig) (*Pool, error)
NewPoolWithPoolConfig returns a new *Pool with a PoolConfig object
func (*Pool) Get ¶
func (p *Pool) Get() (middleware.PoolConn, error)
Get is an exported alias of get() function with routine safe
func (*Pool) Transaction ¶
func (p *Pool) Transaction() (middleware.Transaction, error)
Transaction simply returns *PoolConn, because it had implemented Transaction interface
func (*Pool) UsedConnections ¶
UsedConnections returns used connection number
type PoolConfig ¶
type PoolConfig struct { Config MaxConnections int InitConnections int MaxIdleConnections int MaxIdleTime int KeepAliveInterval int }
func NewPoolConfig ¶
func NewPoolConfig(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int, altHosts ...string) PoolConfig
NewPoolConfig returns a new PoolConfig
func NewPoolConfigWithConfig ¶
func NewPoolConfigWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) PoolConfig
NewPoolConfigWithConfig returns a new PoolConfig
func (*PoolConfig) Validate ¶
func (cfg *PoolConfig) Validate() (bool, error)
Validate validates pool config
type PoolConn ¶
func Get ¶
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 ¶
func NewPoolConn(addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, alterHosts ...string) (*PoolConn, error)
NewPoolConn returns a new *PoolConn
func NewPoolConnWithPool ¶
func NewPoolConnWithPool(pool *Pool, addr, dbName, dbUser, dbPass string, debug bool, readTimeout, writeTimeout int, alterHosts ...string) (*PoolConn, error)
NewPoolConnWithPool returns a new *PoolConn
func (*PoolConn) Disconnect ¶ added in v0.2.24
Disconnect disconnects from mysql, normally when using connection pool, there is no need to disconnect manually, consider to use Close() instead.
func (*PoolConn) Execute ¶
func (pc *PoolConn) Execute(command string, args ...interface{}) (middleware.Result, error)
Execute executes given sql and placeholders on the mysql server
func (*PoolConn) ExecuteContext ¶ added in v0.3.0
func (pc *PoolConn) ExecuteContext(ctx context.Context, command string, args ...interface{}) (middleware.Result, error)
ExecuteContext executes given sql and placeholders on the mysql server
func (*PoolConn) Prepare ¶ added in v0.3.0
func (pc *PoolConn) Prepare(command string) (middleware.Statement, error)
Prepare prepares a statement and returns a *Statement
func (*PoolConn) PrepareContext ¶ added in v0.3.0
func (pc *PoolConn) PrepareContext(ctx context.Context, command string) (middleware.Statement, error)
PrepareContext prepares a statement with context and returns a *Statement
type Statement ¶ added in v0.3.0
type Statement struct {
clickhouse.Stmt
}
func NewStatement ¶ added in v0.3.0
func NewStatement(stmt clickhouse.Stmt) *Statement
func (*Statement) Execute ¶ added in v0.3.0
func (stmt *Statement) Execute(args ...interface{}) (middleware.Result, error)
Execute executes given sql and placeholders and returns a result
func (*Statement) ExecuteContext ¶ added in v0.3.0
func (stmt *Statement) ExecuteContext(ctx context.Context, args ...interface{}) (middleware.Result, error)
ExecuteContext executes given sql and placeholders with context and returns a result