Documentation ¶
Index ¶
- Constants
- func CreateSource(ID parser.NodeID, params SourceParams, storage storage.Storage, ...) (parser.Source, *transform.Controller)
- func CreateTransform(ID parser.NodeID, params TransformParams) (transform.OpNode, *transform.Controller)
- type Engine
- type EngineOptions
- type ExecutionState
- type QueryStatistics
- type QueryTask
- type Result
- type ResultNode
- type SourceParams
- type TaskStatus
- type Tracker
- type TransformParams
Constants ¶
const ( // DefaultQueryTimeout is the default timeout for executing a query. // A value of zero will have no query timeout. DefaultQueryTimeout = time.Duration(0) )
Variables ¶
This section is empty.
Functions ¶
func CreateSource ¶
func CreateSource(ID parser.NodeID, params SourceParams, storage storage.Storage, options transform.Options) (parser.Source, *transform.Controller)
CreateSource creates a source node
func CreateTransform ¶
func CreateTransform(ID parser.NodeID, params TransformParams) (transform.OpNode, *transform.Controller)
CreateTransform creates a transform node which works on functions and contains state
Types ¶
type Engine ¶
type Engine struct { Stats *QueryStatistics // contains filtered or unexported fields }
Engine executes a Query.
func (*Engine) Close ¶
Close kills all running queries and prevents new queries from being attached.
func (*Engine) Execute ¶
func (e *Engine) Execute(ctx context.Context, query *storage.FetchQuery, opts *EngineOptions, closing <-chan bool, results chan *storage.QueryResult)
Execute runs the query and closes the results channel onces done
type EngineOptions ¶
type EngineOptions struct { // AbortCh is a channel that signals when results are no longer desired by the caller. AbortCh <-chan bool }
EngineOptions can be used to pass custom flags to engine
type ExecutionState ¶
type ExecutionState struct {
// contains filtered or unexported fields
}
ExecutionState represents the execution hierarchy
func GenerateExecutionState ¶
func GenerateExecutionState(pplan plan.PhysicalPlan, storage storage.Storage) (*ExecutionState, error)
GenerateExecutionState creates an execution state from the physical plan
func (*ExecutionState) Execute ¶
func (s *ExecutionState) Execute(ctx context.Context) error
Execute the sources in parallel and return the first error
func (*ExecutionState) String ¶
func (s *ExecutionState) String() string
String representation of the state
type QueryStatistics ¶
type QueryStatistics struct { ActiveQueries int64 ExecutedQueries int64 FinishedQueries int64 QueryExecutionDuration int64 }
QueryStatistics keeps statistics related to the QueryExecutor.
type QueryTask ¶
type QueryTask struct {
// contains filtered or unexported fields
}
QueryTask is the internal data structure for managing queries. For the public use data structure that gets returned, see QueryTask.
type ResultNode ¶
type ResultNode struct { }
ResultNode is used to provide the results to the caller from the query execution
type SourceParams ¶
type SourceParams interface { parser.Params Node(controller *transform.Controller, storage storage.Storage, options transform.Options) parser.Source }
SourceParams are defined by sources
type TaskStatus ¶
type TaskStatus int
TaskStatus is the status of a query task
const ( // RunningTask is set when the task is running. RunningTask TaskStatus = iota // KilledTask is set when the task is killed, but resources are still // being used. KilledTask )
func (TaskStatus) String ¶
func (t TaskStatus) String() string
type Tracker ¶
type Tracker struct { // Log queries if they are slower than this time. // If zero, slow queries will never be logged. LogQueriesAfter time.Duration // Maximum number of concurrent queries. MaxConcurrentQueries int // contains filtered or unexported fields }
Tracker tracks the query state
func (*Tracker) Close ¶
Close kills all running queries and prevents new queries from being attached.
func (*Tracker) DetachQuery ¶
DetachQuery removes a query from the query table. If the query is not in the killed state, this will also close the related channel.
type TransformParams ¶
type TransformParams interface { parser.Params Node(controller *transform.Controller) transform.OpNode }
TransformParams are defined by transforms