Documentation ¶
Index ¶
- Constants
- Variables
- func ErrorCode(err error) codes.Code
- func ErrorDocURL(err error) string
- func FmtJSON(f *formatter)
- func Formatted(q *Spec, opts ...FormatOption) fmt.Formatter
- func FunctionValue(name string, c CreateOperationSpec, ft semantic.MonoType) (values.Value, error)
- func FunctionValueWithSideEffect(name string, c CreateOperationSpec, ft semantic.MonoType) (values.Value, error)
- func GetDialer(ctx context.Context) (*net.Dialer, error)
- func IsQueryTracingEnabled(ctx context.Context) bool
- func MustValue(v values.Value, err error) values.Value
- func NumberOfOperations() int
- func RegisterOpSpec(k OperationKind, c NewOperationSpec)
- func SemanticType(typ ColType) semantic.MonoType
- func WithQueryTracingEnabled(parentCtx context.Context) context.Context
- type ASTHandle
- type Administration
- type Arguments
- type Bounds
- type BufferedTable
- type ColMeta
- type ColReader
- type ColType
- type Compiler
- type CompilerMappings
- type CompilerType
- type CreateCompiler
- type CreateDialect
- type CreateOperationSpec
- type DelimitedMultiResultEncoder
- type Dependencies
- type Dependency
- type Deps
- type Dialect
- type DialectMappings
- type DialectType
- type Duration
- type Edge
- type EncoderError
- type Error
- type FormatOption
- type GroupKey
- type GroupKeys
- type GroupMode
- type IDer
- type IDerOpSpec
- type MultiResultDecoder
- type MultiResultEncoder
- type NewOperationSpec
- type Operation
- type OperationID
- type OperationKind
- type OperationSource
- type OperationSpec
- type Priority
- type Program
- type Query
- type ResourceManagement
- type Result
- type ResultDecoder
- type ResultEncoder
- type ResultIterator
- type Runtime
- type ScopeMutator
- type Spec
- type Statistics
- type Table
- type TableIterator
- type TableObject
- func (t *TableObject) Append(v values.Value)
- func (t *TableObject) Array() values.Array
- func (t *TableObject) Bool() bool
- func (t *TableObject) Bytes() []byte
- func (t *TableObject) Dict() values.Dictionary
- func (t *TableObject) Duration() values.Duration
- func (t *TableObject) Equal(rhs values.Value) bool
- func (t *TableObject) Float() float64
- func (t *TableObject) Function() values.Function
- func (t *TableObject) Get(i int) values.Value
- func (t *TableObject) Int() int64
- func (t *TableObject) IsNull() bool
- func (t *TableObject) Len() int
- func (t *TableObject) Object() values.Object
- func (t *TableObject) Operation(ider IDer) *Operation
- func (t *TableObject) Range(f func(i int, v values.Value))
- func (t *TableObject) Regexp() *regexp.Regexp
- func (t *TableObject) Set(i int, v values.Value)
- func (t *TableObject) Sort(f func(i, j values.Value) bool)
- func (t *TableObject) Str() string
- func (t *TableObject) String() string
- func (t *TableObject) Time() values.Time
- func (t *TableObject) Type() semantic.MonoType
- func (t *TableObject) UInt() uint64
- type Time
- type WrappedDeps
Constants ¶
const (
TablesParameter = "tables"
)
Variables ¶
Functions ¶
func ErrorCode ¶ added in v0.36.0
ErrorCode returns the error code for the given error. If the error is not a flux.Error, this will return Unknown for the code. If the error is a flux.Error and its code is Inherit, then this will return the wrapped error's code.
func ErrorDocURL ¶ added in v0.82.0
ErrorDocURL returns the DocURL associated with this error if one exists. This will return the outermost DocURL associated with this error unless the code is Inherit. If the code for an error is Inherit, this will return the DocURL for the nested error if it exists.
func FunctionValue ¶ added in v0.14.0
FunctionValue creates a values.Value from the operation spec and signature. Name is the name of the function as it would be called. c is a function reference of type CreateOperationSpec sig is a function signature type that specifies the names and types of each argument for the function.
func FunctionValueWithSideEffect ¶ added in v0.14.0
func FunctionValueWithSideEffect(name string, c CreateOperationSpec, ft semantic.MonoType) (values.Value, error)
FunctionValueWithSideEffect creates a values.Value from the operation spec and signature. Name is the name of the function as it would be called. c is a function reference of type CreateOperationSpec sig is a function signature type that specifies the names and types of each argument for the function.
func GetDialer ¶ added in v0.138.0
GetDialer will return a net.Dialer using the injected dependencies within the context.Context.
func IsQueryTracingEnabled ¶ added in v0.86.0
IsQueryTracingEnabled will return true if the context contains a key indicating that experimental tracing is enabled.
func NumberOfOperations ¶
func NumberOfOperations() int
func RegisterOpSpec ¶
func RegisterOpSpec(k OperationKind, c NewOperationSpec)
RegisterOpSpec registers an operation spec with a given kind. k is a label that uniquely identifies this operation. If the kind has already been registered the call panics. c is a function reference that creates a new, default-initialized opSpec for the given kind. TODO:(nathanielc) make this part of RegisterMethod/RegisterFunction
func SemanticType ¶ added in v0.14.0
Types ¶
type ASTHandle ¶ added in v0.68.0
type ASTHandle interface { // ASTHandle is a no-op method whose purpose is to avoid types unintentionally // implementing this interface. ASTHandle() // Format the AST to a string. Format() (string, error) // GetError will return the first error encountered when parsing Flux source code, // if any. GetError() error }
ASTHandle is an opaque type that represents an abstract syntax tree.
type Administration ¶
type Administration struct {
// contains filtered or unexported fields
}
func (*Administration) AddParent ¶
func (a *Administration) AddParent(np *TableObject)
AddParent instructs the evaluation Context that a new edge should be created from the parent to the current operation. Duplicate parents will be removed, so the caller need not concern itself with which parents have already been added.
func (*Administration) AddParentFromArgs ¶
func (a *Administration) AddParentFromArgs(args Arguments) error
AddParentFromArgs reads the args for the `table` argument and adds the value as a parent.
type Arguments ¶
type Arguments struct {
interpreter.Arguments
}
func (Arguments) GetRequiredDuration ¶
type Bounds ¶
type BufferedTable ¶ added in v0.31.0
type BufferedTable interface { Table // Buffer returns the i'th buffer in the buffered table. // This allows accessing the buffered table contents without // using the Table. Buffer(i int) ColReader // BufferN returns the number of buffers in this table. BufferN() int // Copy will return a copy of the BufferedTable without // consuming the Table itself. If this Table has already // been consumed by the Do method, then this will panic. Copy() BufferedTable }
BufferedTable is an implementation of Table that has all of its data buffered.
type ColMeta ¶
type ColMeta struct { // Label is the name of the column. The label is unique per table. Label string // Type is the type of the column. Only basic types are allowed. Type ColType }
ColMeta contains the information about the column metadata.
type ColReader ¶
type ColReader interface { Key() GroupKey // Cols returns a list of column metadata. Cols() []ColMeta // Len returns the length of the slices. // All slices will have the same length. Len() int Bools(j int) *array.Boolean Ints(j int) *array.Int UInts(j int) *array.Uint Floats(j int) *array.Float Strings(j int) *array.String Times(j int) *array.Int // Retain will retain this buffer to avoid having the // memory consumed by it freed. Retain() // Release will release a reference to this buffer. Release() }
ColReader allows access to reading arrow buffers of column data. All data the ColReader exposes is guaranteed to be in memory. A ColReader that is produced when processing a Table will be released once it goes out of scope. Retain can be used to keep a reference to the buffered memory.
type ColType ¶
type ColType int
ColType is the type for a column. This covers only basic data types.
func ColumnType ¶
ColumnType returns the column type when given a semantic.Type. It returns flux.TInvalid if the Type is not a valid column type.
type Compiler ¶
type Compiler interface { // Compile produces a specification for the query. Compile(ctx context.Context, runtime Runtime) (Program, error) CompilerType() CompilerType }
Compiler produces a specification for the query.
type CompilerMappings ¶
type CompilerMappings map[CompilerType]CreateCompiler
func (CompilerMappings) Add ¶
func (m CompilerMappings) Add(t CompilerType, c CreateCompiler) error
type CreateCompiler ¶
type CreateCompiler func() Compiler
type CreateDialect ¶
type CreateDialect func() Dialect
type CreateOperationSpec ¶
type CreateOperationSpec func(args Arguments, a *Administration) (OperationSpec, error)
type DelimitedMultiResultEncoder ¶
type DelimitedMultiResultEncoder struct { Delimiter []byte Encoder interface { ResultEncoder // EncodeError encodes an error on the writer. EncodeError(w io.Writer, err error) error } }
DelimitedMultiResultEncoder encodes multiple results using a trailing delimiter. The delimiter is written after every result.
If an error is encountered when iterating and the error is an encoder error, the error will be returned. Otherwise, the error is assumed to have arisen from query execution, and said error will be encoded with the EncodeError method of the Encoder field.
If the io.Writer implements flusher, it will be flushed after each delimiter.
func (*DelimitedMultiResultEncoder) Encode ¶
func (e *DelimitedMultiResultEncoder) Encode(w io.Writer, results ResultIterator) (int64, error)
Encode will encode the results into the writer using the Encoder and separating each entry by the Delimiter. If an error occurs while processing the ResultIterator or is returned from the underlying Encoder, Encode will return the error if nothing has yet been written to the Writer. If something has been written to the Writer, then an error will only be returned when the error is an EncoderError.
type Dependencies ¶ added in v0.48.0
type Dependencies interface { Dependency HTTPClient() (http.Client, error) FilesystemService() (filesystem.Service, error) SecretService() (secret.Service, error) URLValidator() (url.Validator, error) }
func GetDependencies ¶ added in v0.48.0
func GetDependencies(ctx context.Context) Dependencies
func NewEmptyDependencies ¶ added in v0.48.0
func NewEmptyDependencies() Dependencies
NewEmptyDependencies produces an empty set of dependencies. Accessing any dependency will result in an error.
type Dependency ¶ added in v0.48.0
Dependency is an interface that must be implemented by every injectable dependency. On Inject, the dependency is injected into the context and the resulting one is returned. Every dependency must provide a function to extract it from the context.
type Deps ¶ added in v0.48.0
type Deps struct {
Deps WrappedDeps
}
Deps implements Dependencies. Any deps which are nil will produce an explicit error.
func NewDefaultDependencies ¶ added in v0.48.0
func NewDefaultDependencies() Deps
NewDefaultDependencies produces a set of dependencies. Not all dependencies have valid defaults and will not be set.
func (Deps) FilesystemService ¶ added in v0.48.0
func (d Deps) FilesystemService() (filesystem.Service, error)
type Dialect ¶
type Dialect interface { // Encoder creates an encoder for the results Encoder() MultiResultEncoder // DialectType report the type of the dialect DialectType() DialectType }
Dialect describes how to encode results.
type DialectMappings ¶
type DialectMappings map[DialectType]CreateDialect
func (DialectMappings) Add ¶
func (m DialectMappings) Add(t DialectType, c CreateDialect) error
type Duration ¶
Duration is a marshalable duration type.
func ConvertDuration ¶ added in v0.51.0
ConvertDurationNsecs will convert a time.Duration into a flux.Duration.
type Edge ¶
type Edge struct { Parent OperationID `json:"parent"` Child OperationID `json:"child"` }
Edge is a data flow relationship between a parent and a child
type EncoderError ¶
type EncoderError interface {
IsEncoderError() bool
}
EncoderError is an interface that any error produced from a ResultEncoder implementation should conform to. It allows for differentiation between errors that occur in results, and errors that occur while encoding results.
type FormatOption ¶
type FormatOption func(*formatter)
TODO(nathanielc): Add better options for formatting plans as Graphviz dot format.
type GroupKey ¶
type GroupKey interface { Cols() []ColMeta Values() []values.Value HasCol(label string) bool LabelValue(label string) values.Value IsNull(j int) bool ValueBool(j int) bool ValueUInt(j int) uint64 ValueInt(j int) int64 ValueFloat(j int) float64 ValueString(j int) string ValueDuration(j int) values.Duration ValueTime(j int) values.Time Value(j int) values.Value Equal(o GroupKey) bool Less(o GroupKey) bool String() string // EqualTrueNulls should be functionally identical to Equal, // with the exception that two nulls should never be treated // as equal - the idea being that, by strict technical definition, // null should not equal null. Therefore, this implementation is // closer to the `true` null behavior. // // This is useful for transformations like join() // that repurpose group keys for something other than grouping. EqualTrueNulls(o GroupKey) bool }
type GroupKeys ¶ added in v0.15.0
type GroupKeys []GroupKey
GroupKeys provides a sortable collection of group keys.
type GroupMode ¶ added in v0.14.0
type GroupMode int
GroupMode represents the method for grouping data
const ( // GroupModeNone indicates that no grouping action is specified GroupModeNone GroupMode = 0 // GroupModeBy produces a table for each unique value of the specified GroupKeys. GroupModeBy GroupMode = 1 << iota // GroupModeExcept produces a table for the unique values of all keys, except those specified by GroupKeys. GroupModeExcept )
type IDer ¶
type IDer interface {
ID(*TableObject) OperationID
}
IDer produces the mapping of table Objects to OperationIDs
type IDerOpSpec ¶
type IDerOpSpec interface {
IDer(ider IDer)
}
IDerOpSpec is the interface any operation spec that needs access to OperationIDs in the query spec must implement.
type MultiResultDecoder ¶
type MultiResultDecoder interface { // Decode decodes multiple results from r. Decode(r io.ReadCloser) (ResultIterator, error) }
MultiResultDecoder can decode multiple results from a reader.
type MultiResultEncoder ¶
type MultiResultEncoder interface { // Encode writes multiple results from r into w. // Returns the number of bytes written to w and any error resulting from the encoding process. // It is up to the specific implementation for whether it will encode any errors that occur // from the ResultIterator. Encode(w io.Writer, results ResultIterator) (int64, error) }
MultiResultEncoder can encode multiple results into a writer.
type NewOperationSpec ¶
type NewOperationSpec func() OperationSpec
func OperationSpecNewFn ¶
func OperationSpecNewFn(k OperationKind) NewOperationSpec
type Operation ¶
type Operation struct { ID OperationID `json:"id"` Spec OperationSpec `json:"spec"` Source OperationSource `json:"source"` }
Operation denotes a single operation in a query.
func (Operation) MarshalJSON ¶
func (*Operation) UnmarshalJSON ¶
type OperationID ¶
type OperationID string
OperationID is a unique ID within a query for the operation.
type OperationSource ¶ added in v0.83.0
type OperationSource struct {
Stack []interpreter.StackEntry `json:"stack"`
}
OperationSource specifies the source location that created an operation.
type OperationSpec ¶
type OperationSpec interface { // Kind returns the kind of the operation. Kind() OperationKind }
OperationSpec specifies an operation as part of a query.
type Priority ¶
type Priority int32
Priority is an integer that represents the query priority. Any positive 32bit integer value may be used. Special constants are provided to represent the extreme high and low priorities.
func (Priority) MarshalText ¶
func (*Priority) UnmarshalText ¶
type Program ¶ added in v0.26.0
type Program interface { // Start begins execution of the program and returns immediately. // As results are produced they arrive on the channel. // The program is finished once the result channel is closed and all results have been consumed. Start(context.Context, *memory.Allocator) (Query, error) }
Program defines a Flux script which has been compiled.
type Query ¶
type Query interface { // Results returns a channel that will deliver the query results. // Its possible that the channel is closed before any results arrive, // in which case the query should be inspected for an error using Err(). Results() <-chan Result // Done must always be called to free resources. It is safe to call Done // multiple times. Done() // Cancel will signal that query execution should stop. // Done must still be called to free resources. // It is safe to call Cancel multiple times. Cancel() // Err reports any error the query may have encountered. Err() error // Statistics reports the statistics for the query. // The statistics are not complete until Done is called. Statistics() Statistics // ProfilerResults returns profiling results for the query ProfilerResults() (ResultIterator, error) }
Query represents an active query.
type ResourceManagement ¶
type ResourceManagement struct { // Priority or the query. // Queries with a lower value will move to the front of the priority queue. // A zero value indicates the highest priority. Priority Priority `json:"priority"` // ConcurrencyQuota is the number of concurrency workers allowed to process this query. // A zero value indicates the planner can pick the optimal concurrency. ConcurrencyQuota int `json:"concurrency_quota"` // MemoryBytesQuota is the number of bytes of RAM this query may consume. // There is a small amount of overhead memory being consumed by a query that will not be counted towards this limit. // A zero value indicates unlimited. MemoryBytesQuota int64 `json:"memory_bytes_quota"` }
ResourceManagement defines how the query should consume avaliable resources.
type Result ¶
type Result interface { Name() string // Tables returns a TableIterator for iterating through results Tables() TableIterator }
type ResultDecoder ¶
type ResultDecoder interface { // Decode decodes data from r into a result. Decode(r io.Reader) (Result, error) }
ResultDecoder can decode a result from a reader.
type ResultEncoder ¶
type ResultEncoder interface { // Encode encodes data from the result into w. // Returns the number of bytes written to w and any error. Encode(w io.Writer, result Result) (int64, error) }
ResultEncoder can encode a result into a writer.
type ResultIterator ¶
type ResultIterator interface { // More indicates if there are more results. More() bool // Next returns the next result. // If More is false, Next panics. Next() Result // Release discards the remaining results and frees the currently used resources. // It must always be called to free resources. It can be called even if there are // more results. It is safe to call Release multiple times. Release() // Err reports the first error encountered. // Err will not report anything unless More has returned false, // or the query has been cancelled. Err() error // Statistics reports the statistics for the query. // The statistics are not complete until Release is called. Statistics() Statistics }
ResultIterator allows iterating through all results synchronously. A ResultIterator is not thread-safe and all of the methods are expected to be called within the same goroutine.
func NewMapResultIterator ¶
func NewMapResultIterator(results map[string]Result) ResultIterator
func NewResultIteratorFromQuery ¶
func NewResultIteratorFromQuery(q Query) ResultIterator
func NewSliceResultIterator ¶
func NewSliceResultIterator(results []Result) ResultIterator
type Runtime ¶ added in v0.68.0
type Runtime interface { // Parse parses a Flux script and produces a handle to an AST. Parse(flux string) (ASTHandle, error) // JSONToHandle takes JSON data and returns an AST handle. JSONToHandle(json []byte) (ASTHandle, error) // MergePackages removes all the files from src and appends them to the list // of files in dst. MergePackages(dst, src ASTHandle) error // Eval accepts a Flux AST and evaluates it to produce a set of side effects (as a slice of values) and a scope. Eval(ctx context.Context, astPkg ASTHandle, es interpreter.ExecOptsConfig, opts ...ScopeMutator) ([]interpreter.SideEffect, values.Scope, error) // IsPreludePackage will return if the named package is part // of the prelude for this runtime. IsPreludePackage(pkg string) bool // LookupBuiltinType returns the type of the builtin value for a given // Flux stdlib package. Returns an error if lookup fails. LookupBuiltinType(pkg, name string) (semantic.MonoType, error) }
Runtime encapsulates the operations supported by the flux runtime.
type ScopeMutator ¶ added in v0.14.0
ScopeMutator is any function that mutates the scope of an identifier.
func SetNowOption ¶ added in v0.48.0
func SetNowOption(now time.Time) ScopeMutator
SetNowOption returns a ScopeMutator that sets the `now` option to the given time.
type Spec ¶
type Spec struct { Operations []*Operation `json:"operations"` Edges []Edge `json:"edges"` Resources ResourceManagement `json:"resources"` Now time.Time `json:"now"` // contains filtered or unexported fields }
Spec specifies a query.
func (*Spec) Children ¶
func (q *Spec) Children(id OperationID) []*Operation
Children returns a list of children for a given operation. If the query is invalid no children will be returned.
func (*Spec) Parents ¶
func (q *Spec) Parents(id OperationID) []*Operation
Parents returns a list of parents for a given operation. If the query is invalid no parents will be returned.
type Statistics ¶
type Statistics struct { // TotalDuration is the total amount of time in nanoseconds spent. TotalDuration time.Duration `json:"total_duration"` // CompileDuration is the amount of time in nanoseconds spent compiling the query. CompileDuration time.Duration `json:"compile_duration"` // QueueDuration is the amount of time in nanoseconds spent queueing. QueueDuration time.Duration `json:"queue_duration"` // PlanDuration is the amount of time in nanoseconds spent in plannig the query. PlanDuration time.Duration `json:"plan_duration"` // RequeueDuration is the amount of time in nanoseconds spent requeueing. RequeueDuration time.Duration `json:"requeue_duration"` // ExecuteDuration is the amount of time in nanoseconds spent in executing the query. ExecuteDuration time.Duration `json:"execute_duration"` // Concurrency is the number of goroutines allocated to process the query Concurrency int `json:"concurrency"` // MaxAllocated is the maximum number of bytes the query allocated. MaxAllocated int64 `json:"max_allocated"` // TotalAllocated is the total number of bytes allocated. // The number includes memory that was freed and then used again. TotalAllocated int64 `json:"total_allocated"` // RuntimeErrors contains error messages that happened during the execution of the query. RuntimeErrors []string `json:"runtime_errors"` // Metadata contains metadata key/value pairs that have been attached during execution. Metadata metadata.Metadata `json:"metadata"` }
Statistics is a collection of statistics about the processing of a query.
func (Statistics) Add ¶ added in v0.7.1
func (s Statistics) Add(other Statistics) Statistics
Add returns the sum of s and other.
type Table ¶
type Table interface { // Key returns the set of data that is common among all rows // in the table. Key() GroupKey // Cols contains metadata about the column schema. Cols() []ColMeta // Do calls f to process the data contained within the table. // This must only be called once and implementations should return // an error if this is called multiple times. Do(f func(ColReader) error) error // Done indicates that this table is no longer needed and that the // underlying processor that produces the table may discard any // buffers that need to be processed. If the table has already been // read with Do, this happens automatically. // This is also not required if the table is empty. // It should be safe to always call this function and call it multiple // times. Done() // Empty returns whether the table contains no records. // This should not return true when the table is empty because of an error. Empty() bool }
Table represents a set of streamed data with a common schema. The contents of the table can be read exactly once.
This data structure is not thread-safe.
type TableIterator ¶
type TableObject ¶
type TableObject struct { Kind OperationKind Spec OperationSpec Source OperationSource Parents []*TableObject // contains filtered or unexported fields }
TableObject represents the value returned by a transformation. As such, it holds the OperationSpec of the transformation it is associated with, and it is a values.Value (and, also, a values.Object). It can be compiled and executed as a flux.Program by using a lang.TableObjectCompiler.
func (*TableObject) Append ¶ added in v0.68.0
func (t *TableObject) Append(v values.Value)
func (*TableObject) Array ¶
func (t *TableObject) Array() values.Array
func (*TableObject) Bool ¶
func (t *TableObject) Bool() bool
func (*TableObject) Bytes ¶ added in v0.40.0
func (t *TableObject) Bytes() []byte
func (*TableObject) Dict ¶ added in v0.96.0
func (t *TableObject) Dict() values.Dictionary
func (*TableObject) Duration ¶
func (t *TableObject) Duration() values.Duration
func (*TableObject) Float ¶
func (t *TableObject) Float() float64
func (*TableObject) Function ¶
func (t *TableObject) Function() values.Function
func (*TableObject) Int ¶
func (t *TableObject) Int() int64
func (*TableObject) IsNull ¶ added in v0.14.0
func (t *TableObject) IsNull() bool
func (*TableObject) Len ¶
func (t *TableObject) Len() int
func (*TableObject) Object ¶
func (t *TableObject) Object() values.Object
func (*TableObject) Operation ¶
func (t *TableObject) Operation(ider IDer) *Operation
func (*TableObject) Regexp ¶
func (t *TableObject) Regexp() *regexp.Regexp
func (*TableObject) Sort ¶ added in v0.68.0
func (t *TableObject) Sort(f func(i, j values.Value) bool)
func (*TableObject) Str ¶
func (t *TableObject) Str() string
func (*TableObject) String ¶
func (t *TableObject) String() string
func (*TableObject) Time ¶
func (t *TableObject) Time() values.Time
func (*TableObject) Type ¶
func (t *TableObject) Type() semantic.MonoType
func (*TableObject) UInt ¶
func (t *TableObject) UInt() uint64
type Time ¶
Time represents either a relative or absolute time. If Time is its zero value then it represents a time.Time{}. To represent the now time you must set IsRelative to true.
func (Time) MarshalText ¶
func (*Time) UnmarshalText ¶
type WrappedDeps ¶ added in v0.48.0
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package ast declares the types used to represent the syntax tree for Flux source code.
|
Package ast declares the types used to represent the syntax tree for Flux source code. |
asttest
Package asttest implements utilities for testing the abstract syntax tree.
|
Package asttest implements utilities for testing the abstract syntax tree. |
internal/fbast
Package fbast contains code generated by the FlatBuffers compiler for serializing AST.
|
Package fbast contains code generated by the FlatBuffers compiler for serializing AST. |
cmd
|
|
Package codes defines the error codes used by flux.
|
Package codes defines the error codes used by flux. |
colm
|
|
The compiler package provides a compiler and Go runtime for a subset of the Flux language.
|
The compiler package provides a compiler and Go runtime for a subset of the Flux language. |
Package complete provides types to aid with auto-completion of Flux scripts in editors.
|
Package complete provides types to aid with auto-completion of Flux scripts in editors. |
Package csv contains the csv result encoders and decoders.
|
Package csv contains the csv result encoders and decoders. |
dependencies
|
|
Package embed contains an embedded copy of the flux standard library.
|
Package embed contains an embedded copy of the flux standard library. |
Package execute contains the implementation of the execution phase in the query engine.
|
Package execute contains the implementation of the execution phase in the query engine. |
executetest
Package executetest contains utilities for testing the query execution phase.
|
Package executetest contains utilities for testing the query execution phase. |
table/static
Package static provides utilities for easily constructing static tables that are meant for tests.
|
Package static provides utilities for easily constructing static tables that are meant for tests. |
Package fluxinit is used to initialize the flux library for compilation and execution of Flux.
|
Package fluxinit is used to initialize the flux library for compilation and execution of Flux. |
static
The fluxinit/static package can be imported in test cases and other uses cases where it is okay to always initialize flux.
|
The fluxinit/static package can be imported in test cases and other uses cases where it is okay to always initialize flux. |
internal
|
|
cmd/cmpgen
cmpgen generates comparison options for the asttest package.
|
cmpgen generates comparison options for the asttest package. |
fbsemantic
Package fbsemantic contains code generated by the FlatBuffers compiler for serializing the semantic graph.
|
Package fbsemantic contains code generated by the FlatBuffers compiler for serializing the semantic graph. |
pkg/feature
Package feature provides feature flagging capabilities for a Go application.
|
Package feature provides feature flagging capabilities for a Go application. |
pkg/feature/cmd/feature
Sprig Copyright (C) 2013 Masterminds Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
Sprig Copyright (C) 2013 Masterminds Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. |
tools
Module
|
|
Package interpreter provides the implementation of the Flux interpreter.
|
Package interpreter provides the implementation of the Flux interpreter. |
libflux
|
|
Package mock contains mock implementations of the query package interfaces for testing.
|
Package mock contains mock implementations of the query package interfaces for testing. |
Package parser implements a parser for Flux source files.
|
Package parser implements a parser for Flux source files. |
plantest
Package plantest contains utilities for testing each query planning phase
|
Package plantest contains utilities for testing each query planning phase |
Package querytest contains utilities for testing the query end-to-end.
|
Package querytest contains utilities for testing the query end-to-end. |
Package repl implements the read-eval-print-loop for the command line flux query console.
|
Package repl implements the read-eval-print-loop for the command line flux query console. |
The semantic package provides a graph structure that represents the meaning of a Flux script.
|
The semantic package provides a graph structure that represents the meaning of a Flux script. |
semantictest
Package semantictest contains utilities for testing the semantic package.
|
Package semantictest contains utilities for testing the semantic package. |
Package stdlib represents the Flux standard library.
|
Package stdlib represents the Flux standard library. |
influxdata/influxdb
Package influxdb implements the standard library functions for interacting with influxdb.
|
Package influxdb implements the standard library functions for interacting with influxdb. |
socket
Package socket implements a source that gets input from a socket connection and produces tables given a decoder.
|
Package socket implements a source that gets input from a socket connection and produces tables given a decoder. |
universe
Package universe contains the implementations for the builtin transformation functions.
|
Package universe contains the implementations for the builtin transformation functions. |
Package values declares the flux data types and implements them.
|
Package values declares the flux data types and implements them. |