Documentation
¶
Index ¶
- Variables
- func Begin(dbPath string) (err error)
- func Close() (err error)
- type Driver
- type Filter
- func (f *Filter) And() *Filter
- func (f *Filter) Build() (sqlFragment string, args []any, err error)
- func (f *Filter) CloseGroup() *Filter
- func (f *Filter) KeyCmp(key *RegisteredStructField, op SQLOperator, value any) *Filter
- func (f *Filter) Limit(n int) *Filter
- func (f *Filter) Offset(n int) *Filter
- func (f *Filter) OpenGroup() *Filter
- func (f *Filter) Or() *Filter
- func (f *Filter) Ordering(field *RegisteredStructField, asc bool) *Filter
- type RegisteredStruct
- func (r *RegisteredStruct[T]) Delete(primaryKeyValue any) error
- func (r *RegisteredStruct[T]) FieldByGoName(goName string) *RegisteredStructField
- func (r *RegisteredStruct[T]) FieldBySQLName(sqlName string) *RegisteredStructField
- func (r *RegisteredStruct[T]) Insert(item *T) error
- func (r *RegisteredStruct[T]) List() ([]any, error)
- func (r *RegisteredStruct[T]) Select(primaryKeyValue any) (item *T, err error)
- func (r *RegisteredStruct[T]) SelectAll() ([]*T, error)
- func (r *RegisteredStruct[T]) SelectAllWithFilter(filter *Filter) ([]*T, error)
- func (r *RegisteredStruct[T]) Update(item *T) error
- func (r *RegisteredStruct[T]) UpdateWithFilter(filter *Filter, assignments ...UpdateAssignment) (int64, error)
- func (r *RegisteredStruct[T]) UpdateWithFilterReturning(filter *Filter, returning []*RegisteredStructField, ...) ([]ReturnedValues, error)
- type RegisteredStructField
- type ReturnedValues
- type SQLOperator
- type SQLTagOpts
- type TypeRepresentation
- type UpdateAssignment
- func SetAdd(field *RegisteredStructField, value any) UpdateAssignment
- func SetDiv(field *RegisteredStructField, value any) UpdateAssignment
- func SetExpr(field *RegisteredStructField, expr string, args ...any) UpdateAssignment
- func SetField(field *RegisteredStructField, value any) UpdateAssignment
- func SetMul(field *RegisteredStructField, value any) UpdateAssignment
- func SetSub(field *RegisteredStructField, value any) UpdateAssignment
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrDatabaseInitialized = fmt.Errorf("database already initialized") ErrDatabaseNotInitialized = fmt.Errorf("database not initialized") )
Functions ¶
Types ¶
type Filter ¶
type Filter struct {
// contains filtered or unexported fields
}
func (*Filter) CloseGroup ¶
func (*Filter) KeyCmp ¶
func (f *Filter) KeyCmp(key *RegisteredStructField, op SQLOperator, value any) *Filter
type RegisteredStruct ¶
type RegisteredStruct[T any] struct { Name string Type reflect.Type Fields []RegisteredStructField PrimaryKeyField RegisteredStructField // contains filtered or unexported fields }
func Register ¶
func Register[T any](structInstance T) (registered *RegisteredStruct[T], err error)
func (*RegisteredStruct[T]) Delete ¶
func (r *RegisteredStruct[T]) Delete(primaryKeyValue any) error
func (*RegisteredStruct[T]) FieldByGoName ¶
func (r *RegisteredStruct[T]) FieldByGoName(goName string) *RegisteredStructField
func (*RegisteredStruct[T]) FieldBySQLName ¶
func (r *RegisteredStruct[T]) FieldBySQLName(sqlName string) *RegisteredStructField
func (*RegisteredStruct[T]) Insert ¶
func (r *RegisteredStruct[T]) Insert(item *T) error
func (*RegisteredStruct[T]) List ¶
func (r *RegisteredStruct[T]) List() ([]any, error)
func (*RegisteredStruct[T]) Select ¶
func (r *RegisteredStruct[T]) Select(primaryKeyValue any) (item *T, err error)
func (*RegisteredStruct[T]) SelectAll ¶
func (r *RegisteredStruct[T]) SelectAll() ([]*T, error)
func (*RegisteredStruct[T]) SelectAllWithFilter ¶
func (r *RegisteredStruct[T]) SelectAllWithFilter(filter *Filter) ([]*T, error)
func (*RegisteredStruct[T]) Update ¶
func (r *RegisteredStruct[T]) Update(item *T) error
func (*RegisteredStruct[T]) UpdateWithFilter ¶
func (r *RegisteredStruct[T]) UpdateWithFilter(filter *Filter, assignments ...UpdateAssignment) (int64, error)
func (*RegisteredStruct[T]) UpdateWithFilterReturning ¶
func (r *RegisteredStruct[T]) UpdateWithFilterReturning(filter *Filter, returning []*RegisteredStructField, assignments ...UpdateAssignment) ([]ReturnedValues, error)
type RegisteredStructField ¶
type RegisteredStructField struct {
Opts SQLTagOpts
RealName string
Type reflect.Type
Index []int
InternalType TypeRepresentation
}
type ReturnedValues ¶
type SQLOperator ¶
type SQLOperator string
const ( OpEqual SQLOperator = "=" OpNotEqual SQLOperator = "!=" OpGreaterThan SQLOperator = ">" OpLessThan SQLOperator = "<" OpGreaterThanOrEqual SQLOperator = ">=" OpLessThanOrEqual SQLOperator = "<=" OpLike SQLOperator = "LIKE" OpIn SQLOperator = "IN" OpNotIn SQLOperator = "NOT IN" OpIsNull SQLOperator = "IS NULL" OpIsNotNull SQLOperator = "IS NOT NULL" )
type SQLTagOpts ¶
type TypeRepresentation ¶
type TypeRepresentation uint8
const ( TypeRepInt TypeRepresentation = iota TypeRepUint TypeRepString TypeRepBool TypeRepArrayBlob TypeRepStructBlob TypeRepFloat TypeRepMapBlob TypeRepPointer )
type UpdateAssignment ¶
type UpdateAssignment struct {
// contains filtered or unexported fields
}
func SetAdd ¶
func SetAdd(field *RegisteredStructField, value any) UpdateAssignment
func SetDiv ¶
func SetDiv(field *RegisteredStructField, value any) UpdateAssignment
func SetExpr ¶
func SetExpr(field *RegisteredStructField, expr string, args ...any) UpdateAssignment
func SetField ¶
func SetField(field *RegisteredStructField, value any) UpdateAssignment
func SetMul ¶
func SetMul(field *RegisteredStructField, value any) UpdateAssignment
func SetSub ¶
func SetSub(field *RegisteredStructField, value any) UpdateAssignment
Source Files
¶
Click to show internal directories.
Click to hide internal directories.