autorc

package
v0.0.0-...-10d000d Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2013 License: Apache-2.0, BSD-3-Clause, BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Overview

Auto reconnect interface for MyMySQL

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsNetErr

func IsNetErr(err error) bool

Return true if error is network error or UnexpectedEOF.

Types

type Conn

type Conn struct {
	Raw mysql.Conn
	// Maximum reconnect retries.
	// Default is 7 which means 1+2+3+4+5+6+7 = 28 seconds before return error
	// (if waiting for error takes no time).
	MaxRetries int

	// Debug logging. You may change it at any time.
	Debug bool
}

func New

func New(proto, laddr, raddr, user, passwd string, db ...string) *Conn

func NewFromCF

func NewFromCF(cfgFile string) (*Conn, map[string]string, error)

func (*Conn) Begin

func (c *Conn) Begin(f func(mysql.Transaction, ...interface{}) error, args ...interface{}) error

Begin begins a transaction and calls f to complete it . If f returns an error and IsNetErr(error) == true it reconnects and calls f up to MaxRetries times. If error is of type *mysql.Error it tries rollback the transaction.

func (*Conn) Clone

func (c *Conn) Clone() *Conn

func (*Conn) Escape

func (c *Conn) Escape(s string) string

func (*Conn) Prepare

func (c *Conn) Prepare(sql string) (*Stmt, error)

Automatic connect/reconnect/repeat version of Prepare

func (*Conn) PrepareOnce

func (c *Conn) PrepareOnce(s *Stmt, sql string) error

Prepares statement if it wasn't prepared before

func (*Conn) Query

func (c *Conn) Query(sql string, params ...interface{}) (rows []mysql.Row, res mysql.Result, err error)

Automatic connect/reconnect/repeat version of Query

func (*Conn) QueryFirst

func (c *Conn) QueryFirst(sql string, params ...interface{}) (row mysql.Row, res mysql.Result, err error)

func (*Conn) QueryLast

func (c *Conn) QueryLast(sql string, params ...interface{}) (row mysql.Row, res mysql.Result, err error)

func (*Conn) Reconnect

func (c *Conn) Reconnect() (err error)

func (*Conn) Register

func (c *Conn) Register(sql string)

func (*Conn) SetMaxPktSize

func (c *Conn) SetMaxPktSize(new_size int) int

func (*Conn) SetTimeout

func (c *Conn) SetTimeout(timeout time.Duration)

func (*Conn) Use

func (c *Conn) Use(dbname string) (err error)

Automatic connect/reconnect/repeat version of Use

type Stmt

type Stmt struct {
	Raw mysql.Stmt
	// contains filtered or unexported fields
}

func (*Stmt) Bind

func (s *Stmt) Bind(params ...interface{})

func (*Stmt) Exec

func (s *Stmt) Exec(params ...interface{}) (rows []mysql.Row, res mysql.Result, err error)

Automatic connect/reconnect/repeat version of Exec

func (*Stmt) ExecFirst

func (s *Stmt) ExecFirst(params ...interface{}) (row mysql.Row, res mysql.Result, err error)

func (*Stmt) ExecLast

func (s *Stmt) ExecLast(params ...interface{}) (row mysql.Row, res mysql.Result, err error)

Jump to

Keyboard shortcuts

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