dbquery

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetDB added in v0.1.18

func GetDB() *gorm.DB

func ImplGetPrimaryDBFunc added in v0.1.18

func ImplGetPrimaryDBFunc(impl func() *gorm.DB) (implSet bool)

func InitSchema

func InitSchema(rail miso.Rail, initSchemaSegments []string, getDB func() *gorm.DB) error

func InitSchemaConditionally added in v0.1.17

func InitSchemaConditionally(rail miso.Rail, conditionalSegments []ConditionalSchemaSegment, getDB func() *gorm.DB) error

func NewGormLogger added in v0.2.0

func NewGormLogger(config lg.Config) *gormLogger

func NewQueryFunc added in v0.2.0

func NewQueryFunc(table string, ops ...func(q *Query) *Query) func(r miso.Rail, db *gorm.DB) *Query

Types

type ChainedPageQuery

type ChainedPageQuery func(q *Query) *Query

type ConditionalSchemaSegment added in v0.1.17

type ConditionalSchemaSegment struct {
	Script    string
	Condition func(*gorm.DB) (ok bool, err error) // considered true if Condition is nil
	AfterExec func(*gorm.DB) error                // can be nil, called when script is executed without error
}

type IteratePageParam added in v0.1.22

type IteratePageParam struct {
	Limit int `json:"limit" desc:"page limit"`
}

type Nilable

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

type NilableValue

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

func (*NilableValue) IsZero

func (n *NilableValue) IsZero() bool

func (*NilableValue) MarkZero

func (n *NilableValue) MarkZero(isZero bool)

type PageQuery

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

Create param for page query.

func NewPagedQuery

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

func (*PageQuery[V]) IterateAll added in v0.1.22

func (pq *PageQuery[V]) IterateAll(rail miso.Rail, param IteratePageParam, forEach func(v V) (stop bool, err error)) error

func (*PageQuery[V]) Scan

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

func (*PageQuery[V]) Transform

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

func (*PageQuery[V]) TransformAsync

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

func (*PageQuery[V]) WithBaseQuery

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

func (*PageQuery[V]) WithSelectQuery

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

type Query

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

func NewQuery

func NewQuery(db *gorm.DB) *Query

func NewQueryRail added in v0.2.0

func NewQueryRail(r miso.Rail, db *gorm.DB) *Query

func (*Query) And

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

func (*Query) Between

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

func (*Query) ColumnName added in v0.2.0

func (q *Query) ColumnName(s string) string

func (*Query) CopyNew

func (q *Query) CopyNew() *Query

func (*Query) Count added in v0.2.0

func (q *Query) Count() (int64, error)

func (*Query) Create

func (q *Query) Create(v any) (rowsAffected int64, err error)

func (*Query) CreateIgnore added in v0.2.0

func (q *Query) CreateIgnore(v any) (rowsAffected int64, err error)

func (*Query) DB

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

func (*Query) Eq

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

=

func (*Query) EqIf

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

=

func (*Query) EqNotEmpty added in v0.1.22

func (q *Query) EqNotEmpty(col string, v any) *Query

=

func (*Query) Exec

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

func (*Query) From

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

Same as *Query.Table().

It was a mistake to call it From(), since we also use *Query to update tables :(

func (*Query) Ge

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

>=

func (*Query) GeIf

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

>=

func (*Query) Group

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

func (*Query) Gt

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

>

func (*Query) GtIf

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

>

func (*Query) If

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

func (*Query) IsNotNull

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

func (*Query) IsNull

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

func (*Query) Join

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

func (*Query) JoinIf

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

func (*Query) Joins added in v0.1.22

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

func (*Query) Le

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

<=

func (*Query) LeIf

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

<=

func (*Query) Like

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

LIKE '%?%'

func (*Query) LikeIf

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

LIKE '%?%'

func (*Query) LikeLeft

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

LIKE '%?'

func (*Query) LikeLeftIf

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

LIKE '%?'

func (*Query) LikeRight

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

LIKE '?%'

func (*Query) LikeRightIf

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

LIKE '?%'

func (*Query) Limit

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

func (*Query) Lt

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

<

func (*Query) LtIf

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

<

func (*Query) Ne

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

!=

func (*Query) NeIf

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

!=

func (*Query) Offset

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

func (*Query) Omit added in v0.2.0

func (q *Query) Omit(col ...string) *Query

func (*Query) Or

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

func (*Query) OrFunc

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

func (*Query) OrIf

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

func (*Query) Order

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

func (*Query) OrderAsc added in v0.2.1

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

func (*Query) OrderDesc added in v0.2.1

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

func (*Query) Raw

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

func (*Query) Scan

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

func (*Query) Select

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

func (*Query) SelectCols added in v0.2.0

func (q *Query) SelectCols(v any) *Query

func (*Query) Set

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

func (*Query) SetCols added in v0.2.0

func (q *Query) SetCols(arg any, cols ...string) *Query

func (*Query) SetIf

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

func (*Query) Table

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

func (*Query) Transaction added in v0.2.1

func (q *Query) Transaction(onTransaction func(db *gorm.DB) error) error

func (*Query) Update

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

func (*Query) Where

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

func (*Query) WhereFunc

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

func (*Query) WhereIf

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

func (*Query) WhereNotNil added in v0.1.22

func (q *Query) WhereNotNil(query string, v any) *Query

Jump to

Keyboard shortcuts

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