Versions in this module Expand all Collapse all v1 v1.0.0 Mar 9, 2021 Changes in this version + const DefaultDialTimeout + const DefaultMaxIdleConns + const DefaultMaxLifetime + const DefaultMaxOpenConns + const DefaultReadTimeout + const DefaultWriteTimeout + var ErrorClientInvalidReplica = errors.New("invalid replica") + var ErrorNotImplemented = errors.New("not implemented") + var ErrorResultNoColumnsFound = errors.New("no columns found") + type Client struct + func NewClient(primary *Config) (*Client, error) + func (c *Client) BeginTransaction() (*Transaction, error) + func (c *Client) BeginTransactionContext(ctx context.Context) (*Transaction, error) + func (c *Client) Close() + func (c *Client) Exec(query string, args ...interface{}) (Result, error) + func (c *Client) ExecContext(ctx context.Context, query string, args ...interface{}) (Result, error) + func (c *Client) GetPrimary() *Database + func (c *Client) GetReplica() *Database + func (c *Client) Query(query string, args ...interface{}) (Result, error) + func (c *Client) QueryContext(ctx context.Context, query string, args ...interface{}) (Result, error) + func (c *Client) SetReplica(replica *Config) error + type Config struct + MaxIdleConns int + MaxLifetime time.Duration + MaxOpenConns int + PingTest bool + func NewDefaultConfig(addr, dbname, user, passwd string, ping bool) *Config + func (c *Config) UniqId() string + type Database struct + func NewDatabase(addr, dbname, user, passwd string, opts ...DatabaseOption) (*Database, error) + func NewDatabaseWithConfig(conf *Config) (*Database, error) + func (d *Database) ActiveConns() int + func (d *Database) BeginTransaction() (*Transaction, error) + func (d *Database) BeginTransactionContext(ctx context.Context) (*Transaction, error) + func (d *Database) Close() error + func (d *Database) Exec(query string, args ...interface{}) (Result, error) + func (d *Database) ExecContext(ctx context.Context, query string, args ...interface{}) (Result, error) + func (d *Database) IdleConns() int + func (d *Database) Ping(ctx context.Context) error + func (d *Database) Prepare(query string) (*Statement, error) + func (d *Database) PrepareContext(ctx context.Context, query string) (*Statement, error) + func (d *Database) Query(query string, args ...interface{}) (Result, error) + func (d *Database) QueryContext(ctx context.Context, query string, args ...interface{}) (Result, error) + type DatabaseOption func(conf *Config) + func WithDialTimeout(timeout time.Duration) DatabaseOption + func WithMaxConnLifetime(lifetime time.Duration) DatabaseOption + func WithMaxIdleConns(limit int) DatabaseOption + func WithMaxOpenConns(limit int) DatabaseOption + func WithPingTest(b bool) DatabaseOption + func WithReadTimeout(timeout time.Duration) DatabaseOption + func WithWriteTimeout(timeout time.Duration) DatabaseOption + type Result struct + func (r Result) Hit() string + func (r Result) LastInsertId() (int64, error) + func (r Result) Row() (row map[string]string, err error) + func (r Result) Rows() (rows []map[string]string, err error) + func (r Result) RowsAffected() (int64, error) + func (r Result) Unmarshal(rows interface{}) error + type Statement struct + func (s *Statement) Close() error + func (s *Statement) Exec(args ...interface{}) (Result, error) + func (s *Statement) ExecContext(ctx context.Context, args ...interface{}) (Result, error) + func (s *Statement) Query(args ...interface{}) (Result, error) + func (s *Statement) QueryContext(ctx context.Context, args ...interface{}) (Result, error) + type Transaction struct + func (t *Transaction) Commit() error + func (t *Transaction) Exec(query string, args ...interface{}) (Result, error) + func (t *Transaction) ExecContext(ctx context.Context, query string, args ...interface{}) (Result, error) + func (t *Transaction) Prepare(query string) (*Statement, error) + func (t *Transaction) PrepareContext(ctx context.Context, query string) (*Statement, error) + func (t *Transaction) Query(query string, args ...interface{}) (Result, error) + func (t *Transaction) QueryContext(ctx context.Context, query string, args ...interface{}) (Result, error) + func (t *Transaction) Rollback() error