aggexec

package
v1.2.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	// GroupNotMatched is a constant for the BatchFill method.
	// if the group is GroupNotMatched, the BatchFill method will ignore the row.
	GroupNotMatched = 0
)

Variables

View Source
var (
	ErrInvalidLengthSerialize        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowSerialize          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupSerialize = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ClusterCentersSupportTypes = []types.T{
		types.T_array_float32, types.T_array_float64,
	}
)
View Source
var (
	CountReturnType = func(_ []types.Type) types.Type {
		return types.T_int64.ToType()
	}
)
View Source
var EncodedAggExecType_name = map[int32]string{
	0:  "single_fixed_fixed",
	1:  "single_fixed_var",
	2:  "single_var_fixed",
	3:  "single_var_var",
	4:  "multi_return_fixed",
	5:  "multi_return_var",
	6:  "special_group_concat",
	7:  "special_count_column",
	8:  "special_count_star",
	9:  "special_approx_count",
	10: "special_median",
	11: "special_cluster_center",
	12: "single_window",
}
View Source
var EncodedAggExecType_value = map[string]int32{
	"single_fixed_fixed":     0,
	"single_fixed_var":       1,
	"single_var_fixed":       2,
	"single_var_var":         3,
	"multi_return_fixed":     4,
	"multi_return_var":       5,
	"special_group_concat":   6,
	"special_count_column":   7,
	"special_count_star":     8,
	"special_approx_count":   9,
	"special_median":         10,
	"special_cluster_center": 11,
	"single_window":          12,
}
View Source
var GroupConcatUnsupportedTypes = []types.T{
	types.T_tuple,
}

Functions

func ClusterCentersReturnType

func ClusterCentersReturnType(argType []types.Type) types.Type

func FromD64ToD128

func FromD64ToD128(v types.Decimal64) types.Decimal128

func GroupConcatReturnType

func GroupConcatReturnType(args []types.Type) types.Type

func InitFlagContextFromFixedToFixed

func InitFlagContextFromFixedToFixed[from, to types.FixedSizeTExceptStrType](exec SingleAggFromFixedRetFixed[from, to], setter AggSetter[to], arg, ret types.Type) error

func InitFlagContextFromVarToVar

func InitFlagContextFromVarToVar(exec SingleAggFromVarRetVar, setter AggBytesSetter, arg, ret types.Type) error

func IsGroupConcatSupported

func IsGroupConcatSupported(t types.Type) bool

func MarshalAggFuncExec

func MarshalAggFuncExec(exec AggFuncExec) ([]byte, error)

func MedianReturnType

func MedianReturnType(args []types.Type) types.Type

func RegisterApproxCountAgg

func RegisterApproxCountAgg(id int64)

func RegisterClusterCenters

func RegisterClusterCenters(id int64)

func RegisterCountColumnAgg

func RegisterCountColumnAgg(id int64)

func RegisterCountStarAgg

func RegisterCountStarAgg(id int64)

func RegisterDenseRankWin

func RegisterDenseRankWin(id int64)

func RegisterGroupConcatAgg

func RegisterGroupConcatAgg(id int64, sep string)

func RegisterMedian

func RegisterMedian(id int64)

func RegisterRankWin

func RegisterRankWin(id int64)

func RegisterRowNumberWin

func RegisterRowNumberWin(id int64)

func RegisterSingleAggFromFixedToFixed

func RegisterSingleAggFromFixedToFixed[from, to types.FixedSizeTExceptStrType](
	info SingleAggImplementationFixedFixed[from, to])

func RegisterSingleAggFromFixedToVar

func RegisterSingleAggFromFixedToVar[from types.FixedSizeTExceptStrType](
	info SingleAggImplementationFixedVar[from])

func RegisterSingleAggFromVarToVar

func RegisterSingleAggFromVarToVar(
	info SingleAggImplementationVarVar)

func SingleWindowReturnType

func SingleWindowReturnType(_ []types.Type) types.Type

Types

type AggBytesGetter

type AggBytesGetter func() []byte

the definition of functions to get and set the aggregation result.

type AggBytesSetter

type AggBytesSetter func(value []byte) error

the definition of functions to get and set the aggregation result.

type AggCanMarshal

type AggCanMarshal interface {
	Marshal() []byte
	Unmarshal([]byte)
}

AggCanMarshal interface is used for agg structures' multi-node communication. each private structure of aggregation should implement the AggCanMarshal interface. todo: change to deliver []byte directly, and agg developer choose how to use the []byte.

type AggCommonExecContext

type AggCommonExecContext interface {
	AggCanMarshal
}

AggCommonExecContext stores the common context for all the groups. like the type scale, timezone and so on.

type AggFuncExec

type AggFuncExec interface {
	AggID() int64
	IsDistinct() bool

	// TypesInfo return the argument types and return type of the function.
	TypesInfo() ([]types.Type, types.Type)

	// GroupGrow is used to increase the aggregation's group size.
	GroupGrow(more int) error
	// PreAllocateGroups is used to pre-extend the agg memory to reduce gc cost.
	PreAllocateGroups(more int) error

	// Fill BulkFill and BatchFill add the value to the aggregation.
	Fill(groupIndex int, row int, vectors []*vector.Vector) error
	BulkFill(groupIndex int, vectors []*vector.Vector) error
	BatchFill(offset int, groups []uint64, vectors []*vector.Vector) error

	// Merge merges the aggregation result of two groups.
	Merge(next AggFuncExec, groupIdx1, groupIdx2 int) error
	// BatchMerge merges the aggregation result of multiple groups.
	// merge work starts from the offset group of the next agg, end at the (offset + len(groups) - 1) group.
	// merges the (offset + i)th group with the (groups[i]-1) group of the current agg.
	BatchMerge(next AggFuncExec, offset int, groups []uint64) error

	// SetExtraInformation add an additional information to agg executor.
	// in most cases, it is used to set the partial result of the aggregation to speed up.
	//
	// but for the 'group_concat', it was a bad hack to use the method to set the separator.
	// and for the 'cluster_centers', it was used to set the fields of this agg.
	// todo: the old implementation is not good, we should use the vector.Vector to replace the any.
	//  and the hacks should be removed.
	//  but for first version, I will keep it.
	SetExtraInformation(partialResult any, groupIndex int) (err error)

	// Flush return the aggregation result.
	Flush() (*vector.Vector, error)

	// Free clean the resource and reuse the aggregation if possible.
	Free()
	// contains filtered or unexported methods
}

AggFuncExec is an interface to do execution for aggregation.

func CopyAggFuncExec

func CopyAggFuncExec(mg AggMemoryManager, exec AggFuncExec) (AggFuncExec, error)

func MakeAgg

func MakeAgg(
	mg AggMemoryManager,
	aggID int64, isDistinct bool,
	param ...types.Type) AggFuncExec

MakeAgg is the only exporting method to create an aggregation function executor. all the aggID should be registered before calling this function.

func UnmarshalAggFuncExec

func UnmarshalAggFuncExec(
	mg AggMemoryManager,
	data []byte) (AggFuncExec, error)

type AggFuncExecExpression

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

AggFuncExecExpression is the exporting structure for the aggregation information. it is used to indicate the information of the aggregation function for the operators like 'group' or 'merge group'.

func MakeAggFunctionExpression

func MakeAggFunctionExpression(id int64, isDistinct bool, args []*plan.Expr, config []byte) AggFuncExecExpression

func (AggFuncExecExpression) GetAggID

func (expr AggFuncExecExpression) GetAggID() int64

func (AggFuncExecExpression) GetArgExpressions

func (expr AggFuncExecExpression) GetArgExpressions() []*plan.Expr

func (AggFuncExecExpression) GetExtraConfig

func (expr AggFuncExecExpression) GetExtraConfig() []byte

func (AggFuncExecExpression) IsDistinct

func (expr AggFuncExecExpression) IsDistinct() bool

type AggGetter

type AggGetter[T types.FixedSizeTExceptStrType] func() T

the definition of functions to get and set the aggregation result.

type AggGroupExecContext

type AggGroupExecContext interface {
	AggCanMarshal
}

AggGroupExecContext store the content of each group individually. like the row-count has been filled, the sum of the values and so on.

type AggMemoryManager

type AggMemoryManager interface {
	Mp() *mpool.MPool
	GetVector(typ types.Type) *vector.Vector
	PutVector(v *vector.Vector)
}

func NewSimpleAggMemoryManager

func NewSimpleAggMemoryManager(mp *mpool.MPool) AggMemoryManager

type AggSetter

type AggSetter[T types.FixedSizeTExceptStrType] func(value T)

the definition of functions to get and set the aggregation result.

type ContextWithEmptyFlagOfSingleAggRetBytes

type ContextWithEmptyFlagOfSingleAggRetBytes struct {
	IsEmpty bool
}

func (*ContextWithEmptyFlagOfSingleAggRetBytes) Marshal

func (*ContextWithEmptyFlagOfSingleAggRetBytes) Unmarshal

func (a *ContextWithEmptyFlagOfSingleAggRetBytes) Unmarshal(data []byte)

type ContextWithEmptyFlagOfSingleAggRetFixed

type ContextWithEmptyFlagOfSingleAggRetFixed[T types.FixedSizeTExceptStrType] struct {
	IsEmpty bool
}

func (*ContextWithEmptyFlagOfSingleAggRetFixed[T]) Marshal

func (*ContextWithEmptyFlagOfSingleAggRetFixed[T]) Unmarshal

func (a *ContextWithEmptyFlagOfSingleAggRetFixed[T]) Unmarshal(data []byte)

type EmptyContextOfSingleAggRetBytes

type EmptyContextOfSingleAggRetBytes struct{}

func (EmptyContextOfSingleAggRetBytes) Marshal

func (a EmptyContextOfSingleAggRetBytes) Marshal() []byte

func (EmptyContextOfSingleAggRetBytes) Unmarshal

func (a EmptyContextOfSingleAggRetBytes) Unmarshal([]byte)

type EmptyContextOfSingleAggRetFixed

type EmptyContextOfSingleAggRetFixed[T types.FixedSizeTExceptStrType] struct{}

func (EmptyContextOfSingleAggRetFixed[T]) Marshal

func (a EmptyContextOfSingleAggRetFixed[T]) Marshal() []byte

func (EmptyContextOfSingleAggRetFixed[T]) Unmarshal

func (a EmptyContextOfSingleAggRetFixed[T]) Unmarshal([]byte)

type EncodedAgg

type EncodedAgg struct {
	ExecType             EncodedAggExecType `protobuf:"varint,1,opt,name=exec_type,json=execType,proto3,enum=aggexec.EncodedAggExecType" json:"exec_type,omitempty"`
	Info                 *EncodedBasicInfo  `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	Result               []byte             `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
	Groups               [][]byte           `protobuf:"bytes,4,rep,name=groups,proto3" json:"groups,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (*EncodedAgg) Descriptor

func (*EncodedAgg) Descriptor() ([]byte, []int)

func (*EncodedAgg) GetExecType

func (m *EncodedAgg) GetExecType() EncodedAggExecType

func (*EncodedAgg) GetGroups

func (m *EncodedAgg) GetGroups() [][]byte

func (*EncodedAgg) GetInfo

func (m *EncodedAgg) GetInfo() *EncodedBasicInfo

func (*EncodedAgg) GetResult

func (m *EncodedAgg) GetResult() []byte

func (*EncodedAgg) Marshal

func (m *EncodedAgg) Marshal() (dAtA []byte, err error)

func (*EncodedAgg) MarshalTo

func (m *EncodedAgg) MarshalTo(dAtA []byte) (int, error)

func (*EncodedAgg) MarshalToSizedBuffer

func (m *EncodedAgg) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EncodedAgg) ProtoMessage

func (*EncodedAgg) ProtoMessage()

func (*EncodedAgg) ProtoSize

func (m *EncodedAgg) ProtoSize() (n int)

func (*EncodedAgg) Reset

func (m *EncodedAgg) Reset()

func (*EncodedAgg) String

func (m *EncodedAgg) String() string

func (*EncodedAgg) Unmarshal

func (m *EncodedAgg) Unmarshal(dAtA []byte) error

func (*EncodedAgg) XXX_DiscardUnknown

func (m *EncodedAgg) XXX_DiscardUnknown()

func (*EncodedAgg) XXX_Marshal

func (m *EncodedAgg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EncodedAgg) XXX_Merge

func (m *EncodedAgg) XXX_Merge(src proto.Message)

func (*EncodedAgg) XXX_Size

func (m *EncodedAgg) XXX_Size() int

func (*EncodedAgg) XXX_Unmarshal

func (m *EncodedAgg) XXX_Unmarshal(b []byte) error

type EncodedAggExecType

type EncodedAggExecType int32
const (
	EncodedAggExecType_single_fixed_fixed     EncodedAggExecType = 0
	EncodedAggExecType_single_fixed_var       EncodedAggExecType = 1
	EncodedAggExecType_single_var_fixed       EncodedAggExecType = 2
	EncodedAggExecType_single_var_var         EncodedAggExecType = 3
	EncodedAggExecType_multi_return_fixed     EncodedAggExecType = 4
	EncodedAggExecType_multi_return_var       EncodedAggExecType = 5
	EncodedAggExecType_special_group_concat   EncodedAggExecType = 6
	EncodedAggExecType_special_count_column   EncodedAggExecType = 7
	EncodedAggExecType_special_count_star     EncodedAggExecType = 8
	EncodedAggExecType_special_approx_count   EncodedAggExecType = 9
	EncodedAggExecType_special_median         EncodedAggExecType = 10
	EncodedAggExecType_special_cluster_center EncodedAggExecType = 11
	EncodedAggExecType_single_window          EncodedAggExecType = 12
)

func (EncodedAggExecType) EnumDescriptor

func (EncodedAggExecType) EnumDescriptor() ([]byte, []int)

func (EncodedAggExecType) String

func (x EncodedAggExecType) String() string

type EncodedBasicInfo

type EncodedBasicInfo struct {
	Id                   int64                                                        `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	IsDistinct           bool                                                         `protobuf:"varint,2,opt,name=is_distinct,json=isDistinct,proto3" json:"is_distinct,omitempty"`
	NullEmpty            bool                                                         `protobuf:"varint,3,opt,name=null_empty,json=nullEmpty,proto3" json:"null_empty,omitempty"`
	Args                 []github_com_matrixorigin_matrixone_pkg_container_types.Type `protobuf:"bytes,4,rep,name=args,proto3,customtype=github.com/matrixorigin/matrixone/pkg/container/types.Type" json:"args"`
	Ret                  github_com_matrixorigin_matrixone_pkg_container_types.Type   `protobuf:"bytes,5,opt,name=ret,proto3,customtype=github.com/matrixorigin/matrixone/pkg/container/types.Type" json:"ret"`
	XXX_NoUnkeyedLiteral struct{}                                                     `json:"-"`
	XXX_unrecognized     []byte                                                       `json:"-"`
	XXX_sizecache        int32                                                        `json:"-"`
}

func (*EncodedBasicInfo) Descriptor

func (*EncodedBasicInfo) Descriptor() ([]byte, []int)

func (*EncodedBasicInfo) GetId

func (m *EncodedBasicInfo) GetId() int64

func (*EncodedBasicInfo) GetIsDistinct

func (m *EncodedBasicInfo) GetIsDistinct() bool

func (*EncodedBasicInfo) GetNullEmpty

func (m *EncodedBasicInfo) GetNullEmpty() bool

func (*EncodedBasicInfo) Marshal

func (m *EncodedBasicInfo) Marshal() (dAtA []byte, err error)

func (*EncodedBasicInfo) MarshalTo

func (m *EncodedBasicInfo) MarshalTo(dAtA []byte) (int, error)

func (*EncodedBasicInfo) MarshalToSizedBuffer

func (m *EncodedBasicInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EncodedBasicInfo) ProtoMessage

func (*EncodedBasicInfo) ProtoMessage()

func (*EncodedBasicInfo) ProtoSize

func (m *EncodedBasicInfo) ProtoSize() (n int)

func (*EncodedBasicInfo) Reset

func (m *EncodedBasicInfo) Reset()

func (*EncodedBasicInfo) String

func (m *EncodedBasicInfo) String() string

func (*EncodedBasicInfo) Unmarshal

func (m *EncodedBasicInfo) Unmarshal(dAtA []byte) error

func (*EncodedBasicInfo) XXX_DiscardUnknown

func (m *EncodedBasicInfo) XXX_DiscardUnknown()

func (*EncodedBasicInfo) XXX_Marshal

func (m *EncodedBasicInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EncodedBasicInfo) XXX_Merge

func (m *EncodedBasicInfo) XXX_Merge(src proto.Message)

func (*EncodedBasicInfo) XXX_Size

func (m *EncodedBasicInfo) XXX_Size() int

func (*EncodedBasicInfo) XXX_Unmarshal

func (m *EncodedBasicInfo) XXX_Unmarshal(b []byte) error

type MultiAggEval1

type MultiAggEval1[to types.FixedSizeTExceptStrType] func(
	exec MultiAggRetFixed[to], getter AggGetter[to], setter AggSetter[to]) error

the definition of functions used for multi-column agg whose result type is a fixed-length type.

type MultiAggEval2

type MultiAggEval2 func(
	exec MultiAggRetVar, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions used for multi-column agg whose result type is a var-len type.

type MultiAggFillNull1

type MultiAggFillNull1[to types.FixedSizeTExceptStrType] func(
	exec MultiAggRetFixed[to]) error

the definition of functions used for multi-column agg whose result type is a fixed-length type.

type MultiAggFillNull2

type MultiAggFillNull2 func(
	exec MultiAggRetVar) error

the definition of functions used for multi-column agg whose result type is a var-len type.

type MultiAggFlush1

type MultiAggFlush1[to types.FixedSizeTExceptStrType] func(
	exec MultiAggRetFixed[to], getter AggGetter[to], setter AggSetter[to]) error

the definition of functions used for multi-column agg whose result type is a fixed-length type.

type MultiAggFlush2

type MultiAggFlush2 func(
	exec MultiAggRetVar, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions used for multi-column agg whose result type is a var-len type.

type MultiAggInit1

type MultiAggInit1[to types.FixedSizeTExceptStrType] func(
	exec MultiAggRetFixed[to], setter AggSetter[to], args []types.Type, ret types.Type)

the definition of functions to initialize the aggregation.

type MultiAggInit2

type MultiAggInit2 func(
	exec MultiAggRetVar, setter AggBytesSetter, args []types.Type, ret types.Type)

the definition of functions to initialize the aggregation.

type MultiAggMerge1

type MultiAggMerge1[to types.FixedSizeTExceptStrType] func(
	exec1, exec2 MultiAggRetFixed[to], getter1, getter2 AggGetter[to], setter AggSetter[to]) error

the definition of functions used for multi-column agg whose result type is a fixed-length type.

type MultiAggMerge2

type MultiAggMerge2 func(
	exec1, exec2 MultiAggRetVar, getter1, getter2 AggBytesGetter, setter AggBytesSetter) error

the definition of functions used for multi-column agg whose result type is a var-len type.

type MultiAggRetFixed

type MultiAggRetFixed[to types.FixedSizeTExceptStrType] interface{ AggCanMarshal }

type MultiAggRetVar

type MultiAggRetVar interface{ AggCanMarshal }

type MultiColumnAggInformation

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

func MakeMultiColumnAggInformation

func MakeMultiColumnAggInformation(
	id int64, params []types.Type, getRetType func(p []types.Type) types.Type,
	setNullForEmptyGroup bool) MultiColumnAggInformation

type MultiColumnAggRetFixedRegisteredInfo

type MultiColumnAggRetFixedRegisteredInfo[to types.FixedSizeTExceptStrType] struct {
	MultiColumnAggInformation
	// contains filtered or unexported fields
}

func MakeMultiAggRetFixedRegisteredInfo

func MakeMultiAggRetFixedRegisteredInfo[to types.FixedSizeTExceptStrType](
	info MultiColumnAggInformation,
	impl func() MultiAggRetFixed[to],
	init MultiAggInit1[to],
	fillWhich []any,
	fillNullWhich []MultiAggFillNull1[to],
	rowValid rowValidForMultiAgg1[to],
	eval MultiAggEval1[to],
	merge MultiAggMerge1[to],
	flush MultiAggFlush1[to],
) MultiColumnAggRetFixedRegisteredInfo[to]

type SimpleAggMemoryManager

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

func (SimpleAggMemoryManager) GetVector

func (m SimpleAggMemoryManager) GetVector(typ types.Type) *vector.Vector

func (SimpleAggMemoryManager) Mp

func (SimpleAggMemoryManager) PutVector

func (m SimpleAggMemoryManager) PutVector(v *vector.Vector)

type SingleAggFill1

type SingleAggFill1[from, to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetFixed[from, to], value from, getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to fill the aggregation with one value.

type SingleAggFill2

type SingleAggFill2[from types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetVar[from], value from, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to fill the aggregation with one value.

type SingleAggFill3

type SingleAggFill3[to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromVarRetFixed[to], value []byte, getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to fill the aggregation with one value.

type SingleAggFill4

type SingleAggFill4 func(
	exec SingleAggFromVarRetVar, value []byte, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to fill the aggregation with one value.

type SingleAggFillNull1

type SingleAggFillNull1[from, to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetFixed[from, to], getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to fill the aggregation with one null value.

type SingleAggFillNull2

type SingleAggFillNull2[from types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetVar[from], getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to fill the aggregation with one null value.

type SingleAggFillNull3

type SingleAggFillNull3[to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromVarRetFixed[to], getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to fill the aggregation with one null value.

type SingleAggFillNull4

type SingleAggFillNull4 func(
	exec SingleAggFromVarRetVar, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to fill the aggregation with one null value.

type SingleAggFills1

type SingleAggFills1[from, to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetFixed[from, to], value from, isNull bool, count int, getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to fill the aggregation with multiple values.

type SingleAggFills2

type SingleAggFills2[from types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetVar[from], value from, isNull bool, count int, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to fill the aggregation with multiple values.

type SingleAggFills3

type SingleAggFills3[to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromVarRetFixed[to], value []byte, isNull bool, count int, getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to fill the aggregation with multiple values.

type SingleAggFills4

type SingleAggFills4 func(
	exec SingleAggFromVarRetVar, value []byte, isNull bool, count int, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to fill the aggregation with multiple values.

type SingleAggFlush1

type SingleAggFlush1[from, to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetFixed[from, to], getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to return the final result of the aggregation.

type SingleAggFlush2

type SingleAggFlush2[from types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetVar[from], getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to return the final result of the aggregation.

type SingleAggFlush3

type SingleAggFlush3[to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromVarRetFixed[to], getter AggGetter[to], setter AggSetter[to]) error

the definition of functions to return the final result of the aggregation.

type SingleAggFlush4

type SingleAggFlush4 func(
	exec SingleAggFromVarRetVar, getter AggBytesGetter, setter AggBytesSetter) error

the definition of functions to return the final result of the aggregation.

type SingleAggFromFixedRetFixed

type SingleAggFromFixedRetFixed[from types.FixedSizeTExceptStrType, to types.FixedSizeTExceptStrType] interface{ AggCanMarshal }

func GenerateEmptyContextFromFixedToFixed

func GenerateEmptyContextFromFixedToFixed[from, to types.FixedSizeTExceptStrType]() SingleAggFromFixedRetFixed[from, to]

func GenerateFlagContextFromFixedToFixed

func GenerateFlagContextFromFixedToFixed[from, to types.FixedSizeTExceptStrType]() SingleAggFromFixedRetFixed[from, to]

type SingleAggFromFixedRetVar

type SingleAggFromFixedRetVar[from types.FixedSizeTExceptStrType] interface{ AggCanMarshal }

func GenerateEmptyContextFromFixedToVar

func GenerateEmptyContextFromFixedToVar[from types.FixedSizeTExceptStrType]() SingleAggFromFixedRetVar[from]

func GenerateFlagContextFromFixedToVar

func GenerateFlagContextFromFixedToVar[from types.FixedSizeTExceptStrType]() SingleAggFromFixedRetVar[from]

type SingleAggFromVarRetFixed

type SingleAggFromVarRetFixed[to types.FixedSizeTExceptStrType] interface{ AggCanMarshal }

func GenerateEmptyContextFromVarToFixed

func GenerateEmptyContextFromVarToFixed[to types.FixedSizeTExceptStrType]() SingleAggFromVarRetFixed[to]

func GenerateFlagContextFromVarToFixed

func GenerateFlagContextFromVarToFixed[to types.FixedSizeTExceptStrType]() SingleAggFromVarRetFixed[to]

type SingleAggFromVarRetVar

type SingleAggFromVarRetVar interface{ AggCanMarshal }

func GenerateEmptyContextFromVarToVar

func GenerateEmptyContextFromVarToVar() SingleAggFromVarRetVar

func GenerateFlagContextFromVarToVar

func GenerateFlagContextFromVarToVar() SingleAggFromVarRetVar

type SingleAggImplementationFixedFixed

type SingleAggImplementationFixedFixed[from, to types.FixedSizeTExceptStrType] struct {
	SingleColumnAggInformation
	// contains filtered or unexported fields
}

func MakeSingleAgg1RegisteredInfo

func MakeSingleAgg1RegisteredInfo[from, to types.FixedSizeTExceptStrType](
	info SingleColumnAggInformation,
	impl func() SingleAggFromFixedRetFixed[from, to],
	init SingleAggInit1[from, to],
	fill SingleAggFill1[from, to],
	fillNull SingleAggFillNull1[from, to],
	fills SingleAggFills1[from, to],
	merge SingleAggMerge1[from, to],
	flush SingleAggFlush1[from, to],
) SingleAggImplementationFixedFixed[from, to]

type SingleAggImplementationFixedVar

type SingleAggImplementationFixedVar[from types.FixedSizeTExceptStrType] struct {
	SingleColumnAggInformation
	// contains filtered or unexported fields
}

func MakeSingleAgg2RegisteredInfo

func MakeSingleAgg2RegisteredInfo[from types.FixedSizeTExceptStrType](
	info SingleColumnAggInformation,
	impl func() SingleAggFromFixedRetVar[from],
	init SingleAggInit2[from],
	fill SingleAggFill2[from],
	fillNull SingleAggFillNull2[from],
	fills SingleAggFills2[from],
	merge SingleAggMerge2[from],
	flush SingleAggFlush2[from],
) SingleAggImplementationFixedVar[from]

type SingleAggImplementationVarVar

type SingleAggImplementationVarVar struct {
	SingleColumnAggInformation
	// contains filtered or unexported fields
}

func MakeSingleAgg4RegisteredInfo

func MakeSingleAgg4RegisteredInfo(
	info SingleColumnAggInformation,
	impl func() SingleAggFromVarRetVar,
	init SingleAggInit4,
	fill SingleAggFill4,
	fillNull SingleAggFillNull4,
	fills SingleAggFills4,
	merge SingleAggMerge4,
	flush SingleAggFlush4,
) SingleAggImplementationVarVar

type SingleAggInit1

type SingleAggInit1[from types.FixedSizeTExceptStrType, to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetFixed[from, to], setter AggSetter[to], arg, ret types.Type) error

the definition of functions to initialize the aggregation.

type SingleAggInit2

type SingleAggInit2[from types.FixedSizeTExceptStrType] func(
	exec SingleAggFromFixedRetVar[from], setter AggBytesSetter, arg, ret types.Type) error

the definition of functions to initialize the aggregation.

type SingleAggInit3

type SingleAggInit3[to types.FixedSizeTExceptStrType] func(
	exec SingleAggFromVarRetFixed[to], setter AggSetter[to], arg, ret types.Type) error

the definition of functions to initialize the aggregation.

type SingleAggInit4

type SingleAggInit4 func(
	exec SingleAggFromVarRetVar, setter AggBytesSetter, arg, ret types.Type) error

the definition of functions to initialize the aggregation.

type SingleAggMerge1

type SingleAggMerge1[from, to types.FixedSizeTExceptStrType] func(
	exec1, exec2 SingleAggFromFixedRetFixed[from, to], getter1, getter2 AggGetter[to], setter AggSetter[to]) error

the definition of functions to merge two aggregations.

type SingleAggMerge2

type SingleAggMerge2[from types.FixedSizeTExceptStrType] func(
	exec1, exec2 SingleAggFromFixedRetVar[from], getter1, getter2 AggBytesGetter, setter AggBytesSetter) error

the definition of functions to merge two aggregations.

type SingleAggMerge3

type SingleAggMerge3[to types.FixedSizeTExceptStrType] func(
	exec1, exec2 SingleAggFromVarRetFixed[to], getter1, getter2 AggGetter[to], setter AggSetter[to]) error

the definition of functions to merge two aggregations.

type SingleAggMerge4

type SingleAggMerge4 func(
	exec1, exec2 SingleAggFromVarRetVar, getter1, getter2 AggBytesGetter, setter AggBytesSetter) error

the definition of functions to merge two aggregations.

type SingleColumnAggInformation

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

func MakeSingleColumnAggInformation

func MakeSingleColumnAggInformation(
	id int64, paramType types.Type, getRetType func(p []types.Type) types.Type,
	acceptNull bool, setNullForEmptyGroup bool) SingleColumnAggInformation

Directories

Path Synopsis
algos

Jump to

Keyboard shortcuts

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