mysql

package
v0.1.13 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	/*
		------------------------------------

		Prop for MySQL

		------------------------------------
	*/
	PropMySQLEnabled      = "mysql.enabled"
	PropMySQLUser         = "mysql.user"
	PropMySQLPassword     = "mysql.password"
	PropMySQLSchema       = "mysql.database"
	PropMySQLHost         = "mysql.host"
	PropMySQLPort         = "mysql.port"
	PropMySQLConnParam    = "mysql.connection.parameters"
	PropMySQLConnLifetime = "mysql.connection.lifetime"
	PropMySQLMaxOpenConns = "mysql.connection.open.max"
	PropMySQLMaxIdleConns = "mysql.connection.idle.max"
)

Variables

This section is empty.

Functions

func AddMySQLBootstrapCallback

func AddMySQLBootstrapCallback(cbk MySQLBootstrapCallback)

func GetMySQL

func GetMySQL() *gorm.DB

Get MySQL Connection.

func InitMySQL

func InitMySQL(rail miso.Rail, p MySQLConnParam) error

Init Handle to the database

If mysql client has been initialized, current func call will be ignored.

func InitMySQLFromProp

func InitMySQLFromProp(rail miso.Rail) error

Init connection to mysql

If mysql client has been initialized, current func call will be ignored.

This func looks for following props:

"mysql.user"
"mysql.password"
"mysql.database"
"mysql.host"
"mysql.port"
"mysql.connection.parameters"

func IsMySQLInitialized

func IsMySQLInitialized() bool

Check whether mysql client is initialized

func NewMySQLConn

func NewMySQLConn(rail miso.Rail, p MySQLConnParam) (*gorm.DB, error)

Create new MySQL connection

func QueryPage

func QueryPage[Res any](rail miso.Rail, tx *gorm.DB, p QueryPageParam[Res]) (miso.PageRes[Res], error)

Execute paged query.

COUNT query is called first, if none is found (i.e., COUNT(...) == 0), this method will not call the actual SELECT query to avoid unnecessary performance lost.

Types

type ChainedPageQuery added in v0.1.10

type ChainedPageQuery func(q *Query) *Query

type MySQLBootstrapCallback

type MySQLBootstrapCallback func(rail miso.Rail, db *gorm.DB) error

type MySQLConnParam

type MySQLConnParam struct {
	User            string
	Password        string
	Schema          string
	Host            string
	Port            int
	ConnParam       string
	MaxConnLifetime time.Duration
	MaxOpenConns    int
	MaxIdleConns    int
}

type Nilable added in v0.1.13

type Nilable interface {
	IsZero() bool
	MarkZero(isZero bool)
}

type NilableValue added in v0.1.13

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

func (*NilableValue) IsZero added in v0.1.13

func (n *NilableValue) IsZero() bool

func (*NilableValue) MarkZero added in v0.1.13

func (n *NilableValue) MarkZero(isZero bool)

type PageQuery added in v0.1.10

type PageQuery[V any] struct {
	// contains filtered or unexported fields
}

Create param for page query.

func NewPagedQuery added in v0.1.10

func NewPagedQuery[V any](db *gorm.DB) *PageQuery[V]

func (*PageQuery[V]) Scan added in v0.1.10

func (pq *PageQuery[V]) Scan(rail miso.Rail, reqPage miso.Paging) (miso.PageRes[V], error)

func (*PageQuery[V]) Transform added in v0.1.10

func (pq *PageQuery[V]) Transform(t util.Transform[V]) *PageQuery[V]

func (*PageQuery[V]) WithBaseQuery added in v0.1.10

func (pq *PageQuery[V]) WithBaseQuery(qry ChainedPageQuery) *PageQuery[V]

func (*PageQuery[V]) WithSelectQuery added in v0.1.10

func (pq *PageQuery[V]) WithSelectQuery(qry ChainedPageQuery) *PageQuery[V]

type PageQueryBuilder

type PageQueryBuilder func(tx *gorm.DB) *gorm.DB

type Query added in v0.1.6

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

func NewQuery added in v0.1.6

func NewQuery(db *gorm.DB) *Query

func (*Query) And added in v0.1.9

func (q *Query) And(f func(*Query) *Query) *Query

func (*Query) Between added in v0.1.6

func (q *Query) Between(col string, args ...any) *Query

func (*Query) CopyNew added in v0.1.12

func (q *Query) CopyNew() *Query

func (*Query) DB added in v0.1.6

func (q *Query) DB() *gorm.DB

func (*Query) Eq added in v0.1.6

func (q *Query) Eq(col string, args ...any) *Query

=

func (*Query) EqIf added in v0.1.6

func (q *Query) EqIf(cond bool, col string, args ...any) *Query

=

func (*Query) Exec added in v0.1.6

func (q *Query) Exec(sql string, args ...any) (rowsAffected int64, err error)

func (*Query) From added in v0.1.6

func (q *Query) From(table string) *Query

func (*Query) Ge added in v0.1.6

func (q *Query) Ge(col string, args ...any) *Query

>=

func (*Query) GeIf added in v0.1.6

func (q *Query) GeIf(cond bool, col string, args ...any) *Query

>=

func (*Query) Group added in v0.1.6

func (q *Query) Group(name string) *Query

func (*Query) Gt added in v0.1.6

func (q *Query) Gt(col string, args ...any) *Query

>

func (*Query) GtIf added in v0.1.6

func (q *Query) GtIf(cond bool, col string, args ...any) *Query

>

func (*Query) If added in v0.1.12

func (q *Query) If(cond bool, f func(*Query) *Query) *Query

func (*Query) IsNotNull added in v0.1.6

func (q *Query) IsNotNull(col string) *Query

func (*Query) IsNull added in v0.1.6

func (q *Query) IsNull(col string) *Query

func (*Query) Join added in v0.1.6

func (q *Query) Join(query string, args ...any) *Query

func (*Query) JoinIf added in v0.1.6

func (q *Query) JoinIf(addJoin bool, query string, args ...any) *Query

func (*Query) Le added in v0.1.6

func (q *Query) Le(col string, args ...any) *Query

<=

func (*Query) LeIf added in v0.1.6

func (q *Query) LeIf(cond bool, col string, args ...any) *Query

<=

func (*Query) Like added in v0.1.6

func (q *Query) Like(col string, val string) *Query

LIKE '%?%'

func (*Query) LikeIf added in v0.1.9

func (q *Query) LikeIf(cond bool, col string, val string) *Query

LIKE '%?%'

func (*Query) LikeLeft added in v0.1.6

func (q *Query) LikeLeft(col string, val string) *Query

LIKE '%?'

func (*Query) LikeLeftIf added in v0.1.9

func (q *Query) LikeLeftIf(cond bool, col string, val string) *Query

LIKE '%?'

func (*Query) LikeRight added in v0.1.6

func (q *Query) LikeRight(col string, val string) *Query

LIKE '?%'

func (*Query) LikeRightIf added in v0.1.9

func (q *Query) LikeRightIf(cond bool, col string, val string) *Query

LIKE '?%'

func (*Query) Limit added in v0.1.6

func (q *Query) Limit(n int) *Query

func (*Query) Lt added in v0.1.6

func (q *Query) Lt(col string, args ...any) *Query

<

func (*Query) LtIf added in v0.1.6

func (q *Query) LtIf(cond bool, col string, args ...any) *Query

<

func (*Query) Offset added in v0.1.6

func (q *Query) Offset(n int) *Query

func (*Query) Or added in v0.1.6

func (q *Query) Or(query string, args ...any) *Query

func (*Query) OrFunc added in v0.1.6

func (q *Query) OrFunc(f func(*Query) *Query) *Query

func (*Query) OrIf added in v0.1.6

func (q *Query) OrIf(cond bool, query string, args ...any) *Query

func (*Query) Order added in v0.1.6

func (q *Query) Order(order string) *Query

func (*Query) Raw added in v0.1.6

func (q *Query) Raw(sql string, args ...any) *Query

func (*Query) Scan added in v0.1.6

func (q *Query) Scan(ptr any) (rowsAffected int64, err error)

func (*Query) Select added in v0.1.6

func (q *Query) Select(cols string, args ...any) *Query

func (*Query) Set added in v0.1.9

func (q *Query) Set(col string, arg any) *Query

func (*Query) SetIf added in v0.1.9

func (q *Query) SetIf(cond bool, col string, arg any) *Query

func (*Query) Update added in v0.1.9

func (q *Query) Update() (rowsAffected int64, err error)

func (*Query) Where added in v0.1.6

func (q *Query) Where(query string, args ...any) *Query

func (*Query) WhereFunc added in v0.1.6

func (q *Query) WhereFunc(f func(*Query) *Query) *Query

func (*Query) WhereIf added in v0.1.6

func (q *Query) WhereIf(addWhere bool, query string, args ...any) *Query

type QueryPageParam

type QueryPageParam[V any] struct {
	// contains filtered or unexported fields
}

Create param for page query.

func NewPageQuery

func NewPageQuery[Res any]() *QueryPageParam[Res]

func (*QueryPageParam[V]) Exec

func (q *QueryPageParam[V]) Exec(rail miso.Rail, tx *gorm.DB) (miso.PageRes[V], error)

Execute paging query

func (*QueryPageParam[V]) ForEach

func (q *QueryPageParam[V]) ForEach(t util.Transform[V]) *QueryPageParam[V]

func (*QueryPageParam[V]) WithBaseQuery

func (q *QueryPageParam[V]) WithBaseQuery(qry PageQueryBuilder) *QueryPageParam[V]

func (*QueryPageParam[V]) WithPage

func (q *QueryPageParam[V]) WithPage(p miso.Paging) *QueryPageParam[V]

func (*QueryPageParam[V]) WithSelectQuery

func (q *QueryPageParam[V]) WithSelectQuery(qry PageQueryBuilder) *QueryPageParam[V]

Jump to

Keyboard shortcuts

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