db

package
v0.4.6 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2020 License: Apache-2.0 Imports: 12 Imported by: 29

Documentation

Index

Constants

View Source
const (
	DefaultSelectLimit = 200
)

Variables

View Source
var (
	ErrNotFound           = dbr.ErrNotFound
	ErrNotSupported       = dbr.ErrNotSupported
	ErrTableNotSpecified  = dbr.ErrTableNotSpecified
	ErrColumnNotSpecified = dbr.ErrColumnNotSpecified
	ErrInvalidPointer     = dbr.ErrInvalidPointer
	ErrPlaceholderCount   = dbr.ErrPlaceholderCount
	ErrInvalidSliceLength = dbr.ErrInvalidSliceLength
	ErrCantConvertToTime  = dbr.ErrCantConvertToTime
	ErrInvalidTimestring  = dbr.ErrInvalidTimestring
)

package errors

Functions

func And

func And(cond ...dbr.Builder) dbr.Builder

And creates AND from a list of conditions

func Eq

func Eq(column string, value interface{}) dbr.Builder

Eq is `=`. When value is nil, it will be translated to `IS NULL`. When value is a slice, it will be translated to `IN`. Otherwise it will be translated to `=`.

func GetColumnsFromStruct added in v0.2.2

func GetColumnsFromStruct(s interface{}) []string

func GetColumnsFromStructWithPrefix added in v0.2.2

func GetColumnsFromStructWithPrefix(prefix string, s interface{}) []string

func GetLimit

func GetLimit(n uint64) uint64

func GetOffset

func GetOffset(n uint64) uint64

func Gt

func Gt(column string, value interface{}) dbr.Builder

Gt is `>`.

func Gte

func Gte(column string, value interface{}) dbr.Builder

Gte is '>='.

func Like

func Like(column string, value string) dbr.Builder

func Lt

func Lt(column string, value interface{}) dbr.Builder

Lt is '<'.

func Lte

func Lte(column string, value interface{}) dbr.Builder

Lte is `<=`.

func Neq

func Neq(column string, value interface{}) dbr.Builder

Neq is `!=`. When value is nil, it will be translated to `IS NOT NULL`. When value is a slice, it will be translated to `NOT IN`. Otherwise it will be translated to `!=`.

func NewContext added in v0.4.2

func NewContext(ctx context.Context, cfg config.MysqlConfig) context.Context

func Or

func Or(cond ...dbr.Builder) dbr.Builder

Or creates OR from a list of conditions

func Prefix added in v0.4.0

func Prefix(column string, value string) dbr.Builder

func WithPrefix added in v0.2.2

func WithPrefix(prefix, str string) string

Types

type Conn added in v0.2.0

type Conn struct {
	*dbr.Session

	InsertHook InsertHook
	UpdateHook UpdateHook
	DeleteHook DeleteHook
	// contains filtered or unexported fields
}

func (*Conn) DeleteFrom added in v0.2.0

func (conn *Conn) DeleteFrom(table string) *DeleteQuery

func (*Conn) InsertInto added in v0.2.0

func (conn *Conn) InsertInto(table string) *InsertQuery

func (*Conn) Select added in v0.2.0

func (conn *Conn) Select(columns ...string) *SelectQuery

func (*Conn) SelectAll added in v0.2.0

func (conn *Conn) SelectAll(columns ...string) *SelectQuery

func (*Conn) SelectBySql added in v0.2.0

func (conn *Conn) SelectBySql(query string, value ...interface{}) *SelectQuery

func (*Conn) Update added in v0.2.0

func (conn *Conn) Update(table string) *UpdateQuery

type Database

type Database struct {
	Conn *dbr.Connection
}

func FromContext added in v0.4.2

func FromContext(ctx context.Context) (*Database, bool)

func OpenDatabase

func OpenDatabase(cfg config.MysqlConfig) (*Database, error)

func (*Database) New added in v0.2.0

func (db *Database) New(ctx context.Context) *Conn

type DeleteHook added in v0.1.7

type DeleteHook func(query *DeleteQuery)

type DeleteQuery

type DeleteQuery struct {
	*dbr.DeleteBuilder

	Hook DeleteHook
	// contains filtered or unexported fields
}

func (*DeleteQuery) Exec

func (b *DeleteQuery) Exec() (sql.Result, error)

func (*DeleteQuery) Limit

func (b *DeleteQuery) Limit(n uint64) *DeleteQuery

func (*DeleteQuery) Where

func (b *DeleteQuery) Where(query interface{}, value ...interface{}) *DeleteQuery

type EqCondition added in v0.1.7

type EqCondition struct {
	dbr.Builder
	Column string
	Value  interface{}
}

type EventReceiver

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

EventReceiver is a sentinel EventReceiver; use it if the caller doesn't supply one

func (*EventReceiver) Event

func (n *EventReceiver) Event(eventName string)

Event receives a simple notification when various events occur

func (*EventReceiver) EventErr

func (n *EventReceiver) EventErr(eventName string, err error) error

EventErr receives a notification of an error if one occurs

func (*EventReceiver) EventErrKv

func (n *EventReceiver) EventErrKv(eventName string, err error, kvs map[string]string) error

EventErrKv receives a notification of an error if one occurs along with optional key/value data

func (*EventReceiver) EventKv

func (n *EventReceiver) EventKv(eventName string, kvs map[string]string)

EventKv receives a notification when various events occur along with optional key/value data

func (*EventReceiver) Timing

func (n *EventReceiver) Timing(eventName string, nanoseconds int64)

Timing receives the time an event took to happen

func (*EventReceiver) TimingKv

func (n *EventReceiver) TimingKv(eventName string, nanoseconds int64, kvs map[string]string)

TimingKv receives the time an event took to happen along with optional key/value data

type InsertHook added in v0.1.7

type InsertHook func(query *InsertQuery)

type InsertQuery

type InsertQuery struct {
	*dbr.InsertBuilder

	Hook InsertHook
	// contains filtered or unexported fields
}

func (*InsertQuery) Columns

func (b *InsertQuery) Columns(columns ...string) *InsertQuery

func (*InsertQuery) Exec

func (b *InsertQuery) Exec() (sql.Result, error)

func (*InsertQuery) Record

func (b *InsertQuery) Record(structValue interface{}) *InsertQuery

type SelectQuery

type SelectQuery struct {
	*dbr.SelectBuilder

	JoinCount int // for join filter
	// contains filtered or unexported fields
}

func (*SelectQuery) Count

func (b *SelectQuery) Count() (count uint32, err error)

func (*SelectQuery) Distinct

func (b *SelectQuery) Distinct() *SelectQuery

func (*SelectQuery) From

func (b *SelectQuery) From(table string) *SelectQuery

func (*SelectQuery) GroupBy

func (b *SelectQuery) GroupBy(col ...string) *SelectQuery

func (*SelectQuery) Join

func (b *SelectQuery) Join(table, on interface{}) *SelectQuery

func (*SelectQuery) JoinAs

func (b *SelectQuery) JoinAs(table string, alias string, on interface{}) *SelectQuery

func (*SelectQuery) Limit

func (b *SelectQuery) Limit(n uint64) *SelectQuery

func (*SelectQuery) Load

func (b *SelectQuery) Load(value interface{}) (int, error)

func (*SelectQuery) LoadOne

func (b *SelectQuery) LoadOne(value interface{}) error

func (*SelectQuery) Offset

func (b *SelectQuery) Offset(n uint64) *SelectQuery

func (*SelectQuery) OrderDir

func (b *SelectQuery) OrderDir(col string, isAsc bool) *SelectQuery

func (*SelectQuery) Where

func (b *SelectQuery) Where(query interface{}, value ...interface{}) *SelectQuery

type UpdateHook added in v0.1.7

type UpdateHook func(query *UpdateQuery)

type UpdateQuery

type UpdateQuery struct {
	*dbr.UpdateBuilder

	Hook UpdateHook
	// contains filtered or unexported fields
}

func (*UpdateQuery) Exec

func (b *UpdateQuery) Exec() (sql.Result, error)

func (*UpdateQuery) Limit

func (b *UpdateQuery) Limit(n uint64) *UpdateQuery

func (*UpdateQuery) Set

func (b *UpdateQuery) Set(column string, value interface{}) *UpdateQuery

func (*UpdateQuery) SetMap

func (b *UpdateQuery) SetMap(m map[string]interface{}) *UpdateQuery

func (*UpdateQuery) Where

func (b *UpdateQuery) Where(query interface{}, value ...interface{}) *UpdateQuery

Jump to

Keyboard shortcuts

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