influxdb

package
v1.9.5 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2021 License: MIT Imports: 28 Imported by: 10

Documentation

Index

Constants

View Source
const (
	ReadRangePhysKind           = "ReadRangePhysKind"
	ReadGroupPhysKind           = "ReadGroupPhysKind"
	ReadWindowAggregatePhysKind = "ReadWindowAggregatePhysKind"
	ReadTagKeysPhysKind         = "ReadTagKeysPhysKind"
	ReadTagValuesPhysKind       = "ReadTagValuesPhysKind"
)
View Source
const (
	ToKind                     = "influx1x/toKind"
	DefaultBufferSize          = 5000
	DefaultFieldColLabel       = "_field"
	DefaultMeasurementColLabel = "_measurement"
)
View Source
const BucketsKind = "influxdata/influxdb.localBuckets"
View Source
const FromKind = "influxDBFrom"

Variables

This section is empty.

Functions

func MergePredicates added in v1.9.0

func MergePredicates(op ast.LogicalOperatorKind, predicates ...*datatypes.Predicate) (*datatypes.Predicate, error)

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

func ReadWindowAggregateSource added in v1.9.0

func ReadWindowAggregateSource(id execute.DatasetID, r Reader, readSpec ReadWindowAggregateSpec, a execute.Administration) execute.Source

func ToStoragePredicate added in v1.9.0

func ToStoragePredicate(n semantic.Expression, objectName string) (*datatypes.Predicate, error)

Types

type Authorizer

type Authorizer interface {
	AuthorizeDatabase(u meta.User, priv influxql.Privilege, database string) error
}

type BucketsDecoder

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

func (*BucketsDecoder) Close

func (bd *BucketsDecoder) Close() error

func (*BucketsDecoder) Connect

func (bd *BucketsDecoder) Connect(ctx context.Context) error

func (*BucketsDecoder) Decode

func (bd *BucketsDecoder) Decode(ctx context.Context) (flux.Table, error)

func (*BucketsDecoder) Fetch

func (bd *BucketsDecoder) Fetch(ctx context.Context) (bool, error)

type Dependencies

type Dependencies struct {
	StorageDeps StorageDependencies
	FluxDeps    flux.Dependency
}

func NewDependencies added in v1.7.9

func NewDependencies(
	mc MetaClient,
	reader Reader,
	auth Authorizer,
	authEnabled bool,
	writer PointsWriter,
) (Dependencies, error)

func (Dependencies) Inject added in v1.7.9

func (d Dependencies) Inject(ctx context.Context) context.Context

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 = influxdb.FromOpSpec

type FromStorageProcedureSpec added in v1.9.0

type FromStorageProcedureSpec struct {
	Bucket influxdb.NameOrID
}

func (*FromStorageProcedureSpec) Copy added in v1.9.0

func (*FromStorageProcedureSpec) Kind added in v1.9.0

func (*FromStorageProcedureSpec) PostPhysicalValidate added in v1.9.0

func (s *FromStorageProcedureSpec) PostPhysicalValidate(id plan.NodeID) error

type FromStorageRule added in v1.9.0

type FromStorageRule struct{}

func (FromStorageRule) Name added in v1.9.0

func (rule FromStorageRule) Name() string

func (FromStorageRule) Pattern added in v1.9.0

func (rule FromStorageRule) Pattern() plan.Pattern

func (FromStorageRule) Rewrite added in v1.9.0

func (rule FromStorageRule) Rewrite(ctx context.Context, node plan.Node) (plan.Node, bool, error)

type GroupMode

type GroupMode int
const (
	// GroupModeNone merges all series into a single group.
	GroupModeNone GroupMode = iota
	// GroupModeBy produces a table for each unique value of the specified GroupKeys.
	GroupModeBy
)

func ToGroupMode

func ToGroupMode(fluxMode flux.GroupMode) GroupMode

ToGroupMode accepts the group mode from Flux and produces the appropriate storage group mode.

type LocalBucketsProcedureSpec added in v1.9.0

type LocalBucketsProcedureSpec struct {
	plan.DefaultCost
}

func (*LocalBucketsProcedureSpec) Copy added in v1.9.0

func (*LocalBucketsProcedureSpec) Kind added in v1.9.0

type LocalBucketsRule added in v1.9.0

type LocalBucketsRule struct{}

func (LocalBucketsRule) Name added in v1.9.0

func (rule LocalBucketsRule) Name() string

func (LocalBucketsRule) Pattern added in v1.9.0

func (rule LocalBucketsRule) Pattern() plan.Pattern

func (LocalBucketsRule) Rewrite added in v1.9.0

func (rule LocalBucketsRule) Rewrite(ctx context.Context, node plan.Node) (plan.Node, bool, error)

type MetaClient

type MetaClient interface {
	Databases() []meta.DatabaseInfo
	Database(name string) *meta.DatabaseInfo
}

type NameOrID added in v1.9.0

type NameOrID = influxdb.NameOrID

type PointsWriter added in v1.9.0

type PointsWriter interface {
	WritePointsInto(request *coordinator.IntoWriteRequest) error
}

type PushDownBareAggregateRule added in v1.9.0

type PushDownBareAggregateRule struct{}

PushDownBareAggregateRule is a rule that allows pushing down of aggregates that are directly over a ReadRange source.

func (PushDownBareAggregateRule) Name added in v1.9.0

func (PushDownBareAggregateRule) Pattern added in v1.9.0

func (PushDownBareAggregateRule) Rewrite added in v1.9.0

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

func (PushDownFilterRule) Rewrite added in v1.7.8

func (PushDownFilterRule) Rewrite(ctx context.Context, pn plan.Node) (plan.Node, bool, error)

type PushDownGroupAggregateRule added in v1.9.0

type PushDownGroupAggregateRule struct{}

Push Down of group aggregates. ReadGroupPhys |> { count }

func (PushDownGroupAggregateRule) Name added in v1.9.0

func (PushDownGroupAggregateRule) Pattern added in v1.9.0

func (rule PushDownGroupAggregateRule) Pattern() plan.Pattern

func (PushDownGroupAggregateRule) Rewrite added in v1.9.0

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

func (PushDownGroupRule) Rewrite added in v1.7.8

func (rule PushDownGroupRule) Rewrite(ctx context.Context, node plan.Node) (plan.Node, bool, error)

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'

func (PushDownRangeRule) Rewrite added in v1.7.8

func (rule PushDownRangeRule) Rewrite(ctx context.Context, node plan.Node) (plan.Node, bool, error)

Rewrite converts 'from |> range' into 'ReadRange'

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

func (PushDownReadTagKeysRule) Rewrite added in v1.7.8

func (rule PushDownReadTagKeysRule) Rewrite(ctx context.Context, pn plan.Node) (plan.Node, bool, error)

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

func (PushDownReadTagValuesRule) Rewrite added in v1.7.8

func (rule PushDownReadTagValuesRule) Rewrite(ctx context.Context, pn plan.Node) (plan.Node, bool, error)

type PushDownWindowAggregateByTimeRule added in v1.9.0

type PushDownWindowAggregateByTimeRule struct{}

PushDownWindowAggregateWithTimeRule will match the given pattern, matching the definition of the `aggregateMin` function in Flux. ReadWindowAggregatePhys |> duplicate |> window(every: inf)

If this pattern matches and the arguments to duplicate are matching time column names, it will set the time column on the spec.

func (PushDownWindowAggregateByTimeRule) Name added in v1.9.0

func (PushDownWindowAggregateByTimeRule) Pattern added in v1.9.0

func (PushDownWindowAggregateByTimeRule) Rewrite added in v1.9.0

type PushDownWindowAggregateRule added in v1.9.0

type PushDownWindowAggregateRule struct{}

Push Down of window aggregates. ReadRangePhys |> window |> { min, max, mean, count, sum }

func (PushDownWindowAggregateRule) Name added in v1.9.0

func (PushDownWindowAggregateRule) Pattern added in v1.9.0

func (rule PushDownWindowAggregateRule) Pattern() plan.Pattern

func (PushDownWindowAggregateRule) Rewrite added in v1.9.0

type ReadFilterSpec added in v1.7.8

type ReadFilterSpec struct {
	Database        string
	RetentionPolicy string

	Bounds execute.Bounds

	Predicate *datatypes.Predicate
}

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 (*ReadGroupPhysSpec) Kind added in v1.7.8

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

	// Predicate is the filtering predicate for calling into storage.
	// It must not be mutated.
	Predicate *datatypes.Predicate

	Bounds flux.Bounds
}

func (*ReadRangePhysSpec) Copy added in v1.7.8

func (*ReadRangePhysSpec) Kind added in v1.7.8

func (*ReadRangePhysSpec) LookupDatabase added in v1.7.8

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 (*ReadTagKeysPhysSpec) Kind added in v1.7.8

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 (*ReadTagValuesPhysSpec) Kind added in v1.7.8

type ReadTagValuesSpec added in v1.7.8

type ReadTagValuesSpec struct {
	ReadFilterSpec
	TagKey string
}

type ReadWindowAggregatePhysSpec added in v1.9.0

type ReadWindowAggregatePhysSpec struct {
	plan.DefaultCost
	ReadRangePhysSpec

	WindowEvery flux.Duration
	Offset      flux.Duration
	Aggregates  []plan.ProcedureKind
	CreateEmpty bool
	TimeColumn  string
}

func (*ReadWindowAggregatePhysSpec) Copy added in v1.9.0

func (*ReadWindowAggregatePhysSpec) Kind added in v1.9.0

func (*ReadWindowAggregatePhysSpec) PlanDetails added in v1.9.0

func (s *ReadWindowAggregatePhysSpec) PlanDetails() string

type ReadWindowAggregateSpec added in v1.9.0

type ReadWindowAggregateSpec struct {
	ReadFilterSpec
	WindowEvery int64
	Offset      int64
	Aggregates  []plan.ProcedureKind
	CreateEmpty bool
	TimeColumn  string
	Window      execute.Window
}

Window and the WindowEvery/Offset should be mutually exclusive. If you set either the WindowEvery or Offset with nanosecond values, then the Window will be ignored

func (*ReadWindowAggregateSpec) Name added in v1.9.0

func (spec *ReadWindowAggregateSpec) Name() 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)
	ReadWindowAggregate(ctx context.Context, spec ReadWindowAggregateSpec, 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 SortedPivotRule added in v1.8.0

type SortedPivotRule struct{}

SortedPivotRule is a rule that optimizes a pivot when it is directly after an influxdb from.

func (SortedPivotRule) Name added in v1.8.0

func (SortedPivotRule) Name() string

func (SortedPivotRule) Pattern added in v1.8.0

func (SortedPivotRule) Pattern() plan.Pattern

func (SortedPivotRule) Rewrite added in v1.8.0

func (SortedPivotRule) Rewrite(ctx context.Context, pn plan.Node) (plan.Node, bool, error)

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)

func (*Source) Label added in v1.9.0

func (s *Source) Label() string

func (*Source) Metadata added in v1.7.8

func (s *Source) Metadata() metadata.Metadata

func (*Source) Run added in v1.7.8

func (s *Source) Run(ctx context.Context)

func (*Source) SetLabel added in v1.9.0

func (s *Source) SetLabel(l string)

type StorageDependencies added in v1.7.9

type StorageDependencies struct {
	Reader       Reader
	MetaClient   MetaClient
	Authorizer   Authorizer
	AuthEnabled  bool
	PointsWriter PointsWriter
}

func GetStorageDependencies added in v1.7.9

func GetStorageDependencies(ctx context.Context) StorageDependencies

func (StorageDependencies) Inject added in v1.7.9

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.

type ToOpSpec added in v1.9.0

type ToOpSpec struct {
	Bucket            string                       `json:"bucket"`
	TimeColumn        string                       `json:"timeColumn"`
	MeasurementColumn string                       `json:"measurementColumn"`
	TagColumns        []string                     `json:"tagColumns"`
	FieldFn           interpreter.ResolvedFunction `json:"fieldFn"`
}

ToOpSpec is the flux.OperationSpec for the `to` flux function.

func (ToOpSpec) Kind added in v1.9.0

func (ToOpSpec) Kind() flux.OperationKind

func (*ToOpSpec) ReadArgs added in v1.9.0

func (o *ToOpSpec) ReadArgs(args flux.Arguments) error

type ToProcedureSpec added in v1.9.0

type ToProcedureSpec struct {
	plan.DefaultCost
	Spec *ToOpSpec
}

ToProcedureSpec is the procedure spec for the `to` flux function.

func (*ToProcedureSpec) Copy added in v1.9.0

Copy clones the procedure spec for `to` flux function.

func (*ToProcedureSpec) Kind added in v1.9.0

Kind returns the kind for the procedure spec for the `to` flux function.

type ToTransformation added in v1.9.0

type ToTransformation struct {
	execute.ExecutionNode
	Ctx context.Context
	DB  string
	RP  string
	// contains filtered or unexported fields
}

func NewToTransformation added in v1.9.0

func (*ToTransformation) Finish added in v1.9.0

func (t *ToTransformation) Finish(id execute.DatasetID, err error)

Finish is called after the `to` flux function's transformation is done processing.

func (*ToTransformation) Process added in v1.9.0

func (t *ToTransformation) Process(id execute.DatasetID, tbl flux.Table) error

Process does the actual work for the ToTransformation.

func (*ToTransformation) RetractTable added in v1.9.0

func (t *ToTransformation) RetractTable(id execute.DatasetID, key flux.GroupKey) error

func (*ToTransformation) UpdateProcessingTime added in v1.9.0

func (t *ToTransformation) UpdateProcessingTime(id execute.DatasetID, pt execute.Time) error

UpdateProcessingTime updates the processing time for the transformation for the `to` flux function.

func (*ToTransformation) UpdateWatermark added in v1.9.0

func (t *ToTransformation) UpdateWatermark(id execute.DatasetID, pt execute.Time) error

UpdateWatermark updates the watermark for the transformation for the `to` flux function.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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