Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LogicalPlan ¶
type LogicalPlan struct { Steps map[parser.NodeID]LogicalStep Pipeline []parser.NodeID // Ordered list of steps to be performed }
LogicalPlan converts a DAG into a list of steps to be executed in order
func NewLogicalPlan ¶
NewLogicalPlan creates a plan from the DAG structure
func (LogicalPlan) String ¶
func (l LogicalPlan) String() string
type LogicalStep ¶
LogicalStep is a single step in a logical plan
func (LogicalStep) Clone ¶
func (l LogicalStep) Clone() LogicalStep
Clone the step, the transform is immutable so its left as is
func (LogicalStep) ID ¶
func (l LogicalStep) ID() parser.NodeID
ID is a convenience method to expose the inner transforms' ID
func (LogicalStep) String ¶
func (l LogicalStep) String() string
type PhysicalPlan ¶
type PhysicalPlan struct { ResultStep ResultOp TimeSpec transform.TimeSpec Debug bool BlockType models.FetchedBlockType LookbackDuration time.Duration // contains filtered or unexported fields }
PhysicalPlan represents the physical plan
func NewPhysicalPlan ¶
func NewPhysicalPlan(lp LogicalPlan, params models.RequestParams) (PhysicalPlan, error)
NewPhysicalPlan is used to generate a physical plan. Its responsibilities include creating consolidation nodes, result nodes, pushing down predicates, changing the ordering for nodes nolint: unparam
func (PhysicalPlan) Step ¶
func (p PhysicalPlan) Step(ID parser.NodeID) (LogicalStep, bool)
Step gets the logical step using its unique ID in the DAG
func (PhysicalPlan) String ¶
func (p PhysicalPlan) String() string
String representation of the physical plan