query

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrOrBeforeAnyConditions   = errors.New(".Or() before any condition not supported, add any condition before .Or()")
	ErrNotOpenBracket          = errors.New(".Not().OpenBracket() not supported")
	ErrCloseBracketWithoutOpen = errors.New("close bracket without open")
	ErrInvalidBracketBalance   = errors.New("invalid bracket balance: has not closed bracket")
)

Functions

This section is empty.

Types

type AddWhereOption added in v0.0.3

type AddWhereOption struct {
	Cmp where.FieldComparator
}

func (AddWhereOption) Apply added in v0.0.3

func (o AddWhereOption) Apply(b Builder)

type Builder

type Builder interface {
	Limit(limitItems int)
	Offset(startOffset int)
	Not()
	Or()
	OpenBracket()
	CloseBracket()
	AddWhere(cmp where.FieldComparator)
	Sort(by sort.ByWithOrder)

	// OnIteration registers a callback to be called for each record before sorting and applying offset/limits
	// but after applying WHERE conditions
	OnIteration(cb func(item record.Record))

	// Append apply new options to builder
	Append(options ...BuilderOption)

	MakeCopy() Builder

	// Query return build Query
	Query() Query
}

func NewBuilder

func NewBuilder(options ...BuilderOption) Builder

type BuilderOption added in v0.0.3

type BuilderOption interface {
	Apply(b Builder)
}

func CloseBracket added in v0.0.3

func CloseBracket() BuilderOption

func Limit added in v0.0.3

func Limit(limitItems int) BuilderOption

func Not added in v0.0.3

func Not() BuilderOption

func Offset added in v0.0.3

func Offset(startOffset int) BuilderOption

func OnIteration added in v0.0.3

func OnIteration(cb func(item record.Record)) BuilderOption

func OpenBracket added in v0.0.3

func OpenBracket() BuilderOption

func Or added in v0.0.3

func Or() BuilderOption

func Sort added in v0.0.3

func Where added in v0.0.3

func Where(getter record.InterfaceGetter, condition where.ComparatorType, values ...interface{}) BuilderOption

func WhereBool added in v0.0.3

func WhereBool(getter record.BoolGetter, condition where.ComparatorType, value ...bool) BuilderOption

func WhereEnum16 added in v0.0.3

func WhereEnum16(getter record.Enum16Getter, condition where.ComparatorType, value ...record.Enum16) BuilderOption

func WhereEnum8 added in v0.0.3

func WhereEnum8(getter record.Enum8Getter, condition where.ComparatorType, value ...record.Enum8) BuilderOption

func WhereInt added in v0.0.3

func WhereInt(getter record.IntGetter, condition where.ComparatorType, value ...int) BuilderOption

func WhereInt32 added in v0.0.3

func WhereInt32(getter record.Int32Getter, condition where.ComparatorType, value ...int32) BuilderOption

func WhereInt64 added in v0.0.3

func WhereInt64(getter record.Int64Getter, condition where.ComparatorType, value ...int64) BuilderOption

func WhereMap added in v0.0.3

func WhereMap(getter record.MapGetter, condition where.ComparatorType, value ...interface{}) BuilderOption

func WhereSet added in v0.0.3

func WhereSet(getter record.SetGetter, condition where.ComparatorType, value ...interface{}) BuilderOption

func WhereString added in v0.0.3

func WhereString(getter record.StringGetter, condition where.ComparatorType, value ...string) BuilderOption

func WhereStringRegexp added in v0.0.3

func WhereStringRegexp(getter record.StringGetter, value *regexp.Regexp) BuilderOption

type CloseBracketOption added in v0.0.3

type CloseBracketOption struct{}

func (CloseBracketOption) Apply added in v0.0.3

func (_ CloseBracketOption) Apply(b Builder)

type LimitOption added in v0.0.3

type LimitOption int

func (LimitOption) Apply added in v0.0.3

func (o LimitOption) Apply(b Builder)

type NotOption added in v0.0.3

type NotOption struct{}

func (NotOption) Apply added in v0.0.3

func (_ NotOption) Apply(b Builder)

type OffsetOption added in v0.0.3

type OffsetOption int

func (OffsetOption) Apply added in v0.0.3

func (o OffsetOption) Apply(b Builder)

type OpenBracketOption added in v0.0.3

type OpenBracketOption struct{}

func (OpenBracketOption) Apply added in v0.0.3

func (_ OpenBracketOption) Apply(b Builder)

type OrOption added in v0.0.3

type OrOption struct{}

func (OrOption) Apply added in v0.0.3

func (_ OrOption) Apply(b Builder)

type Query

type Query interface {
	Conditions() where.Conditions
	Sorting() []sort.ByWithOrder
	Limit() (count int, set bool)
	Offset() int
	OnIterationCallback() *func(item record.Record)
	Error() error
}

type SortOption added in v0.0.3

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

func (SortOption) Apply added in v0.0.3

func (o SortOption) Apply(b Builder)

Jump to

Keyboard shortcuts

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