parser

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2022 License: Apache-2.0 Imports: 2 Imported by: 30

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Edge

type Edge struct {
	ParentID NodeID
	ChildID  NodeID
}

Edge identifies parent-child relation between transforms.

func (Edge) String

func (e Edge) String() string

type Edges

type Edges []Edge

Edges is a slice of Edge objects.

type Node

type Node struct {
	ID NodeID
	Op Params
}

Node represents an immutable node in the common DAG with a unique identifier. TODO: make this serializable

func NewTransformFromOperation

func NewTransformFromOperation(Op Params, nextID int) Node

NewTransformFromOperation creates a new transform.

func (Node) String

func (t Node) String() string

type NodeID

type NodeID string

NodeID uniquely identifies all transforms in DAG.

type Nodes

type Nodes []Node

Nodes is a slice of Node objects.

type Params

type Params interface {
	fmt.Stringer
	OpType() string
}

Params is a function definition. It is immutable and contains no state.

type Parser

type Parser interface {
	DAG() (Nodes, Edges, error)
	String() string
}

Parser consists of the language specific representation of AST and can convert into a common DAG.

type Source

type Source interface {
	Execute(queryCtx *models.QueryContext) error
}

Source represents data sources which are handled differently than other transforms as they are always independent and can always be parallelized.

Directories

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

Jump to

Keyboard shortcuts

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