dbm

package module
v0.18.4 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: MIT Imports: 9 Imported by: 5

Documentation

Index

Constants

View Source
const (
	DriverMySQL     = `mysql`
	DriverSQLServer = `sqlserver`
)
View Source
const (
	ErrConnectionNotFound = Error(`connection not found`)
	ErrDriverNotDefined   = Error(`database driver not defined`)
)

Variables

This section is empty.

Functions

func DeleteFrom added in v0.16.0

func DeleteFrom(table string) *stmt.Delete

func InsertInto

func InsertInto(table, fields string) *stmt.Insert

func IsErrDuplicate added in v0.12.0

func IsErrDuplicate(e error) bool

func IsErrNotFound added in v0.12.2

func IsErrNotFound(e error) bool

func Register

func Register(name string, driver Driver)

func Select

func Select(fields string) *stmt.SelectFields

func Update

func Update(table string) *stmt.Update

Types

type Config added in v0.13.0

type Config struct {
	DriverName string

	Hostname string
	Port     int
	Username string
	Password string
	Name     string

	DisableEncryption bool
}

type Connection

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

Connection ...

func Connect

func Connect(driver, hostname string, port int, username, password, name string, opts ...Options) (*Connection, error)

func (*Connection) Begin

func (c *Connection) Begin() (*Tx, error)

Begin ...

func (*Connection) Close

func (c *Connection) Close() error

Close ...

func (*Connection) Connect

func (c *Connection) Connect(opts ...Options) error

Connect ...

func (*Connection) Driver

func (c *Connection) Driver() Driver

func (*Connection) EnumValues

func (c *Connection) EnumValues(field string) ([]string, error)

EnumValues return enum values, parameter field using dot notation. Ex: profile.gender , returning ['male', 'female']

func (*Connection) Exec

func (c *Connection) Exec(query string, args ...interface{}) (*Result, error)

Exec ...

func (*Connection) Get

func (c *Connection) Get(query string, args ...interface{}) (Resultset, error)

Get ...

func (*Connection) GetStruct

func (c *Connection) GetStruct(dest interface{}, query string, args ...interface{}) error

GetStruct ...

func (*Connection) Insert

func (c *Connection) Insert(tableName string, dataMap map[string]interface{}) (*Result, error)

Insert ...

func (*Connection) MustBegin

func (c *Connection) MustBegin() *Tx

MustBegin ...

func (*Connection) MustExec

func (c *Connection) MustExec(query string, args ...interface{}) *Result

MustExec ...

func (*Connection) MustGet

func (c *Connection) MustGet(query string, args ...interface{}) Resultset

MustGet ...

func (*Connection) MustInsert

func (c *Connection) MustInsert(tableName string, dataMap map[string]interface{}) *Result

MustInsert ...

func (*Connection) MustSelect

func (c *Connection) MustSelect(query string, args ...interface{}) []Resultset

MustSelect ...

func (*Connection) Ping

func (c *Connection) Ping() error

Ping ...

func (*Connection) Query added in v0.10.3

func (c *Connection) Query(query string, args ...interface{}) (*Rows, error)

func (*Connection) SQL added in v0.15.1

func (c *Connection) SQL(stmt interface{}) string

func (*Connection) Select

func (c *Connection) Select(query string, args ...interface{}) ([]Resultset, error)

Select ...

func (*Connection) SelectStruct

func (c *Connection) SelectStruct(dest interface{}, query string, args ...interface{}) error

SelectStruct ...

func (*Connection) SetConnMaxLifetime

func (c *Connection) SetConnMaxLifetime(duration time.Duration)

SetConnMaxLifetime ...

func (*Connection) SetMaxIdleConns

func (c *Connection) SetMaxIdleConns(max int)

SetMaxIdleConns ...

func (*Connection) SetMaxOpenConns

func (c *Connection) SetMaxOpenConns(max int)

SetMaxOpenConns ...

type Driver

type Driver interface {
	Name() string
	DataSourceName(Config) string
	StatementString(stmt interface{}) string
	IsDuplicate(e error) bool
	BuildContents([]*sql.ColumnType) ([]interface{}, error)
	SanitizeParams([]interface{}) []interface{}
}

type Error added in v0.17.1

type Error string

func (Error) Error added in v0.17.1

func (e Error) Error() string

type Options added in v0.14.0

type Options func(*Connection)

func OptionDisableEncryption added in v0.14.0

func OptionDisableEncryption() Options

func OptionMaxIdle added in v0.14.0

func OptionMaxIdle(count int) Options

OptionMaxIdle default is 2

func OptionMaxIdleTime added in v0.14.0

func OptionMaxIdleTime(duration time.Duration) Options

OptionMaxIdleTime default is 60 seconds

func OptionMaxLifetime added in v0.14.0

func OptionMaxLifetime(duration time.Duration) Options

OptionMaxLifetime default is 5 minutes

func OptionMaxOpen added in v0.14.0

func OptionMaxOpen(count int) Options

OptionMaxOpen default is 0 (unlimited)

type Result

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

Result ...

func (*Result) LastInsertID

func (r *Result) LastInsertID() (ID int, e error)

LastInsertID ...

func (*Result) MustLastInsertID

func (r *Result) MustLastInsertID() int

MustLastInsertID ...

func (*Result) MustRowsAffected

func (r *Result) MustRowsAffected() int

MustRowsAffected ...

func (*Result) RowsAffected

func (r *Result) RowsAffected() (int, error)

RowsAffected ...

type Resultset

type Resultset map[string]interface{}

Resultset ...

func (Resultset) Bool added in v0.15.0

func (r Resultset) Bool(name string) bool

Bool return boolean value or false if not exist

func (Resultset) BoolNil added in v0.15.0

func (r Resultset) BoolNil(name string) *bool

Bool return boolean value or nil if not exist

func (Resultset) Bytes

func (r Resultset) Bytes(name string) []byte

Bytes ...

func (Resultset) Float

func (r Resultset) Float(name string) float64

Float ...

func (Resultset) FloatNil

func (r Resultset) FloatNil(name string) *float64

FloatNil ...

func (Resultset) FloatOr

func (r Resultset) FloatOr(name string, defValue float64) float64

FloatOr ...

func (Resultset) Int

func (r Resultset) Int(name string) int

Int ...

func (Resultset) IntNil

func (r Resultset) IntNil(name string) *int

IntNil ...

func (Resultset) IntOr

func (r Resultset) IntOr(name string, defValue int) int

IntOr ...

func (Resultset) Interface

func (r Resultset) Interface(name string) interface{}

Interface ...

func (Resultset) String

func (r Resultset) String(name string) string

String ...

func (Resultset) StringNil

func (r Resultset) StringNil(name string) *string

StringNil ...

func (Resultset) StringOr

func (r Resultset) StringOr(name string, defValue string) string

StringOr ...

func (Resultset) Time

func (r Resultset) Time(name string) time.Time

Time ...

func (Resultset) TimeNil

func (r Resultset) TimeNil(name string) *time.Time

TimeNil ...

type Rows added in v0.10.3

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

func (*Rows) Next added in v0.10.3

func (r *Rows) Next() bool

func (*Rows) Resultset added in v0.10.3

func (r *Rows) Resultset() (*Resultset, error)

type SQLStatement added in v0.10.2

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

func SQL added in v0.10.2

func SQL(statement string) SQLStatement

type Tx

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

func (*Tx) Commit

func (t *Tx) Commit() error

func (*Tx) Exec

func (t *Tx) Exec(query string, args ...interface{}) (*Result, error)

func (*Tx) Get

func (t *Tx) Get(query string, args ...interface{}) (Resultset, error)

func (*Tx) GetStruct

func (t *Tx) GetStruct(dest interface{}, query string, args ...interface{}) error

func (*Tx) Insert

func (t *Tx) Insert(tableName string, dataMap map[string]interface{}) (*Result, error)

func (*Tx) MustExec

func (t *Tx) MustExec(query string, args ...interface{}) *Result

func (*Tx) MustGet

func (t *Tx) MustGet(query string, args ...interface{}) Resultset

func (*Tx) MustInsert

func (t *Tx) MustInsert(tableName string, dataMap map[string]interface{}) *Result

func (*Tx) MustRecover

func (t *Tx) MustRecover()

func (*Tx) MustSelect

func (t *Tx) MustSelect(query string, args ...interface{}) []Resultset

func (*Tx) Recover

func (t *Tx) Recover()

func (*Tx) Rollback

func (t *Tx) Rollback() error

func (*Tx) Select

func (t *Tx) Select(query string, args ...interface{}) ([]Resultset, error)

func (*Tx) SelectStruct

func (t *Tx) SelectStruct(dest interface{}, query string, args ...interface{}) error

Directories

Path Synopsis
driver

Jump to

Keyboard shortcuts

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