op

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Algo castorArgIdx
	Conf
	AlgoType
)
View Source
const (
	TO_LOWER_OP uint64 = iota
	TO_UPPER_OP
	SUM_OP
	COUNT_OP
	CASTOR_OP
	UNKNOWN_OP
)

Variables

This section is empty.

Functions

func CompileOp

func CompileOp(expr *influxql.Call) error

func IsAggregateOp

func IsAggregateOp(call *influxql.Call) bool

func IsProjectOp

func IsProjectOp(call *influxql.Call) bool

func IsUDAFOp added in v0.2.0

func IsUDAFOp(call *influxql.Call) bool

Types

type AggregateOp

type AggregateOp interface {
	Factory() RoutineFactory
}

type BaseOp

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

func (*BaseOp) Arity

func (op *BaseOp) Arity() int

func (*BaseOp) Clone

func (op *BaseOp) Clone() Op

must be overrided at inherited struct

func (*BaseOp) Compile

func (op *BaseOp) Compile(call *influxql.Call) error

must be overrided at inherited struct

func (*BaseOp) Dump

func (op *BaseOp) Dump() string

func (*BaseOp) EqualTo

func (op *BaseOp) EqualTo(other Op) bool

func (*BaseOp) ID

func (op *BaseOp) ID() uint64

func (*BaseOp) Name

func (op *BaseOp) Name() string

func (*BaseOp) Type

func (op *BaseOp) Type(args ...influxql.DataType) (influxql.DataType, error)

must be overrided at inherited struct

type CastorOp added in v0.2.0

type CastorOp struct {
	BaseOp
	// contains filtered or unexported fields
}

func NewCastorOp added in v0.2.0

func NewCastorOp(factory RoutineFactory) *CastorOp

func (*CastorOp) CanPushDownSeries added in v0.2.0

func (op *CastorOp) CanPushDownSeries() bool

func (*CastorOp) Clone added in v0.2.0

func (op *CastorOp) Clone() Op

func (*CastorOp) Compile added in v0.2.0

func (op *CastorOp) Compile(call *influxql.Call) error

func (*CastorOp) Factory added in v0.2.0

func (op *CastorOp) Factory() RoutineFactory

func (*CastorOp) Type added in v0.2.0

func (op *CastorOp) Type(args ...influxql.DataType) (influxql.DataType, error)

type CountOp

type CountOp struct {
	BaseOp
	// contains filtered or unexported fields
}

func NewCountOp

func NewCountOp(factory RoutineFactory) *CountOp

func (*CountOp) Clone

func (op *CountOp) Clone() Op

func (*CountOp) Compile

func (op *CountOp) Compile(call *influxql.Call) error

func (*CountOp) Factory

func (op *CountOp) Factory() RoutineFactory

func (*CountOp) Type

func (op *CountOp) Type(args ...influxql.DataType) (influxql.DataType, error)

type FuncRoutineFactory

type FuncRoutineFactory func(...interface{}) (interface{}, error)

func (FuncRoutineFactory) Create

func (f FuncRoutineFactory) Create(args ...interface{}) (interface{}, error)

type Op

type Op interface {
	Name() string
	ID() uint64
	Arity() int
	EqualTo(other Op) bool
	Clone() Op
	Dump() string
	Type(...influxql.DataType) (influxql.DataType, error)
	Compile(call *influxql.Call) error
}

type OpFactory

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

func GetOpFactory

func GetOpFactory() *OpFactory

func NewOpFactory

func NewOpFactory() *OpFactory

func (*OpFactory) AddOp

func (c *OpFactory) AddOp(op Op) error

func (*OpFactory) FindAggregateOp

func (c *OpFactory) FindAggregateOp(name string) (AggregateOp, bool)

func (*OpFactory) FindOp

func (c *OpFactory) FindOp(name string) (Op, bool)

func (*OpFactory) FindProjectOp

func (c *OpFactory) FindProjectOp(name string) (ProjectOp, bool)

func (*OpFactory) FindUDAFOp added in v0.2.0

func (c *OpFactory) FindUDAFOp(name string) (UDAFOp, bool)

func (*OpFactory) GetAggregateOpNames added in v0.2.0

func (c *OpFactory) GetAggregateOpNames() []string

func (*OpFactory) GetUDAFOpNames added in v0.2.0

func (c *OpFactory) GetUDAFOpNames() []string

type ProjectOp

type ProjectOp interface {
	Eval(...interface{}) (interface{}, error)
}

type RoutineFactory

type RoutineFactory interface {
	Create(...interface{}) (interface{}, error)
}

type SumOp

type SumOp struct {
	BaseOp
	// contains filtered or unexported fields
}

func NewSumOp

func NewSumOp(factory RoutineFactory) *SumOp

func (*SumOp) Clone

func (op *SumOp) Clone() Op

func (*SumOp) Compile

func (op *SumOp) Compile(call *influxql.Call) error

func (*SumOp) Factory

func (op *SumOp) Factory() RoutineFactory

func (*SumOp) Type

func (op *SumOp) Type(args ...influxql.DataType) (influxql.DataType, error)

type ToLowerOp

type ToLowerOp struct {
	BaseOp
}

func NewToLowerOp

func NewToLowerOp() *ToLowerOp

func (*ToLowerOp) Clone

func (op *ToLowerOp) Clone() Op

func (*ToLowerOp) Compile

func (op *ToLowerOp) Compile(call *influxql.Call) error

func (*ToLowerOp) Eval

func (op *ToLowerOp) Eval(args ...interface{}) (interface{}, error)

func (*ToLowerOp) Type

func (op *ToLowerOp) Type(args ...influxql.DataType) (influxql.DataType, error)

type ToUpperOp

type ToUpperOp struct {
	BaseOp
}

func NewToUpperOp

func NewToUpperOp() *ToUpperOp

func (*ToUpperOp) Clone

func (op *ToUpperOp) Clone() Op

func (*ToUpperOp) Compile

func (op *ToUpperOp) Compile(call *influxql.Call) error

func (*ToUpperOp) Eval

func (op *ToUpperOp) Eval(args ...interface{}) (interface{}, error)

func (*ToUpperOp) Type

func (op *ToUpperOp) Type(args ...influxql.DataType) (influxql.DataType, error)

type TypeMapper

type TypeMapper struct{}

func (TypeMapper) CallType

func (m TypeMapper) CallType(name string, args []influxql.DataType) (influxql.DataType, error)

func (TypeMapper) MapType

func (TypeMapper) MapTypeBatch

type UDAFOp added in v0.2.0

type UDAFOp interface {
	AggregateOp
	CanPushDownSeries() bool
}

type Valuer

type Valuer struct{}

func (Valuer) Call

func (v Valuer) Call(name string, args []interface{}) (interface{}, bool)

func (Valuer) SetValuer

func (Valuer) SetValuer(v influxql.Valuer, index int)

func (Valuer) Value

func (Valuer) Value(key string) (interface{}, bool)

Jump to

Keyboard shortcuts

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