client

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClientTLSConfig

func NewClientTLSConfig(caPem, certPem, keyPem []byte, insecureSkipVerify bool, serverName string) *tls.Config

NewClientTLSConfig: generate TLS config for client side if insecureSkipVerify is set to true, serverName will not be validated

Types

type Conn

type Conn struct {
	*packet.Conn
	// contains filtered or unexported fields
}

func Connect

func Connect(addr string, user string, password string, dbName string, options ...func(*Conn)) (*Conn, error)

Connect to a MySQL server, addr can be ip:port, or a unix socket domain like /var/sock. Accepts a series of configuration functions as a variadic argument.

func (*Conn) Begin

func (c *Conn) Begin() error

func (*Conn) Close

func (c *Conn) Close() error

func (*Conn) Commit

func (c *Conn) Commit() error

func (*Conn) Execute

func (c *Conn) Execute(command string, args ...interface{}) (*Result, error)

func (*Conn) ExecuteSelectStreaming added in v1.1.1

func (c *Conn) ExecuteSelectStreaming(command string, result *Result, perRowCallback SelectPerRowCallback) error

ExecuteSelectStreaming will call perRowCallback for every row in resultset

WITHOUT saving any row data to Result.{Values/RawPkg/RowDatas} fields.

ExecuteSelectStreaming should be used only for SELECT queries with a large response resultset for memory preserving.

Example:

		var result mysql.Result
		conn.ExecuteSelectStreaming(`SELECT ... LIMIT 100500`, &result, func(row []mysql.FieldValue) error {
  		// Use the row as you want.
  		// You must not save FieldValue.AsString() value after this callback is done. Copy it if you need.
  		return nil
		})

func (*Conn) FieldList

func (c *Conn) FieldList(table string, wildcard string) ([]*Field, error)

func (*Conn) GetCharset

func (c *Conn) GetCharset() string

func (*Conn) GetConnectionID

func (c *Conn) GetConnectionID() uint32

func (*Conn) GetDB

func (c *Conn) GetDB() string

func (*Conn) HandleErrorPacket

func (c *Conn) HandleErrorPacket(data []byte) error

func (*Conn) HandleOKPacket

func (c *Conn) HandleOKPacket(data []byte) *Result

func (*Conn) IsAutoCommit

func (c *Conn) IsAutoCommit() bool

func (*Conn) IsInTransaction

func (c *Conn) IsInTransaction() bool

func (*Conn) Ping

func (c *Conn) Ping() error

func (*Conn) Prepare

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

func (*Conn) ReadOKPacket

func (c *Conn) ReadOKPacket() (*Result, error)

func (*Conn) Rollback

func (c *Conn) Rollback() error

func (*Conn) SetAutoCommit

func (c *Conn) SetAutoCommit() error

func (*Conn) SetCharset

func (c *Conn) SetCharset(charset string) error

func (*Conn) SetTLSConfig

func (c *Conn) SetTLSConfig(config *tls.Config)

SetTLSConfig: use user-specified TLS config pass to options when connect

func (*Conn) UseDB

func (c *Conn) UseDB(dbName string) error

func (*Conn) UseSSL

func (c *Conn) UseSSL(insecureSkipVerify bool)

UseSSL: use default SSL pass to options when connect

type SelectPerRowCallback added in v1.1.1

type SelectPerRowCallback func(row []FieldValue) error

This function will be called for every row in resultset from ExecuteSelectStreaming.

type Stmt

type Stmt struct {
	// contains filtered or unexported fields
}

func (*Stmt) Close

func (s *Stmt) Close() error

func (*Stmt) ColumnNum

func (s *Stmt) ColumnNum() int

func (*Stmt) Execute

func (s *Stmt) Execute(args ...interface{}) (*Result, error)

func (*Stmt) ParamNum

func (s *Stmt) ParamNum() int

Jump to

Keyboard shortcuts

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