rangeholder

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExtendLgtHolder

type ExtendLgtHolder struct {
	RangeHolderOption
	// contains filtered or unexported fields
}

ExtendLgtHolder implement base on default holder extend support for LT/GT operator

func NewNumberExtendRangeHolder

func NewNumberExtendRangeHolder(fns ...RangeOptionFn) *ExtendLgtHolder

func (*ExtendLgtHolder) CommitIndexingBETx

func (h *ExtendLgtHolder) CommitIndexingBETx(tx IndexingBETx) error

func (*ExtendLgtHolder) CompileEntries

func (h *ExtendLgtHolder) CompileEntries() error

func (*ExtendLgtHolder) DecodeTxData

func (h *ExtendLgtHolder) DecodeTxData(data []byte) (TxData, error)

func (*ExtendLgtHolder) DumpEntries

func (h *ExtendLgtHolder) DumpEntries(buffer *strings.Builder)

func (*ExtendLgtHolder) DumpInfo

func (h *ExtendLgtHolder) DumpInfo(buffer *strings.Builder)

func (*ExtendLgtHolder) EnableDebug

func (h *ExtendLgtHolder) EnableDebug(debug bool)

func (*ExtendLgtHolder) GetEntries

func (h *ExtendLgtHolder) GetEntries(field *FieldDesc, assigns Values) (r EntriesCursors, e error)

func (*ExtendLgtHolder) IndexingBETx

func (h *ExtendLgtHolder) IndexingBETx(field *FieldDesc, values *BoolValues) (r TxData, e error)

type LtGtTxData

type LtGtTxData struct {
	Operator ValueOpt `json:"operator"`
	RgValue  *Range   `json:"range,omitempty"`
	EqValues []int64  `json:"eq_values,omitempty"`
}

func (*LtGtTxData) BetterToCache

func (txd *LtGtTxData) BetterToCache() bool

func (*LtGtTxData) Encode

func (txd *LtGtTxData) Encode() ([]byte, error)

type Range

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

func NewRange

func NewRange(l, r int64) *Range

func ParseBetween

func ParseBetween(value Values) (*Range, error)

func ParseRange

func ParseRange(opt ValueOpt, value Values, enableF2I bool) (*Range, error)

func (*Range) ContainRange

func (rg *Range) ContainRange(other *Range) bool

func (*Range) ContainValue

func (rg *Range) ContainValue(v int64) bool

func (*Range) Equal

func (rg *Range) Equal(other Range) bool

func (*Range) Explode

func (rg *Range) Explode(left, right int64) (rgs []*Range)

func (*Range) IsLeftInf

func (rg *Range) IsLeftInf() bool

func (*Range) IsRightInf

func (rg *Range) IsRightInf() bool

func (*Range) Size

func (rg *Range) Size() float64

func (*Range) String

func (rg *Range) String() string

type RangeEntries

type RangeEntries struct {
	Range
	// contains filtered or unexported fields
}

func NewRangeEntries

func NewRangeEntries(l, r int64) *RangeEntries

func (*RangeEntries) AppendEntry

func (re *RangeEntries) AppendEntry(eid EntryID)

func (*RangeEntries) Clone

func (re *RangeEntries) Clone() (v *RangeEntries)

type RangeHolderOption

type RangeHolderOption struct {
	EnableFloat2Int    bool
	RangeCvtValuesSize float64
	RangeMax           int64
	RangeMin           int64
}

func NewRangeHolderOption

func NewRangeHolderOption() *RangeHolderOption

type RangeIdx

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

RangeIdx init status: [-inf, inf] after indexing, only need rgEntries, items will be reset

func NewRangeIdx

func NewRangeIdx(min, max int64) *RangeIdx

func (*RangeIdx) Compile

func (rix *RangeIdx) Compile()

func (*RangeIdx) IndexingRange

func (rix *RangeIdx) IndexingRange(left, right int64, eid EntryID)

func (*RangeIdx) Retrieve

func (rix *RangeIdx) Retrieve(value int64) *RangeEntries

func (*RangeIdx) String

func (rix *RangeIdx) String() string

type RangeOptionFn

type RangeOptionFn func(option *RangeHolderOption)

func WithRangeHolderOption

func WithRangeHolderOption(opt *RangeHolderOption) RangeOptionFn

type RangePlList

type RangePlList []*RangeEntries

Jump to

Keyboard shortcuts

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