db

package
v0.0.0-...-15871f2 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunNoTx

func RunNoTx(tenant interface{}, fn func(session *Session) error) error

func RunTx

func RunTx(tenant interface{}, fn func(session *Session) error) error

func RunWithTenant

func RunWithTenant[T any](s *Session, tenant interface{}, runner func() T) T

func SetOrmVerbose

func SetOrmVerbose()

func ValueToInt

func ValueToInt(val interface{}) int

func ValueToInt64

func ValueToInt64(val interface{}) int64

Types

type Criteria

type Criteria struct {
	Path       string
	Value      interface{}
	Value2     interface{}
	Expression CriteriaExpression

	Match CriteriaLikeMatch

	InValues []interface{}

	Result  interface{}
	Results interface{}

	UpdateParams map[string]interface{}

	Page *Page

	Error error

	Count32 int
	Count64 int64

	Limit  int64
	Offset int64

	Session *Session

	RelatedSelList []string

	Any      bool
	Empty    bool
	HasError bool

	ForceAnd bool
	ForceOr  bool
	Distinct bool

	Debug bool
	// contains filtered or unexported fields
}

func NewCondition

func NewCondition() *Criteria

func NewCriteria

func NewCriteria(session *Session, entity interface{}, entities interface{}) *Criteria

func (*Criteria) AggregateList

func (this *Criteria) AggregateList(s string, r interface{}) *Criteria

func (*Criteria) AggregateOne

func (this *Criteria) AggregateOne(s string, r interface{}) *Criteria

func (*Criteria) And

func (this *Criteria) And(criteria *Criteria) *Criteria

func (*Criteria) AndOr

func (this *Criteria) AndOr(criteria *Criteria) *Criteria

func (*Criteria) AndOrAnd

func (this *Criteria) AndOrAnd(criteriaSet *CriteriaSet) *Criteria

func (*Criteria) Between

func (this *Criteria) Between(path string, value interface{}, value2 interface{}) *Criteria

func (*Criteria) CopyConditions

func (this *Criteria) CopyConditions(c *Criteria)

func (*Criteria) Count

func (this *Criteria) Count() *Criteria

func (*Criteria) Delete

func (this *Criteria) Delete() *Criteria

func (*Criteria) Eq

func (this *Criteria) Eq(path string, value interface{}) *Criteria

func (*Criteria) EqAnd

func (this *Criteria) EqAnd(path string, value interface{}) *Criteria

func (*Criteria) Exists

func (this *Criteria) Exists() bool

func (*Criteria) Ge

func (this *Criteria) Ge(path string, value interface{}) *Criteria

func (*Criteria) Get

func (this *Criteria) Get(id int64) *Criteria

func (*Criteria) GroupBy

func (this *Criteria) GroupBy(s string) *Criteria

func (*Criteria) Gt

func (this *Criteria) Gt(path string, value interface{}) *Criteria

func (*Criteria) In

func (this *Criteria) In(path string, values ...interface{}) *Criteria

func (*Criteria) IsCount

func (this *Criteria) IsCount() bool

func (*Criteria) IsExists

func (this *Criteria) IsExists() bool

func (*Criteria) IsList

func (this *Criteria) IsList() bool

func (*Criteria) IsListAndCount

func (this *Criteria) IsListAndCount() bool

func (*Criteria) IsNotNull

func (this *Criteria) IsNotNull(path string) *Criteria

func (*Criteria) IsNull

func (this *Criteria) IsNull(path string) *Criteria

func (*Criteria) IsOne

func (this *Criteria) IsOne() bool

func (*Criteria) Le

func (this *Criteria) Le(path string, value interface{}) *Criteria

func (*Criteria) Like

func (this *Criteria) Like(path string, value interface{}) *Criteria

func (*Criteria) LikeMatch

func (this *Criteria) LikeMatch(path string, value interface{}, likeMatch CriteriaLikeMatch) *Criteria

func (*Criteria) List

func (this *Criteria) List() *Criteria

func (*Criteria) ListAndCount

func (this *Criteria) ListAndCount() *Criteria

func (*Criteria) Lt

func (this *Criteria) Lt(path string, value interface{}) *Criteria

func (*Criteria) Ne

func (this *Criteria) Ne(path string, value interface{}) *Criteria

func (*Criteria) NotIn

func (this *Criteria) NotIn(path string, values ...interface{}) *Criteria

func (*Criteria) NotLike

func (this *Criteria) NotLike(path string, value interface{}) *Criteria

func (*Criteria) NotLikeMatch

func (this *Criteria) NotLikeMatch(path string, value interface{}, likeMatch CriteriaLikeMatch) *Criteria

func (*Criteria) One

func (this *Criteria) One() *Criteria

func (*Criteria) Or

func (this *Criteria) Or(criteria *Criteria) *Criteria

func (*Criteria) OrAnd

func (this *Criteria) OrAnd(criteria *Criteria) *Criteria

func (*Criteria) OrderAsc

func (this *Criteria) OrderAsc(path string) *Criteria

func (*Criteria) OrderDesc

func (this *Criteria) OrderDesc(path string) *Criteria

func (*Criteria) Query

func (this *Criteria) Query() orm.QuerySeter

func (*Criteria) RunWithTenant

func (this *Criteria) RunWithTenant(tenant interface{}, runner func(c *Criteria))

func (*Criteria) SetDebug

func (this *Criteria) SetDebug(debug bool) *Criteria

func (*Criteria) SetDefaults

func (this *Criteria) SetDefaults() *Criteria

func (*Criteria) SetDistinct

func (this *Criteria) SetDistinct() *Criteria

func (*Criteria) SetEntity

func (this *Criteria) SetEntity(entity interface{}) *Criteria

func (*Criteria) SetError

func (this *Criteria) SetError(err error)

func (*Criteria) SetLimit

func (this *Criteria) SetLimit(limit int64) *Criteria

func (*Criteria) SetOffset

func (this *Criteria) SetOffset(offset int64) *Criteria

func (*Criteria) SetPage

func (this *Criteria) SetPage(page *Page) *Criteria

func (*Criteria) SetRelatedSel

func (this *Criteria) SetRelatedSel(related string) *Criteria

func (*Criteria) SetRelatedsSel

func (this *Criteria) SetRelatedsSel(relateds ...string) *Criteria

func (*Criteria) SetResult

func (this *Criteria) SetResult(result interface{}) *Criteria

func (*Criteria) SetResults

func (this *Criteria) SetResults(results []interface{}) *Criteria

func (*Criteria) TryList

func (this *Criteria) TryList() interface{}

func (*Criteria) TryOne

func (this *Criteria) TryOne() interface{}

func (*Criteria) TryOneById

func (this *Criteria) TryOneById(id int64) interface{}

func (*Criteria) Update

func (this *Criteria) Update(args map[string]interface{}) *Criteria

func (*Criteria) WithTenant

func (this *Criteria) WithTenant(tenant interface{}) *Criteria

type CriteriaExpression

type CriteriaExpression int
const (
	Eq CriteriaExpression = 1 + iota
	Ne
	Le
	Lt
	Ge
	Gt
	Like
	NotLike
	Between
	IsNull
	IsNotNull
	In
	NotIn
	Or
	AndOr
	OrAnd
	AndOrAnd
)

type CriteriaLikeMatch

type CriteriaLikeMatch int
const (
	Exact CriteriaLikeMatch = 1 + iota
	IExact
	StartsWith
	IStartsWith
	EndsWith
	IEndsWith
	Anywhare
	IAnywhare
)

type CriteriaOrder

type CriteriaOrder struct {
	Path string
	Desc bool
}

type CriteriaResult

type CriteriaResult int
const (
	CriteriaList CriteriaResult = 1 + iota
	CriteriaListAndCount
	CriteriaOne
	CriteriaCount
	CriteriaUpdate
	CriteriaDelete
	CriteriaExists
	CriteriaAggregateOne
	CriteriaAggregateList
)

type CriteriaSet

type CriteriaSet struct {
	Criterias []*Criteria
}

func NewCriteriaSet

func NewCriteriaSet() *CriteriaSet

func NewCriteriaSetWithConditions

func NewCriteriaSetWithConditions(criterias ...*Criteria) *CriteriaSet

func (*CriteriaSet) AddCriteria

func (this *CriteriaSet) AddCriteria(criterias ...*Criteria) *CriteriaSet

type DataBase

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

func NewDataBase

func NewDataBase(dbName string) *DataBase

func (*DataBase) Begin

func (this *DataBase) Begin() (err error)

func (*DataBase) BeginWithOpts

func (this *DataBase) BeginWithOpts(opts *sql.TxOptions) (err error)

func (*DataBase) Commit

func (this *DataBase) Commit() (err error)

func (*DataBase) Delete

func (this *DataBase) Delete(entity interface{}) (int64, error)

func (*DataBase) GetOrmer

func (this *DataBase) GetOrmer() orm.Ormer

func (*DataBase) GetTxOrmer

func (this *DataBase) GetTxOrmer() orm.TxOrmer

func (*DataBase) Insert

func (this *DataBase) Insert(entity interface{}) (int64, error)

func (*DataBase) InsertMulti

func (this *DataBase) InsertMulti(bulk int, entities interface{}) (int64, error)

func (*DataBase) LoadRelated

func (this *DataBase) LoadRelated(entity interface{}, name string, args ...utils.KV) (int64, error)

func (*DataBase) Open

func (this *DataBase) Open()

func (*DataBase) QueryM2M

func (this *DataBase) QueryM2M(entity interface{}, name string) orm.QueryM2Mer

func (*DataBase) QueryTable

func (this *DataBase) QueryTable(ptrStructOrTableName interface{}) orm.QuerySeter

func (*DataBase) Raw

func (this *DataBase) Raw(query string, args ...interface{}) orm.RawSeter

func (*DataBase) Read

func (this *DataBase) Read(entity interface{}, cols ...string) error

func (*DataBase) ReadOrCreate

func (this *DataBase) ReadOrCreate(entity interface{}, col string, cols ...string) (bool, int64, error)

func (*DataBase) Rollback

func (this *DataBase) Rollback() (err error)

func (*DataBase) Update

func (this *DataBase) Update(entity interface{}, colConflictAndArgs ...string) (int64, error)

type Model

type Model interface {
	IsPersisted() bool
	TableName() string
}

type ModelHookAfterList

type ModelHookAfterList interface {
	AfterList(entities interface{})
}

type ModelHookAfterLoad

type ModelHookAfterLoad interface {
	AfterLoad(entity interface{}) (next bool, err error)
}

after load

type ModelHookAfterRemove

type ModelHookAfterRemove interface {
	AfterRemove() error
}

type ModelHookAfterSave

type ModelHookAfterSave interface {
	AfterSave() error
}

after hooks persis

type ModelHookAfterUpdate

type ModelHookAfterUpdate interface {
	AfterUpdate() error
}

type ModelHookBeforeCriteria

type ModelHookBeforeCriteria interface {
	BeforeCriteria(criteria *Criteria)
}

before load

type ModelHookBeforeQuery

type ModelHookBeforeQuery interface {
	BeforeQuery(querySeter orm.QuerySeter) orm.QuerySeter
}

type ModelHookBeforeRemove

type ModelHookBeforeRemove interface {
	BeforeRemove() error
}

type ModelHookBeforeSave

type ModelHookBeforeSave interface {
	BeforeSave() error
}

before hooks persist

type ModelHookBeforeUpdate

type ModelHookBeforeUpdate interface {
	BeforeUpdate() error
}

type Page

type Page struct {
	Offset             int64
	Limit              int64
	Search             string
	Order              string
	Sort               string
	FilterColumns      map[string]interface{}
	AndFilterColumns   map[string]interface{}
	TenantColumnFilter map[string]interface{}
}

func NewPage

func NewPage(offset int64, limit int64, sort string, order string) *Page

func (*Page) AddAndInOrConditionFilter

func (this *Page) AddAndInOrConditionFilter(columnName string, value interface{}) *Page

func (*Page) AddFilter

func (this *Page) AddFilter(columnName string, value interface{}) *Page

deprecated

func (*Page) AddFilterAnd

func (this *Page) AddFilterAnd(columnName string, value interface{}) *Page

deprecated

func (*Page) AddFilterDefault

func (this *Page) AddFilterDefault(columnName string) *Page

deprecated

func (*Page) AddFilterDefaults

func (this *Page) AddFilterDefaults(columnName ...string) *Page

deprecated

func (*Page) MakeDefaultSort

func (this *Page) MakeDefaultSort()

deprecated

type RawQuery

type RawQuery struct {
	Query string
	Args  []interface{}

	Session *Session

	Error        error
	RowsAffected int64
	// contains filtered or unexported fields
}

func NewRawQuery

func NewRawQuery(session *Session, query string) *RawQuery

func NewRawQueryArgs

func NewRawQueryArgs(session *Session, query string, args ...interface{}) *RawQuery

func NewRawQuerySession

func NewRawQuerySession(session *Session) *RawQuery

func (*RawQuery) Execute

func (this *RawQuery) Execute() (int64, error)

func (*RawQuery) GetValues

func (this *RawQuery) GetValues() []map[string]interface{}

func (*RawQuery) GetValuesFlat

func (this *RawQuery) GetValuesFlat() []interface{}

func (*RawQuery) GetValuesList

func (this *RawQuery) GetValuesList() [][]interface{}

func (*RawQuery) HasError

func (this *RawQuery) HasError() bool

func (*RawQuery) RawSeter

func (this *RawQuery) RawSeter() orm.RawSeter

func (*RawQuery) ToResutl

func (this *RawQuery) ToResutl(result interface{}) error

func (*RawQuery) ToResutls

func (this *RawQuery) ToResutls(results interface{}) error

func (*RawQuery) Values

func (this *RawQuery) Values() *RawQuery

func (*RawQuery) ValuesFlat

func (this *RawQuery) ValuesFlat() *RawQuery

func (*RawQuery) ValuesList

func (this *RawQuery) ValuesList() *RawQuery

func (*RawQuery) WithArgs

func (this *RawQuery) WithArgs(args ...interface{}) *RawQuery

func (*RawQuery) WithQuery

func (this *RawQuery) WithQuery(query string) *RawQuery

func (*RawQuery) WithSession

func (this *RawQuery) WithSession(session *Session) *RawQuery

type RawQueryTransformer

type RawQueryTransformer[T any] struct {
	RawQuery
	ValuesTransFn func(map[string]interface{}) (T, error)
	ListTransFn   func([]interface{}) (T, error)
}

func NewRawQueryTransformer

func NewRawQueryTransformer[T any](session *Session, query string) *RawQueryTransformer[T]

func NewRawQueryTransformerArgs

func NewRawQueryTransformerArgs[T any](session *Session, query string, args ...interface{}) *RawQueryTransformer[T]

func NewRawQueryTransformerSession

func NewRawQueryTransformerSession[T any](session *Session) *RawQueryTransformer[T]

func (*RawQueryTransformer[T]) First

func (this *RawQueryTransformer[T]) First() (T, error)

func (*RawQueryTransformer[T]) List

func (this *RawQueryTransformer[T]) List() ([]T, error)

func (*RawQueryTransformer[T]) WithListTransformer

func (this *RawQueryTransformer[T]) WithListTransformer(tr func([]interface{}) (T, error)) *RawQueryTransformer[T]

func (*RawQueryTransformer[T]) WithValuesTransformer

func (this *RawQueryTransformer[T]) WithValuesTransformer(tr func(map[string]interface{}) (T, error)) *RawQueryTransformer[T]

type Session

type Session struct {
	State                       SessionState
	Tenant                      interface{}
	AuthorizedTenants           []TenantModel
	IgnoreTenantFilter          bool
	IgnoreAuthorizedTenantCheck bool
	Debug                       bool
	DbName                      string
	// contains filtered or unexported fields
}

func NewSession

func NewSession() *Session

func NewSessionWithDbName

func NewSessionWithDbName(dbName string) *Session

func NewSessionWithTenant

func NewSessionWithTenant(tenant interface{}) *Session

func NewSessionWithTenantAndDbName

func NewSessionWithTenantAndDbName(tenant interface{}, dbName string) *Session

func (*Session) Close

func (this *Session) Close()

func (*Session) Commit

func (this *Session) Commit() (err error)

func (*Session) Count

func (this *Session) Count(entity interface{}) (int64, error)

func (*Session) Eager

func (this *Session) Eager(reply interface{}) error

func (*Session) EagerForce

func (this *Session) EagerForce(reply interface{}) error

func (*Session) ExecuteDelete

func (this *Session) ExecuteDelete(querySeter orm.QuerySeter) (int64, error)

func (*Session) ExecuteUpdate

func (this *Session) ExecuteUpdate(querySeter orm.QuerySeter, args map[string]interface{}) (int64, error)

func (*Session) FindById

func (this *Session) FindById(entity interface{}, id int64) (interface{}, error)

func (*Session) Get

func (this *Session) Get(entity interface{}) (bool, error)

func (*Session) GetDb

func (this *Session) GetDb() *DataBase

func (*Session) HasById

func (this *Session) HasById(entity interface{}, id int64) (bool, error)

func (*Session) HasFilterTenant

func (this *Session) HasFilterTenant(reply interface{}) bool

func (*Session) HasTenant

func (this *Session) HasTenant() bool

func (*Session) IsNil

func (this *Session) IsNil(e interface{}) bool

func (*Session) IsOpenDbError

func (this *Session) IsOpenDbError() bool

func (*Session) List

func (this *Session) List(entity interface{}, entities interface{}) error

func (*Session) Load

func (this *Session) Load(entity interface{}) (bool, error)

func (*Session) LoadBatch

func (this *Session) LoadBatch(entities ...interface{}) error

func (*Session) OnError

func (this *Session) OnError() *Session

func (*Session) Open

func (this *Session) Open(withTx bool) error

func (*Session) OpenNoTx

func (this *Session) OpenNoTx() error

func (*Session) OpenOpt

func (this *Session) OpenOpt() interface{}

func (*Session) OpenTx

func (this *Session) OpenTx() error

func (*Session) OpenTxOpt

func (this *Session) OpenTxOpt() interface{}

func (*Session) OpenTxWithOpts

func (this *Session) OpenTxWithOpts(opts *sql.TxOptions) error

func (*Session) OpenTxWithOptsOpt

func (this *Session) OpenTxWithOptsOpt(opts *sql.TxOptions) interface{}

func (*Session) OpenWithTx

func (this *Session) OpenWithTx() error

func (*Session) OpenWithTxOpts

func (this *Session) OpenWithTxOpts(opts *sql.TxOptions) error

func (*Session) OpenWithoutTx

func (this *Session) OpenWithoutTx() error

func (*Session) Page

func (this *Session) Page(entity interface{}, entities interface{}, page *Page) error

func (*Session) PageQuery

func (this *Session) PageQuery(query orm.QuerySeter, entity interface{}, entities interface{}, page *Page) error

func (*Session) Query

func (this *Session) Query(entity interface{}) (orm.QuerySeter, error)

func (*Session) Remove

func (this *Session) Remove(entity interface{}) error

func (*Session) RemoveCascade

func (this *Session) RemoveCascade(reply interface{}) error

func (*Session) RemoveCascadeDeep

func (this *Session) RemoveCascadeDeep(reply interface{}, firstTime bool) error

func (*Session) Rollback

func (this *Session) Rollback() (err error)

func (*Session) RunWithTenant

func (this *Session) RunWithTenant(tenant interface{}, runner func())

func (*Session) Save

func (this *Session) Save(entity interface{}) error

func (*Session) SaveCascade

func (this *Session) SaveCascade(reply interface{}) error

func (*Session) SaveOrUpdate

func (this *Session) SaveOrUpdate(entity interface{}) error

func (*Session) SaveOrUpdateCascade

func (this *Session) SaveOrUpdateCascade(reply interface{}) error

func (*Session) SetAuthorizedTenants

func (this *Session) SetAuthorizedTenants(tenants []interface{}) *Session

func (*Session) SetCheckAuthorizedTenant

func (this *Session) SetCheckAuthorizedTenant() *Session

func (*Session) SetDatabase

func (this *Session) SetDatabase(dt *DataBase) *Session

func (*Session) SetDebug

func (this *Session) SetDebug() *Session

func (*Session) SetDefaults

func (this *Session) SetDefaults(reply interface{}) error

func (*Session) SetError

func (this *Session) SetError() *Session

func (*Session) SetIgnoreTenantFilter

func (this *Session) SetIgnoreTenantFilter() *Session

func (*Session) SetNoAuthSession

func (this *Session) SetNoAuthSession() *Session

func (*Session) SetTenant

func (this *Session) SetTenant(tenant interface{}) *Session

func (*Session) SetUseTenantFilter

func (this *Session) SetUseTenantFilter(s bool) *Session

func (*Session) ToCount

func (this *Session) ToCount(querySeter orm.QuerySeter) (int64, error)

func (*Session) ToList

func (this *Session) ToList(querySeter orm.QuerySeter, entities interface{}) error

func (*Session) ToOne

func (this *Session) ToOne(querySeter orm.QuerySeter, entity interface{}) error

func (*Session) ToPage

func (this *Session) ToPage(querySeter orm.QuerySeter, entities interface{}, page *Page) error

func (*Session) TryLoad

func (this *Session) TryLoad(entity interface{}) (bool, error)

func (*Session) TryLoadBatch

func (this *Session) TryLoadBatch(entities ...interface{}) error

func (*Session) Update

func (this *Session) Update(entity interface{}) error

func (*Session) WithTenant

func (this *Session) WithTenant(tenant interface{}, runner func() error) error

func (*Session) WithTx

func (this *Session) WithTx() (*Session, error)

func (*Session) WithTxOpts

func (this *Session) WithTxOpts(opts *sql.TxOptions) (*Session, error)

func (*Session) WithoutTx

func (this *Session) WithoutTx() (*Session, error)

type SessionState

type SessionState int
const (
	SessionStateOk SessionState = iota + 1
	SessionStateError
)

type TenantModel

type TenantModel interface {
	GetId() int64
}

Jump to

Keyboard shortcuts

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