Documentation ¶
Index ¶
- Constants
- func AppendAny(vec *Vector, val any, isNull bool, mp *mpool.MPool) error
- func AppendArray[T types.RealNumbers](vec *Vector, val []T, isNull bool, mp *mpool.MPool) error
- func AppendArrayList[T types.RealNumbers](vec *Vector, ws [][]T, isNulls []bool, mp *mpool.MPool) error
- func AppendByteJson(vec *Vector, bj bytejson.ByteJson, isNull bool, mp *mpool.MPool) error
- func AppendBytes(vec *Vector, val []byte, isNull bool, mp *mpool.MPool) error
- func AppendBytesList(vec *Vector, ws [][]byte, isNulls []bool, mp *mpool.MPool) error
- func AppendFixed[T any](vec *Vector, val T, isNull bool, mp *mpool.MPool) error
- func AppendFixedList[T any](vec *Vector, ws []T, isNulls []bool, mp *mpool.MPool) error
- func AppendMultiBytes(vec *Vector, vals []byte, isNull bool, cnt int, mp *mpool.MPool) error
- func AppendMultiFixed[T any](vec *Vector, vals T, isNull bool, cnt int, mp *mpool.MPool) error
- func AppendStringList(vec *Vector, ws []string, isNulls []bool, mp *mpool.MPool) error
- func ArrayGetMinMax[T types.RealNumbers](vec *Vector) (minv, maxv []T)
- func BuildVarlenaFromArray[T types.RealNumbers](vec *Vector, v *types.Varlena, array *[]T, m *mpool.MPool) error
- func BuildVarlenaFromByteJson(vec *Vector, v *types.Varlena, bj bytejson.ByteJson, m *mpool.MPool) error
- func BuildVarlenaFromByteSlice(vec *Vector, v *types.Varlena, bs *[]byte, m *mpool.MPool) error
- func BuildVarlenaFromValena(vec *Vector, v1, v2 *types.Varlena, area *[]byte, m *mpool.MPool) error
- func BuildVarlenaInline(v1, v2 *types.Varlena)
- func BuildVarlenaNoInline(vec *Vector, v1 *types.Varlena, bs *[]byte, m *mpool.MPool) error
- func BuildVarlenaNoInlineFromByteJson(vec *Vector, v1 *types.Varlena, bj bytejson.ByteJson, m *mpool.MPool) error
- func CollectOffsetsByBetweenFactory[T types.OrderedT](lval, rval T, hint int) func(*Vector) []int32
- func CollectOffsetsByBetweenWithCompareFactory[T types.Decimal128](lval, rval T, cmp func(T, T) int) func(*Vector) []int32
- func CollectOffsetsByPrefixBetweenFactory(lval, rval []byte) func(*Vector) []int32
- func CollectOffsetsByPrefixEqFactory(val []byte) func(*Vector) []int32
- func CollectOffsetsByPrefixInFactory(rvec *Vector) func(*Vector) []int32
- func Decimal64GetSum(vec *Vector) (sum types.Decimal64)
- func DecodeFixedCol[T types.FixedSizeT](v *Vector) []T
- func ExpandBytesCol(v *Vector) [][]byte
- func ExpandFixedCol[T any](v *Vector) []T
- func ExpandStrCol(v *Vector) []string
- func FindFirstIndexInSortedVarlenVector(vec *Vector, v []byte) int
- func FixedSizeFindFirstIndexInSortedSliceWithCompare[T types.FixedSizeTExceptStrType](v T, s []T, compare func(T, T) int) int
- func FixedSizeGetMinMax[T types.OrderedT](vec *Vector, comp func(T, T) int64) (minv, maxv T)
- func FixedSizeLinearSearchOffsetByValFactory[T types.Decimal128 | types.Decimal64](vals []T, cmp func(T, T) int) func(*Vector) []int32
- func FixedSizeSearchOffsetsByGreat[T types.Decimal128 | types.Decimal64](lb T, closed bool, quick bool, cmp func(a, b T) int) func(vector *Vector) []int32
- func FixedSizeSearchOffsetsByLess[T types.Decimal128 | types.Decimal64](ub T, closed bool, quick bool, cmp func(a, b T) int) func(vector *Vector) []int32
- func FixedSizedBinarySearchOffsetByValFactory[T any](vals []T, cmp func(T, T) int) func(*Vector) []int32
- func FixedSizedLinearCollectOffsetsByBetweenFactory[T types.Decimal128 | types.Decimal64](lb, ub T, cmp func(T, T) int) func(*Vector) []int32
- func FloatGetSum[T types.Floats](vec *Vector) (sum float64)
- func GetArrayAt[T types.RealNumbers](v *Vector, i int) []T
- func GetConstSetFunction(typ types.Type, mp *mpool.MPool) func(v, w *Vector, sel int64, length int) error
- func GetFixedAt[T any](v *Vector, idx int) T
- func GetPtrAt[T any](v *Vector, idx int64) *T
- func GetUnionAllFunction(typ types.Type, mp *mpool.MPool) func(v, w *Vector) error
- func GetUnionOneFunction(typ types.Type, mp *mpool.MPool) func(v, w *Vector, sel int64) error
- func InefficientMustBytesCol(v *Vector) [][]byte
- func InefficientMustStrCol(v *Vector) []string
- func IntegerGetSum[T types.Ints | types.UInts, U int64 | uint64](vec *Vector) (sum U)
- func Intersection2VectorOrdered[T types.OrderedT | types.Decimal128](a, b []T, ret *Vector, mp *mpool.MPool, cmp func(x, y T) int)
- func Intersection2VectorVarlen(va, vb *Vector, ret *Vector, mp *mpool.MPool)
- func LinearCollectOffsetsByBetweenFactory[T types.OrderedT](lb, ub T, hint int) func(*Vector) []int32
- func LinearCollectOffsetsByPrefixBetweenFactory(lb, ub []byte) func(*Vector) []int32
- func LinearCollectOffsetsByPrefixEqFactory(val []byte) func(*Vector) []int32
- func LinearCollectOffsetsByPrefixInFactory(rvec *Vector) func(*Vector) []int32
- func MakeAppendBytesFunc(vec *Vector) func([]byte, bool, *mpool.MPool) error
- func MustArrayCol[T types.RealNumbers](v *Vector) [][]T
- func MustFixedCol[T any](v *Vector) (ret []T)
- func MustVarlenaRawData(v *Vector) (data []types.Varlena, area []byte)
- func MustVarlenaToInt64Slice(v *Vector) [][3]int64
- func OrderedBinarySearchOffsetByValFactory[T types.OrderedT](vals []T) func(*Vector) []int32
- func OrderedFindFirstIndexInSortedSlice[T types.OrderedT](v T, s []T) int
- func OrderedGetMinAndMax[T types.OrderedT](vec *Vector) (minv, maxv T)
- func OrderedLinearSearchOffsetByValFactory[T types.OrderedT | types.Decimal128 | types.Decimal64](vals []T, cmp func(T, T) int) func(*Vector) []int32
- func OrderedSearchOffsetsByGreat[T types.OrderedT](lb T, closed bool, quick bool) func(vector *Vector) []int32
- func OrderedSearchOffsetsByLess[T types.OrderedT](ub T, closed bool, quick bool) func(vector *Vector) []int32
- func ProtoTypeToType(typ *plan.Type) types.Type
- func SetBytesAt(v *Vector, idx int, bs []byte, mp *mpool.MPool) error
- func SetConstArray[T types.RealNumbers](vec *Vector, val []T, length int, mp *mpool.MPool) error
- func SetConstByteJson(vec *Vector, bj bytejson.ByteJson, length int, mp *mpool.MPool) error
- func SetConstBytes(vec *Vector, val []byte, length int, mp *mpool.MPool) error
- func SetConstFixed[T any](vec *Vector, val T, length int, mp *mpool.MPool) error
- func SetConstNull(vec *Vector, length int, mp *mpool.MPool) error
- func SetFixedAt[T types.FixedSizeT](v *Vector, idx int, t T) error
- func SetStringAt(v *Vector, idx int, bs string, mp *mpool.MPool) error
- func ToFixedCol[T any](v *Vector, ret *[]T)
- func ToSlice[T any](vec *Vector, ret *[]T)
- func TypeToProtoType(typ types.Type) *plan.Type
- func Union2VectorOrdered[T types.OrderedT | types.Decimal128](a, b []T, ret *Vector, mp *mpool.MPool, cmp func(x, y T) int)
- func Union2VectorValen(va, vb *Vector, ret *Vector, mp *mpool.MPool)
- func VarlenBinarySearchOffsetByValFactory(vals [][]byte) func(*Vector) []int32
- func VarlenGetMinMax(vec *Vector) (minv, maxv []byte)
- func VarlenLinearSearchOffsetByValFactory(vals [][]byte) func(*Vector) []int32
- func VarlenSearchOffsetByGreat(lb []byte, closed bool, quick bool) func(*Vector) []int32
- func VarlenSearchOffsetByLess(ub []byte, closed bool, quick bool) func(*Vector) []int32
- func VectorToProtoVector(vec *Vector) (ret api.Vector, err error)
- type FunctionParameterNormal
- func (p *FunctionParameterNormal[T]) GetSourceVector() *Vector
- func (p *FunctionParameterNormal[T]) GetStrValue(idx uint64) (value []byte, isNull bool)
- func (p *FunctionParameterNormal[T]) GetType() types.Type
- func (p *FunctionParameterNormal[T]) GetValue(idx uint64) (value T, isNull bool)
- func (p *FunctionParameterNormal[T]) UnSafeGetAllValue() []T
- func (p *FunctionParameterNormal[T]) WithAnyNullValue() bool
- type FunctionParameterNormalSpecial1
- func (p *FunctionParameterNormalSpecial1[T]) GetSourceVector() *Vector
- func (p *FunctionParameterNormalSpecial1[T]) GetStrValue(idx uint64) ([]byte, bool)
- func (p *FunctionParameterNormalSpecial1[T]) GetType() types.Type
- func (p *FunctionParameterNormalSpecial1[T]) GetValue(_ uint64) (T, bool)
- func (p *FunctionParameterNormalSpecial1[T]) UnSafeGetAllValue() []T
- func (p *FunctionParameterNormalSpecial1[T]) WithAnyNullValue() bool
- type FunctionParameterScalar
- func (p *FunctionParameterScalar[T]) GetSourceVector() *Vector
- func (p *FunctionParameterScalar[T]) GetStrValue(_ uint64) ([]byte, bool)
- func (p *FunctionParameterScalar[T]) GetType() types.Type
- func (p *FunctionParameterScalar[T]) GetValue(_ uint64) (T, bool)
- func (p *FunctionParameterScalar[T]) UnSafeGetAllValue() []T
- func (p *FunctionParameterScalar[T]) WithAnyNullValue() bool
- type FunctionParameterScalarNull
- func (p *FunctionParameterScalarNull[T]) GetSourceVector() *Vector
- func (p *FunctionParameterScalarNull[T]) GetStrValue(_ uint64) ([]byte, bool)
- func (p *FunctionParameterScalarNull[T]) GetType() types.Type
- func (p *FunctionParameterScalarNull[T]) GetValue(_ uint64) (value T, isNull bool)
- func (p *FunctionParameterScalarNull[T]) UnSafeGetAllValue() []T
- func (p *FunctionParameterScalarNull[T]) WithAnyNullValue() bool
- type FunctionParameterWithoutNull
- func (p *FunctionParameterWithoutNull[T]) GetSourceVector() *Vector
- func (p *FunctionParameterWithoutNull[T]) GetStrValue(idx uint64) ([]byte, bool)
- func (p *FunctionParameterWithoutNull[T]) GetType() types.Type
- func (p *FunctionParameterWithoutNull[T]) GetValue(idx uint64) (T, bool)
- func (p *FunctionParameterWithoutNull[T]) UnSafeGetAllValue() []T
- func (p *FunctionParameterWithoutNull[T]) WithAnyNullValue() bool
- type FunctionParameterWithoutNullSpecial1
- func (p *FunctionParameterWithoutNullSpecial1[T]) GetSourceVector() *Vector
- func (p *FunctionParameterWithoutNullSpecial1[T]) GetStrValue(idx uint64) ([]byte, bool)
- func (p *FunctionParameterWithoutNullSpecial1[T]) GetType() types.Type
- func (p *FunctionParameterWithoutNullSpecial1[T]) GetValue(_ uint64) (T, bool)
- func (p *FunctionParameterWithoutNullSpecial1[T]) UnSafeGetAllValue() []T
- func (p *FunctionParameterWithoutNullSpecial1[T]) WithAnyNullValue() bool
- type FunctionParameterWrapper
- type FunctionResult
- func (fr *FunctionResult[T]) Append(val T, isnull bool) error
- func (fr *FunctionResult[T]) AppendByteJson(bj bytejson.ByteJson, isnull bool) error
- func (fr *FunctionResult[T]) AppendBytes(val []byte, isnull bool) error
- func (fr *FunctionResult[T]) AppendMustBytesValue(val []byte) error
- func (fr *FunctionResult[T]) AppendMustNull()
- func (fr *FunctionResult[T]) AppendMustNullForBytesResult() error
- func (fr *FunctionResult[T]) AppendMustValue(val T)
- func (fr *FunctionResult[T]) ConvertToStrParameter() FunctionParameterWrapper[types.Varlena]
- func (fr *FunctionResult[T]) DupFromParameter(fp FunctionParameterWrapper[T], length int) (err error)
- func (fr *FunctionResult[T]) Free()
- func (fr *FunctionResult[T]) GetResultVector() *Vector
- func (fr *FunctionResult[T]) GetType() types.Type
- func (fr *FunctionResult[T]) PreExtendAndReset(targetSize int) error
- func (fr *FunctionResult[T]) SetResultVector(v *Vector)
- func (fr *FunctionResult[T]) TempSetType(t types.Type)
- type FunctionResultWrapper
- type Vector
- func NewConstArray[T types.RealNumbers](typ types.Type, val []T, length int, mp *mpool.MPool) (vec *Vector, err error)
- func NewConstBytes(typ types.Type, val []byte, length int, mp *mpool.MPool) (vec *Vector, err error)
- func NewConstFixed[T any](typ types.Type, val T, length int, mp *mpool.MPool) (vec *Vector, err error)
- func NewConstNull(typ types.Type, length int, mp *mpool.MPool) *Vector
- func NewVec(typ types.Type) *Vector
- func ProtoVectorToVector(vec api.Vector) (*Vector, error)
- func (v *Vector) AllNull() bool
- func (v *Vector) Allocated() int
- func (v *Vector) Capacity() int
- func (v *Vector) CleanOnlyData()
- func (v *Vector) CloneWindow(start, end int, mp *mpool.MPool) (*Vector, error)
- func (v *Vector) CloneWindowTo(w *Vector, start, end int, mp *mpool.MPool) error
- func (v *Vector) Copy(w *Vector, vi, wi int64, mp *mpool.MPool) error
- func (v *Vector) Dup(mp *mpool.MPool) (*Vector, error)
- func (v *Vector) Free(mp *mpool.MPool)
- func (v *Vector) GetArea() []byte
- func (v *Vector) GetBytesAt(i int) []byte
- func (v *Vector) GetIsBin() bool
- func (v *Vector) GetMinMaxValue() (ok bool, minv, maxv []byte)
- func (v *Vector) GetNulls() *nulls.Nulls
- func (v *Vector) GetRawBytesAt(i int) []byte
- func (v *Vector) GetSorted() bool
- func (v *Vector) GetStringAt(i int) string
- func (v *Vector) GetSumValue() (ok bool, sumv []byte)
- func (v *Vector) GetType() *types.Type
- func (v *Vector) HasNull() bool
- func (v *Vector) InplaceSort()
- func (v *Vector) InplaceSortAndCompact()
- func (v *Vector) IsConst() bool
- func (v *Vector) IsConstNull() bool
- func (v *Vector) IsNull(i uint64) bool
- func (v *Vector) Length() int
- func (v *Vector) MarshalBinary() ([]byte, error)
- func (v *Vector) MarshalBinaryWithBuffer(buf *bytes.Buffer) error
- func (v *Vector) NeedDup() bool
- func (v *Vector) PreExtend(rows int, mp *mpool.MPool) error
- func (v *Vector) PreExtendArea(rows int, mp *mpool.MPool) error
- func (v *Vector) Reset(typ types.Type)
- func (v *Vector) ResetArea()
- func (v *Vector) ResetWithNewType(t *types.Type)
- func (v *Vector) SetArea(a []byte)
- func (v *Vector) SetClass(class int)
- func (v *Vector) SetIsBin(isBin bool)
- func (v *Vector) SetLength(n int)
- func (v *Vector) SetNulls(nsp *nulls.Nulls)
- func (v *Vector) SetSorted(b bool)
- func (v *Vector) SetType(typ types.Type)
- func (v *Vector) SetTypeScale(scale int32)
- func (v *Vector) Shrink(sels []int64, negate bool)
- func (v *Vector) Shuffle(sels []int64, mp *mpool.MPool) (err error)
- func (v *Vector) Size() int
- func (v *Vector) String() string
- func (v *Vector) ToConst(row, length int, mp *mpool.MPool) *Vector
- func (v *Vector) Union(w *Vector, sels []int32, mp *mpool.MPool) error
- func (v *Vector) UnionBatch(w *Vector, offset int64, cnt int, flags []uint8, mp *mpool.MPool) error
- func (v *Vector) UnionMulti(w *Vector, sel int64, cnt int, mp *mpool.MPool) error
- func (v *Vector) UnionNull(mp *mpool.MPool) error
- func (v *Vector) UnionOne(w *Vector, sel int64, mp *mpool.MPool) error
- func (v *Vector) UnmarshalBinary(data []byte) error
- func (v *Vector) UnmarshalBinaryWithCopy(data []byte, mp *mpool.MPool) error
- func (v *Vector) UnsafeGetRawData() []byte
- func (v *Vector) UnsafeGetStringAt(i int) string
- func (v *Vector) Window(start, end int) (*Vector, error)
Constants ¶
const ( FLAT = iota // flat vector represent a uncompressed vector CONSTANT // const vector DIST // dictionary vector )
Variables ¶
This section is empty.
Functions ¶
func AppendArray ¶ added in v1.1.0
AppendArray mainly used in tests
func AppendArrayList ¶ added in v1.1.0
func AppendArrayList[T types.RealNumbers](vec *Vector, ws [][]T, isNulls []bool, mp *mpool.MPool) error
AppendArrayList mainly used in unit tests
func AppendByteJson ¶ added in v1.2.3
func AppendBytes ¶ added in v0.6.0
func AppendBytesList ¶ added in v0.8.0
func AppendFixed ¶ added in v0.6.0
func AppendFixedList ¶ added in v0.8.0
func AppendMultiBytes ¶ added in v0.8.0
func AppendMultiFixed ¶ added in v0.8.0
func AppendStringList ¶ added in v0.8.0
func ArrayGetMinMax ¶ added in v1.1.0
func ArrayGetMinMax[T types.RealNumbers](vec *Vector) (minv, maxv []T)
func BuildVarlenaFromArray ¶ added in v1.1.0
func BuildVarlenaFromArray[T types.RealNumbers](vec *Vector, v *types.Varlena, array *[]T, m *mpool.MPool) error
BuildVarlenaFromArray convert array to Varlena so that it can be stored in the vector
func BuildVarlenaFromByteJson ¶ added in v1.2.3
func BuildVarlenaFromByteSlice ¶ added in v1.0.0
func BuildVarlenaFromValena ¶ added in v1.0.0
func BuildVarlenaInline ¶ added in v1.0.0
func BuildVarlenaNoInline ¶ added in v1.0.0
func BuildVarlenaNoInlineFromByteJson ¶ added in v1.2.3
func CollectOffsetsByBetweenFactory ¶ added in v1.2.1
func CollectOffsetsByBetweenWithCompareFactory ¶ added in v1.2.1
func CollectOffsetsByBetweenWithCompareFactory[T types.Decimal128](lval, rval T, cmp func(T, T) int) func(*Vector) []int32
func CollectOffsetsByPrefixBetweenFactory ¶ added in v1.1.3
func CollectOffsetsByPrefixEqFactory ¶ added in v1.1.3
func CollectOffsetsByPrefixInFactory ¶ added in v1.1.3
func Decimal64GetSum ¶ added in v1.0.0
func DecodeFixedCol ¶
func DecodeFixedCol[T types.FixedSizeT](v *Vector) []T
func ExpandBytesCol ¶ added in v0.8.0
func ExpandFixedCol ¶ added in v0.8.0
ExpandFixedCol decode data and return decoded []T. For const/scalar vector we expand and return newly allocated slice.
func ExpandStrCol ¶ added in v0.8.0
func FindFirstIndexInSortedVarlenVector ¶ added in v0.8.0
FindFirstIndexInSortedSlice finds the first index of v in a sorted varlen vector
func FixedSizeFindFirstIndexInSortedSliceWithCompare ¶ added in v0.8.0
func FixedSizeFindFirstIndexInSortedSliceWithCompare[T types.FixedSizeTExceptStrType]( v T, s []T, compare func(T, T) int, ) int
FindFirstIndexInSortedSlice finds the first index of v in a sorted slice s If v is not found, return -1 compare is a function to compare two elements in s
func FixedSizeGetMinMax ¶ added in v0.8.0
func FixedSizeLinearSearchOffsetByValFactory ¶ added in v1.2.1
func FixedSizeSearchOffsetsByGreat ¶ added in v1.2.1
func FixedSizeSearchOffsetsByLess ¶ added in v1.2.1
func FixedSizedBinarySearchOffsetByValFactory ¶ added in v1.0.0
func FixedSizedLinearCollectOffsetsByBetweenFactory ¶ added in v1.2.1
func FloatGetSum ¶ added in v1.0.0
FloatGetSum get the sum the vector if the vector type is float.
func GetArrayAt ¶ added in v1.1.0
func GetArrayAt[T types.RealNumbers](v *Vector, i int) []T
GetArrayAt Returns []T at the specific index of the vector
func GetConstSetFunction ¶ added in v0.8.0
func GetConstSetFunction(typ types.Type, mp *mpool.MPool) func(v, w *Vector, sel int64, length int) error
GetConstSetFunction: A more sensible function for const vector set, which avoids having to do type conversions and type judgements every time you append.
func GetFixedAt ¶ added in v0.8.0
func GetUnionAllFunction ¶ added in v0.8.0
GetUnionAllFunction: A more sensible function for copying vector, which avoids having to do type conversions and type judgements every time you append.
func GetUnionOneFunction ¶ added in v0.8.0
GetUnionOneFunction: A more sensible function for copying elements, which avoids having to do type conversions and type judgements every time you append.
func InefficientMustBytesCol ¶ added in v1.2.3
InefficientMustBytesCol It should only be used for debugging purposes or in cases where performance is not a critical factor. The function performs a potentially slow and memory-intensive operation to extract the byte representation of the column. Avoid using this function in scenarios where speed is important.
vs, area := vector.MustVarlenaRawData(vec) for i := range vs { vs[i].GetByteSlice(area) }
func InefficientMustStrCol ¶ added in v1.2.3
InefficientMustStrCol It should only be used for debugging purposes or in cases where performance is not a critical factor. The function performs a potentially slow and memory-intensive operation to extract the byte representation of the column. Avoid using this function in scenarios where speed is important.
vs, area := vector.MustVarlenaRawData(vec) for i := range vs { vs[i].GetByteSlice(area) }
func IntegerGetSum ¶ added in v1.0.0
IntegerGetSum get the sum the vector if the vector type is integer.
func Intersection2VectorOrdered ¶ added in v1.2.1
func Intersection2VectorOrdered[T types.OrderedT | types.Decimal128](a, b []T, ret *Vector, mp *mpool.MPool, cmp func(x, y T) int)
Intersection2VectorOrdered does a ∩ b ==> ret, keeps all item unique and sorted it assumes that a and b all sorted already
func Intersection2VectorVarlen ¶ added in v1.2.1
Intersection2VectorVarlen does a ∩ b ==> ret, keeps all item unique and sorted it assumes that va and vb all sorted already
func LinearCollectOffsetsByBetweenFactory ¶ added in v1.2.1
func LinearCollectOffsetsByPrefixBetweenFactory ¶ added in v1.2.1
func LinearCollectOffsetsByPrefixEqFactory ¶ added in v1.2.1
func LinearCollectOffsetsByPrefixInFactory ¶ added in v1.2.1
func MakeAppendBytesFunc ¶ added in v0.8.0
func MustArrayCol ¶ added in v1.1.0
func MustArrayCol[T types.RealNumbers](v *Vector) [][]T
MustArrayCol Converts Vector<[]T> to [][]T
func MustFixedCol ¶ added in v0.8.0
func MustVarlenaRawData ¶ added in v0.6.0
func MustVarlenaToInt64Slice ¶ added in v1.0.0
func OrderedBinarySearchOffsetByValFactory ¶ added in v0.8.0
func OrderedFindFirstIndexInSortedSlice ¶ added in v0.8.0
FindFirstIndexInSortedSlice finds the first index of v in a sorted slice s If v is not found, return -1
func OrderedGetMinAndMax ¶ added in v0.8.0
OrderedGetMinAndMax returns the min and max value of a vector of ordered type If the vector has null, the null value will be ignored
func OrderedLinearSearchOffsetByValFactory ¶ added in v1.2.1
func OrderedSearchOffsetsByGreat ¶ added in v1.2.1
func OrderedSearchOffsetsByLess ¶ added in v1.2.1
func SetBytesAt ¶ added in v0.6.0
func SetConstArray ¶ added in v1.1.0
SetConstArray set current vector as Constant_Array vector of given length.
func SetConstByteJson ¶ added in v1.2.3
func SetConstBytes ¶ added in v0.8.0
func SetConstFixed ¶ added in v0.8.0
func SetConstNull ¶ added in v0.8.0
func SetFixedAt ¶ added in v0.8.0
func SetFixedAt[T types.FixedSizeT](v *Vector, idx int, t T) error
func SetStringAt ¶ added in v0.6.0
func ToFixedCol ¶ added in v1.1.0
func Union2VectorOrdered ¶ added in v1.2.1
func Union2VectorOrdered[T types.OrderedT | types.Decimal128](a, b []T, ret *Vector, mp *mpool.MPool, cmp func(x, y T) int)
Union2VectorOrdered does a ∪ b ==> ret, keeps all item unique and sorted it assumes that a and b all sorted already
func Union2VectorValen ¶ added in v1.2.1
Union2VectorValen does a ∪ b ==> ret, keeps all item unique and sorted it assumes that va and vb all sorted already
func VarlenBinarySearchOffsetByValFactory ¶ added in v0.8.0
func VarlenGetMinMax ¶ added in v0.8.0
func VarlenLinearSearchOffsetByValFactory ¶ added in v1.2.1
func VarlenSearchOffsetByGreat ¶ added in v1.2.1
func VarlenSearchOffsetByLess ¶ added in v1.2.1
Types ¶
type FunctionParameterNormal ¶ added in v0.7.0
type FunctionParameterNormal[T types.FixedSizeT] struct { // contains filtered or unexported fields }
FunctionParameterNormal is a wrapper of normal vector which may contains null value.
func (*FunctionParameterNormal[T]) GetSourceVector ¶ added in v0.7.0
func (p *FunctionParameterNormal[T]) GetSourceVector() *Vector
func (*FunctionParameterNormal[T]) GetStrValue ¶ added in v0.7.0
func (p *FunctionParameterNormal[T]) GetStrValue(idx uint64) (value []byte, isNull bool)
func (*FunctionParameterNormal[T]) GetType ¶ added in v0.7.0
func (p *FunctionParameterNormal[T]) GetType() types.Type
func (*FunctionParameterNormal[T]) GetValue ¶ added in v0.7.0
func (p *FunctionParameterNormal[T]) GetValue(idx uint64) (value T, isNull bool)
func (*FunctionParameterNormal[T]) UnSafeGetAllValue ¶ added in v0.7.0
func (p *FunctionParameterNormal[T]) UnSafeGetAllValue() []T
func (*FunctionParameterNormal[T]) WithAnyNullValue ¶ added in v0.8.0
func (p *FunctionParameterNormal[T]) WithAnyNullValue() bool
type FunctionParameterNormalSpecial1 ¶ added in v0.8.0
type FunctionParameterNormalSpecial1[T types.FixedSizeT] struct { // contains filtered or unexported fields }
FunctionParameterNormalSpecial1 is an optimized wrapper of string vector whose string width <= types.VarlenaInlineSize
func (*FunctionParameterNormalSpecial1[T]) GetSourceVector ¶ added in v0.8.0
func (p *FunctionParameterNormalSpecial1[T]) GetSourceVector() *Vector
func (*FunctionParameterNormalSpecial1[T]) GetStrValue ¶ added in v0.8.0
func (p *FunctionParameterNormalSpecial1[T]) GetStrValue(idx uint64) ([]byte, bool)
func (*FunctionParameterNormalSpecial1[T]) GetType ¶ added in v0.8.0
func (p *FunctionParameterNormalSpecial1[T]) GetType() types.Type
func (*FunctionParameterNormalSpecial1[T]) GetValue ¶ added in v0.8.0
func (p *FunctionParameterNormalSpecial1[T]) GetValue(_ uint64) (T, bool)
func (*FunctionParameterNormalSpecial1[T]) UnSafeGetAllValue ¶ added in v0.8.0
func (p *FunctionParameterNormalSpecial1[T]) UnSafeGetAllValue() []T
func (*FunctionParameterNormalSpecial1[T]) WithAnyNullValue ¶ added in v0.8.0
func (p *FunctionParameterNormalSpecial1[T]) WithAnyNullValue() bool
type FunctionParameterScalar ¶ added in v0.7.0
type FunctionParameterScalar[T types.FixedSizeT] struct { // contains filtered or unexported fields }
FunctionParameterScalar is a wrapper of scalar vector.
func (*FunctionParameterScalar[T]) GetSourceVector ¶ added in v0.7.0
func (p *FunctionParameterScalar[T]) GetSourceVector() *Vector
func (*FunctionParameterScalar[T]) GetStrValue ¶ added in v0.7.0
func (p *FunctionParameterScalar[T]) GetStrValue(_ uint64) ([]byte, bool)
func (*FunctionParameterScalar[T]) GetType ¶ added in v0.7.0
func (p *FunctionParameterScalar[T]) GetType() types.Type
func (*FunctionParameterScalar[T]) GetValue ¶ added in v0.7.0
func (p *FunctionParameterScalar[T]) GetValue(_ uint64) (T, bool)
func (*FunctionParameterScalar[T]) UnSafeGetAllValue ¶ added in v0.7.0
func (p *FunctionParameterScalar[T]) UnSafeGetAllValue() []T
func (*FunctionParameterScalar[T]) WithAnyNullValue ¶ added in v0.8.0
func (p *FunctionParameterScalar[T]) WithAnyNullValue() bool
type FunctionParameterScalarNull ¶ added in v0.7.0
type FunctionParameterScalarNull[T types.FixedSizeT] struct { // contains filtered or unexported fields }
FunctionParameterScalarNull is a wrapper of scalar null vector.
func (*FunctionParameterScalarNull[T]) GetSourceVector ¶ added in v0.7.0
func (p *FunctionParameterScalarNull[T]) GetSourceVector() *Vector
func (*FunctionParameterScalarNull[T]) GetStrValue ¶ added in v0.7.0
func (p *FunctionParameterScalarNull[T]) GetStrValue(_ uint64) ([]byte, bool)
func (*FunctionParameterScalarNull[T]) GetType ¶ added in v0.7.0
func (p *FunctionParameterScalarNull[T]) GetType() types.Type
func (*FunctionParameterScalarNull[T]) GetValue ¶ added in v0.7.0
func (p *FunctionParameterScalarNull[T]) GetValue(_ uint64) (value T, isNull bool)
func (*FunctionParameterScalarNull[T]) UnSafeGetAllValue ¶ added in v0.7.0
func (p *FunctionParameterScalarNull[T]) UnSafeGetAllValue() []T
func (*FunctionParameterScalarNull[T]) WithAnyNullValue ¶ added in v0.8.0
func (p *FunctionParameterScalarNull[T]) WithAnyNullValue() bool
type FunctionParameterWithoutNull ¶ added in v0.7.0
type FunctionParameterWithoutNull[T types.FixedSizeT] struct { // contains filtered or unexported fields }
FunctionParameterWithoutNull is a wrapper of normal vector but without null value.
func (*FunctionParameterWithoutNull[T]) GetSourceVector ¶ added in v0.7.0
func (p *FunctionParameterWithoutNull[T]) GetSourceVector() *Vector
func (*FunctionParameterWithoutNull[T]) GetStrValue ¶ added in v0.7.0
func (p *FunctionParameterWithoutNull[T]) GetStrValue(idx uint64) ([]byte, bool)
func (*FunctionParameterWithoutNull[T]) GetType ¶ added in v0.7.0
func (p *FunctionParameterWithoutNull[T]) GetType() types.Type
func (*FunctionParameterWithoutNull[T]) GetValue ¶ added in v0.7.0
func (p *FunctionParameterWithoutNull[T]) GetValue(idx uint64) (T, bool)
func (*FunctionParameterWithoutNull[T]) UnSafeGetAllValue ¶ added in v0.7.0
func (p *FunctionParameterWithoutNull[T]) UnSafeGetAllValue() []T
func (*FunctionParameterWithoutNull[T]) WithAnyNullValue ¶ added in v0.8.0
func (p *FunctionParameterWithoutNull[T]) WithAnyNullValue() bool
type FunctionParameterWithoutNullSpecial1 ¶ added in v0.8.0
type FunctionParameterWithoutNullSpecial1[T types.FixedSizeT] struct { // contains filtered or unexported fields }
FunctionParameterWithoutNullSpecial1 is an optimized wrapper of string vector without null value and whose string width <= types.VarlenaInlineSize
func (*FunctionParameterWithoutNullSpecial1[T]) GetSourceVector ¶ added in v0.8.0
func (p *FunctionParameterWithoutNullSpecial1[T]) GetSourceVector() *Vector
func (*FunctionParameterWithoutNullSpecial1[T]) GetStrValue ¶ added in v0.8.0
func (p *FunctionParameterWithoutNullSpecial1[T]) GetStrValue(idx uint64) ([]byte, bool)
func (*FunctionParameterWithoutNullSpecial1[T]) GetType ¶ added in v0.8.0
func (p *FunctionParameterWithoutNullSpecial1[T]) GetType() types.Type
func (*FunctionParameterWithoutNullSpecial1[T]) GetValue ¶ added in v0.8.0
func (p *FunctionParameterWithoutNullSpecial1[T]) GetValue(_ uint64) (T, bool)
func (*FunctionParameterWithoutNullSpecial1[T]) UnSafeGetAllValue ¶ added in v0.8.0
func (p *FunctionParameterWithoutNullSpecial1[T]) UnSafeGetAllValue() []T
func (*FunctionParameterWithoutNullSpecial1[T]) WithAnyNullValue ¶ added in v0.8.0
func (p *FunctionParameterWithoutNullSpecial1[T]) WithAnyNullValue() bool
type FunctionParameterWrapper ¶ added in v0.7.0
type FunctionParameterWrapper[T types.FixedSizeT] interface { // GetType will return the type info of wrapped parameter. GetType() types.Type // GetSourceVector return the source vector. GetSourceVector() *Vector // GetValue return the Idx th value and if it's null or not. // watch that, if str type, GetValue will return the []types.Varlena directly. GetValue(idx uint64) (T, bool) // GetStrValue return the Idx th string value and if it's null or not. //TODO: Later rename it to GetBytes as it makes more sense. GetStrValue(idx uint64) ([]byte, bool) // UnSafeGetAllValue return all the values. // please use it carefully because we didn't check the null situation. UnSafeGetAllValue() []T WithAnyNullValue() bool }
FunctionParameterWrapper is generated from a vector. It hides the relevant details of vector (like scalar and contain null or not.) and provides a series of methods to get values.
func GenerateFunctionFixedTypeParameter ¶ added in v0.7.0
func GenerateFunctionFixedTypeParameter[T types.FixedSizeTExceptStrType](v *Vector) FunctionParameterWrapper[T]
func GenerateFunctionStrParameter ¶ added in v0.7.0
func GenerateFunctionStrParameter(v *Vector) FunctionParameterWrapper[types.Varlena]
type FunctionResult ¶ added in v0.7.0
type FunctionResult[T types.FixedSizeT] struct { // contains filtered or unexported fields }
func MustFunctionResult ¶ added in v0.7.0
func MustFunctionResult[T types.FixedSizeT](wrapper FunctionResultWrapper) *FunctionResult[T]
func (*FunctionResult[T]) Append ¶ added in v0.7.0
func (fr *FunctionResult[T]) Append(val T, isnull bool) error
func (*FunctionResult[T]) AppendByteJson ¶ added in v1.2.3
func (fr *FunctionResult[T]) AppendByteJson(bj bytejson.ByteJson, isnull bool) error
func (*FunctionResult[T]) AppendBytes ¶ added in v0.8.0
func (fr *FunctionResult[T]) AppendBytes(val []byte, isnull bool) error
func (*FunctionResult[T]) AppendMustBytesValue ¶ added in v0.8.0
func (fr *FunctionResult[T]) AppendMustBytesValue(val []byte) error
func (*FunctionResult[T]) AppendMustNull ¶ added in v0.8.0
func (fr *FunctionResult[T]) AppendMustNull()
func (*FunctionResult[T]) AppendMustNullForBytesResult ¶ added in v0.8.0
func (fr *FunctionResult[T]) AppendMustNullForBytesResult() error
func (*FunctionResult[T]) AppendMustValue ¶ added in v0.8.0
func (fr *FunctionResult[T]) AppendMustValue(val T)
func (*FunctionResult[T]) ConvertToStrParameter ¶ added in v0.7.0
func (fr *FunctionResult[T]) ConvertToStrParameter() FunctionParameterWrapper[types.Varlena]
func (*FunctionResult[T]) DupFromParameter ¶ added in v0.8.0
func (fr *FunctionResult[T]) DupFromParameter(fp FunctionParameterWrapper[T], length int) (err error)
func (*FunctionResult[T]) Free ¶ added in v0.7.0
func (fr *FunctionResult[T]) Free()
func (*FunctionResult[T]) GetResultVector ¶ added in v0.7.0
func (fr *FunctionResult[T]) GetResultVector() *Vector
func (*FunctionResult[T]) GetType ¶ added in v0.7.0
func (fr *FunctionResult[T]) GetType() types.Type
func (*FunctionResult[T]) PreExtendAndReset ¶ added in v0.8.0
func (fr *FunctionResult[T]) PreExtendAndReset(targetSize int) error
func (*FunctionResult[T]) SetResultVector ¶ added in v0.8.0
func (fr *FunctionResult[T]) SetResultVector(v *Vector)
func (*FunctionResult[T]) TempSetType ¶ added in v0.8.0
func (fr *FunctionResult[T]) TempSetType(t types.Type)
type FunctionResultWrapper ¶ added in v0.7.0
type Vector ¶
type Vector struct {
// contains filtered or unexported fields
}
Vector represent a column
func NewConstArray ¶ added in v1.1.0
func NewConstArray[T types.RealNumbers](typ types.Type, val []T, length int, mp *mpool.MPool) (vec *Vector, err error)
NewConstArray Creates a Const_Array Vector
func NewConstBytes ¶ added in v0.6.0
func NewConstFixed ¶ added in v0.6.0
func NewConstNull ¶ added in v0.5.0
func ProtoVectorToVector ¶ added in v0.6.0
func (*Vector) Allocated ¶ added in v0.8.0
Allocated returns the total allocated memory size of the vector. it can be used to estimate the memory usage of the vector.
func (*Vector) CleanOnlyData ¶ added in v0.8.0
func (v *Vector) CleanOnlyData()
func (*Vector) CloneWindow ¶ added in v0.8.0
CloneWindow Deep copies the content from start to end into another vector. Afterwise it's safe to destroy the original one.
func (*Vector) CloneWindowTo ¶ added in v0.8.0
func (*Vector) GetBytesAt ¶ added in v0.8.0
func (*Vector) GetMinMaxValue ¶ added in v0.8.0
GetMinMaxValue returns the min and max value of the vector. if the length is 0 or all null, return false
func (*Vector) GetRawBytesAt ¶ added in v0.8.0
func (*Vector) GetSumValue ¶ added in v1.0.0
GetSumValue returns the sum value of the vector. if the length is 0 or all null or the vector is not numeric, return false
func (*Vector) InplaceSort ¶ added in v1.2.0
func (v *Vector) InplaceSort()
func (*Vector) InplaceSortAndCompact ¶ added in v1.1.2
func (v *Vector) InplaceSortAndCompact()
InplaceSortAndCompact @todo optimization in the future
func (*Vector) IsConstNull ¶ added in v0.8.0
IsConstNull return true if the vector means a scalar Null. e.g.
a + Null, and the vector of right part will return true
func (*Vector) MarshalBinary ¶ added in v0.6.0
func (*Vector) MarshalBinaryWithBuffer ¶ added in v0.8.0
func (*Vector) PreExtendArea ¶ added in v1.2.3
PreExtendArea use to expand the mpool and area of vector
func (*Vector) ResetWithNewType ¶ added in v0.8.0
TODO: It is semantically same as Reset, need to merge them later.
func (*Vector) SetTypeScale ¶ added in v1.1.0
func (*Vector) Shrink ¶ added in v0.8.0
Shrink use to shrink vectors, sels must be guaranteed to be ordered
func (*Vector) Size ¶ added in v0.6.0
Size of data, I think this function is inherently broken. This Size is not meaningful other than used in (approximate) memory accounting.
func (*Vector) String ¶
String function is used to visually display the vector, which is used to implement the Printf interface
func (*Vector) UnionBatch ¶ added in v0.8.0
func (*Vector) UnionMulti ¶ added in v0.8.0
It is simply append. the purpose of retention is ease of use
func (*Vector) UnionOne ¶ added in v0.8.0
It is simply append. the purpose of retention is ease of use
func (*Vector) UnmarshalBinary ¶ added in v0.6.0
func (*Vector) UnmarshalBinaryWithCopy ¶ added in v0.8.0
func (*Vector) UnsafeGetRawData ¶ added in v0.8.0
func (*Vector) UnsafeGetStringAt ¶ added in v1.2.1
no copy. it is unsafe if the user cannot determine the vector's life