Documentation
¶
Index ¶
- Constants
- func ReadFilterSource(id execute.DatasetID, r Reader, readSpec ReadFilterSpec, ...) execute.Source
- func ReadGroupSource(id execute.DatasetID, r Reader, readSpec ReadGroupSpec, ...) execute.Source
- func ReadTagKeysSource(id execute.DatasetID, r Reader, readSpec ReadTagKeysSpec, ...) execute.Source
- func ReadTagValuesSource(id execute.DatasetID, r Reader, readSpec ReadTagValuesSpec, ...) execute.Source
- type Authorizer
- type BucketsDecoder
- type Dependencies
- type FromDependencies
- type FromOpSpec
- type FromProcedureSpec
- type GroupMode
- type MetaClient
- type PushDownFilterRule
- type PushDownGroupRule
- type PushDownRangeRule
- type PushDownReadTagKeysRule
- type PushDownReadTagValuesRule
- type ReadFilterSpec
- type ReadGroupPhysSpec
- type ReadGroupSpec
- type ReadRangePhysSpec
- func (s *ReadRangePhysSpec) Copy() plan.ProcedureSpec
- func (s *ReadRangePhysSpec) Kind() plan.ProcedureKind
- func (s *ReadRangePhysSpec) LookupDatabase(ctx context.Context, deps StorageDependencies, a execute.Administration) (string, string, error)
- func (s *ReadRangePhysSpec) TimeBounds(predecessorBounds *plan.Bounds) *plan.Bounds
- type ReadTagKeysPhysSpec
- type ReadTagKeysSpec
- type ReadTagValuesPhysSpec
- type ReadTagValuesSpec
- type Reader
- type Source
- type StorageDependencies
- type TableIterator
Constants ¶
const ( ReadRangePhysKind = "ReadRangePhysKind" ReadGroupPhysKind = "ReadGroupPhysKind" ReadTagKeysPhysKind = "ReadTagKeysPhysKind" ReadTagValuesPhysKind = "ReadTagValuesPhysKind" )
const FromKind = "influxDBFrom"
Variables ¶
This section is empty.
Functions ¶
func ReadFilterSource ¶ added in v1.7.8
func ReadFilterSource(id execute.DatasetID, r Reader, readSpec ReadFilterSpec, a execute.Administration) execute.Source
func ReadGroupSource ¶ added in v1.7.8
func ReadGroupSource(id execute.DatasetID, r Reader, readSpec ReadGroupSpec, a execute.Administration) execute.Source
func ReadTagKeysSource ¶ added in v1.7.8
func ReadTagKeysSource(id execute.DatasetID, r Reader, readSpec ReadTagKeysSpec, a execute.Administration) execute.Source
func ReadTagValuesSource ¶ added in v1.7.8
func ReadTagValuesSource(id execute.DatasetID, r Reader, readSpec ReadTagValuesSpec, a execute.Administration) execute.Source
Types ¶
type Authorizer ¶
type BucketsDecoder ¶
type BucketsDecoder struct {
// contains filtered or unexported fields
}
func (*BucketsDecoder) Close ¶
func (bd *BucketsDecoder) Close() error
type Dependencies ¶
type Dependencies struct {
StorageDeps StorageDependencies
FluxDeps flux.Dependencies
}
func NewDependencies ¶ added in v1.7.9
func NewDependencies( mc MetaClient, reader Reader, auth Authorizer, authEnabled bool, ) (Dependencies, error)
type FromDependencies ¶ added in v1.7.9
type FromDependencies struct {
Reader Reader
MetaClient MetaClient
Authorizer Authorizer
AuthEnabled bool
}
func (FromDependencies) Validate ¶ added in v1.7.9
func (d FromDependencies) Validate() error
type FromOpSpec ¶
type FromOpSpec struct {
Bucket string `json:"bucket,omitempty"`
BucketID string `json:"bucketID,omitempty"`
}
func (*FromOpSpec) Kind ¶
func (s *FromOpSpec) Kind() flux.OperationKind
type FromProcedureSpec ¶
func (*FromProcedureSpec) Copy ¶
func (s *FromProcedureSpec) Copy() plan.ProcedureSpec
func (*FromProcedureSpec) Kind ¶
func (s *FromProcedureSpec) Kind() plan.ProcedureKind
func (*FromProcedureSpec) PostPhysicalValidate ¶
func (s *FromProcedureSpec) PostPhysicalValidate(id plan.NodeID) error
type GroupMode ¶
type GroupMode int
func ToGroupMode ¶
ToGroupMode accepts the group mode from Flux and produces the appropriate storage group mode.
type MetaClient ¶
type MetaClient interface {
Databases() []meta.DatabaseInfo
Database(name string) *meta.DatabaseInfo
}
type PushDownFilterRule ¶ added in v1.7.8
type PushDownFilterRule struct{}
PushDownFilterRule is a rule that pushes filters into from procedures to be evaluated in the storage layer. This rule is likely to be replaced by a more generic rule when we have a better framework for pushing filters, etc into sources.
func (PushDownFilterRule) Name ¶ added in v1.7.8
func (PushDownFilterRule) Name() string
func (PushDownFilterRule) Pattern ¶ added in v1.7.8
func (PushDownFilterRule) Pattern() plan.Pattern
type PushDownGroupRule ¶ added in v1.7.8
type PushDownGroupRule struct{}
PushDownGroupRule pushes down a group operation to storage
func (PushDownGroupRule) Name ¶ added in v1.7.8
func (rule PushDownGroupRule) Name() string
func (PushDownGroupRule) Pattern ¶ added in v1.7.8
func (rule PushDownGroupRule) Pattern() plan.Pattern
type PushDownRangeRule ¶ added in v1.7.8
type PushDownRangeRule struct{}
PushDownRangeRule pushes down a range filter to storage
func (PushDownRangeRule) Name ¶ added in v1.7.8
func (rule PushDownRangeRule) Name() string
func (PushDownRangeRule) Pattern ¶ added in v1.7.8
func (rule PushDownRangeRule) Pattern() plan.Pattern
Pattern matches 'from |> range'
type PushDownReadTagKeysRule ¶ added in v1.7.8
type PushDownReadTagKeysRule struct{}
PushDownReadTagKeysRule matches 'ReadRange |> keys() |> keep() |> distinct()'. The 'from()' must have already been merged with 'range' and, optionally, may have been merged with 'filter'. If any other properties have been set on the from procedure, this rule will not rewrite anything.
func (PushDownReadTagKeysRule) Name ¶ added in v1.7.8
func (rule PushDownReadTagKeysRule) Name() string
func (PushDownReadTagKeysRule) Pattern ¶ added in v1.7.8
func (rule PushDownReadTagKeysRule) Pattern() plan.Pattern
type PushDownReadTagValuesRule ¶ added in v1.7.8
type PushDownReadTagValuesRule struct{}
PushDownReadTagValuesRule matches 'ReadRange |> keep(columns: [tag]) |> group() |> distinct(column: tag)'. The 'from()' must have already been merged with 'range' and, optionally, may have been merged with 'filter'. If any other properties have been set on the from procedure, this rule will not rewrite anything.
func (PushDownReadTagValuesRule) Name ¶ added in v1.7.8
func (rule PushDownReadTagValuesRule) Name() string
func (PushDownReadTagValuesRule) Pattern ¶ added in v1.7.8
func (rule PushDownReadTagValuesRule) Pattern() plan.Pattern
type ReadFilterSpec ¶ added in v1.7.8
type ReadGroupPhysSpec ¶ added in v1.7.8
type ReadGroupPhysSpec struct {
plan.DefaultCost
ReadRangePhysSpec
GroupMode flux.GroupMode
GroupKeys []string
AggregateMethod string
}
func (*ReadGroupPhysSpec) Copy ¶ added in v1.7.8
func (s *ReadGroupPhysSpec) Copy() plan.ProcedureSpec
func (*ReadGroupPhysSpec) Kind ¶ added in v1.7.8
func (s *ReadGroupPhysSpec) Kind() plan.ProcedureKind
type ReadGroupSpec ¶ added in v1.7.8
type ReadGroupSpec struct {
ReadFilterSpec
GroupMode GroupMode
GroupKeys []string
AggregateMethod string
}
type ReadRangePhysSpec ¶ added in v1.7.8
type ReadRangePhysSpec struct {
plan.DefaultCost
Bucket string
BucketID string
// FilterSet is set to true if there is a filter.
FilterSet bool
// Filter is the filter to use when calling into
// storage. It must be possible to push down this
// filter.
Filter *semantic.FunctionExpression
Bounds flux.Bounds
}
func (*ReadRangePhysSpec) Copy ¶ added in v1.7.8
func (s *ReadRangePhysSpec) Copy() plan.ProcedureSpec
func (*ReadRangePhysSpec) Kind ¶ added in v1.7.8
func (s *ReadRangePhysSpec) Kind() plan.ProcedureKind
func (*ReadRangePhysSpec) LookupDatabase ¶ added in v1.7.8
func (s *ReadRangePhysSpec) LookupDatabase(ctx context.Context, deps StorageDependencies, a execute.Administration) (string, string, error)
func (*ReadRangePhysSpec) TimeBounds ¶ added in v1.7.8
func (s *ReadRangePhysSpec) TimeBounds(predecessorBounds *plan.Bounds) *plan.Bounds
TimeBounds implements plan.BoundsAwareProcedureSpec.
type ReadTagKeysPhysSpec ¶ added in v1.7.8
type ReadTagKeysPhysSpec struct {
ReadRangePhysSpec
}
func (*ReadTagKeysPhysSpec) Copy ¶ added in v1.7.8
func (s *ReadTagKeysPhysSpec) Copy() plan.ProcedureSpec
func (*ReadTagKeysPhysSpec) Kind ¶ added in v1.7.8
func (s *ReadTagKeysPhysSpec) Kind() plan.ProcedureKind
type ReadTagKeysSpec ¶ added in v1.7.8
type ReadTagKeysSpec struct {
ReadFilterSpec
}
type ReadTagValuesPhysSpec ¶ added in v1.7.8
type ReadTagValuesPhysSpec struct {
ReadRangePhysSpec
TagKey string
}
func (*ReadTagValuesPhysSpec) Copy ¶ added in v1.7.8
func (s *ReadTagValuesPhysSpec) Copy() plan.ProcedureSpec
func (*ReadTagValuesPhysSpec) Kind ¶ added in v1.7.8
func (s *ReadTagValuesPhysSpec) Kind() plan.ProcedureKind
type ReadTagValuesSpec ¶ added in v1.7.8
type ReadTagValuesSpec struct {
ReadFilterSpec
TagKey string
}
type Reader ¶
type Reader interface {
ReadFilter(ctx context.Context, spec ReadFilterSpec, alloc *memory.Allocator) (TableIterator, error)
ReadGroup(ctx context.Context, spec ReadGroupSpec, alloc *memory.Allocator) (TableIterator, error)
ReadTagKeys(ctx context.Context, spec ReadTagKeysSpec, alloc *memory.Allocator) (TableIterator, error)
ReadTagValues(ctx context.Context, spec ReadTagValuesSpec, alloc *memory.Allocator) (TableIterator, error)
Close()
}
type Source ¶ added in v1.7.8
type Source struct {
// contains filtered or unexported fields
}
func (*Source) AddTransformation ¶ added in v1.7.8
func (s *Source) AddTransformation(t execute.Transformation)
type StorageDependencies ¶ added in v1.7.9
type StorageDependencies struct {
Reader Reader
MetaClient MetaClient
Authorizer Authorizer
AuthEnabled bool
}
func GetStorageDependencies ¶ added in v1.7.9
func GetStorageDependencies(ctx context.Context) StorageDependencies
func (StorageDependencies) Inject ¶ added in v1.7.9
func (d StorageDependencies) Inject(ctx context.Context) context.Context
func (StorageDependencies) Validate ¶ added in v1.7.9
func (d StorageDependencies) Validate() error
type TableIterator ¶ added in v1.7.8
type TableIterator interface {
flux.TableIterator
Statistics() cursors.CursorStats
}
TableIterator is a table iterator that also keeps track of cursor statistics from the storage engine.