executor

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: May 21, 2019 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateScalarSource

func CreateScalarSource(
	ID parser.NodeID,
	params ScalarParams,
	options transform.Options,
) (parser.Source, *transform.Controller)

CreateScalarSource creates a scalar source node

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 transform.Params,
	options transform.Options,
) (transform.OpNode, *transform.Controller)

CreateTransform creates a transform node which works on functions and contains state

Types

type Engine

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

Engine executes a Query.

func NewEngine

func NewEngine(
	store storage.Storage,
	scope tally.Scope,
	lookbackDuration time.Duration,
	factory qcost.ChainedEnforcer,
) *Engine

NewEngine returns a new instance of QueryExecutor.

func (*Engine) Close

func (e *Engine) Close() error

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,
	results chan *storage.QueryResult,
)

Execute runs the query and closes the results channel once done

func (*Engine) ExecuteExpr

func (e *Engine) ExecuteExpr(
	ctx context.Context,
	parser parser.Parser,
	opts *EngineOptions,
	params models.RequestParams,
	results chan Query,
)

ExecuteExpr runs the query DAG and closes the results channel once done nolint: unparam

type EngineOptions

type EngineOptions struct {
	QueryContextOptions models.QueryContextOptions
}

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(queryCtx *models.QueryContext) 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 Query

type Query struct {
	Err    error
	Result Result
}

Query is the result after execution.

type Request

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

Request represents a single request.

type Result

type Result interface {
	ResultChan() chan ResultChan
	// contains filtered or unexported methods
}

Result provides the execution results

type ResultChan

type ResultChan struct {
	Block block.Block
	Err   error
}

ResultChan has the result from a block

type ResultNode

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

ResultNode is used to provide the results to the caller from the query execution

func (*ResultNode) Process

func (r *ResultNode) Process(queryCtx *models.QueryContext, ID parser.NodeID, block block.Block) error

Process the block

func (*ResultNode) ResultChan

func (r *ResultNode) ResultChan() chan ResultChan

ResultChan return a channel to stream back resultChan to the client

type ScalarParams

type ScalarParams interface {
	parser.Params
	Node(
		controller *transform.Controller,
		options transform.Options,
	) parser.Source
}

ScalarParams are defined by sources

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 State

type State int

State is the request state.

func (State) String

func (s State) String() string

Directories

Path Synopsis
Package transform is a generated GoMock package.
Package transform is a generated GoMock package.

Jump to

Keyboard shortcuts

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