plan

package
v0.0.0-...-b19370d Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExplain

func NewExplain(n LogicalNode) *logicalExplain

func NewQuery

func NewQuery(n LogicalNode) queries.Query

Types

type LogicalNode

type LogicalNode interface {
	Name() string
	Fields() []fields.Field
	AddFilter(ctx impls.OptimizationContext, filter impls.Expression)
	AddOrder(ctx impls.OptimizationContext, order impls.OrderExpression)
	Optimize(ctx impls.OptimizationContext)
	Filter() impls.Expression
	Ordering() impls.OrderExpression

	// TODO: rough implementation
	// https://sourcegraph.com/github.com/postgres/postgres@06286709ee0637ec7376329a5aa026b7682dcfe2/-/blob/src/backend/executor/execAmi.c?L439:59-439:79
	SupportsMarkRestore() bool

	Build() nodes.Node
}

func NewAccess

func NewAccess(table impls.Table) LogicalNode

func NewProjection

func NewProjection(node LogicalNode, projection *projection.Projection) LogicalNode

func NewSelect

func NewSelect(
	node LogicalNode,
	projection *projection.Projection,
	groupExpressions []impls.Expression,
	filter impls.Expression,
	order impls.OrderExpression,
	limit *int,
	offset *int,
) LogicalNode

func NewValues

func NewValues(fields []fields.Field, expressions [][]impls.Expression) LogicalNode

type NodeQuery

type NodeQuery struct {
	LogicalNode
}

func (*NodeQuery) Execute

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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