plan

package
v0.0.0-...-6120cfb Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AbstractPlan

type AbstractPlan interface {
	OutputSchema() bschema.Reader
	HasChildren() bool
	GetChildAt(idx int) AbstractPlan
	GetChildren() []AbstractPlan
	GetType() PlanType
}

func NewAbstractPlan

func NewAbstractPlan(schema bschema.Reader, children []AbstractPlan) AbstractPlan

type ConstPlan

type ConstPlan interface {
	AbstractPlan
	Predicate() expression.Expression
	GetEvalCtx() ast.EvaluateCtx
}

func NewConstPlan

func NewConstPlan(predicate expression.Expression, ctx ast.EvaluateCtx) ConstPlan

type DeletePlan

type DeletePlan interface {
	AbstractPlan
	TableOid() uint64
	DbOid() uint64
}

func NewDeletePlan

func NewDeletePlan(children []AbstractPlan, tableOid uint64, dbOid uint64) DeletePlan

type IndexScanPlan

type IndexScanPlan interface {
	AbstractPlan
	Predicate() expression.Expression
	DBOid() uint64
	TableOid() uint64
	Prefix() []byte
	GetEvalCtx() ast.EvaluateCtx
}

func NewIndexScanPlan

func NewIndexScanPlan(schema bschema.Reader, prefix []byte, predicate expression.Expression, ctx ast.EvaluateCtx, dbOid, tableOid uint64) IndexScanPlan

type InsertPlan

type InsertPlan interface {
	AbstractPlan
	RawValues() []value.Values
	RawValuesSize() int
	DBOid() uint64
	TableOid() uint64
}

func NewInsertPlan

func NewInsertPlan(children []AbstractPlan, dbOid, tableOid uint64) InsertPlan

func NewRawInsertPlan

func NewRawInsertPlan(rawValues []value.Values, dbOid, tableOid uint64) InsertPlan

type LimitPlan

type LimitPlan interface {
	AbstractPlan
	Limit() int
}

func NewLimitPlan

func NewLimitPlan(children []AbstractPlan, limit int) LimitPlan

type Modifier

type Modifier interface {
	Value() value.Value
	Type() UpdateType
}

func NewModifier

func NewModifier(typ UpdateType, value value.Value) Modifier

type MultiIndexScan

type MultiIndexScan interface {
	AbstractPlan
	DBOid() uint64
	TableOid() uint64
	LeftOutputSchema() bschema.Reader
	RightOutputSchema() bschema.Reader
}

func NewMultiIndexScan

func NewMultiIndexScan(children []AbstractPlan, dbOid, tableOid uint64) MultiIndexScan

type Plan

type Plan interface {
	GetType() PlanType
}

type PlanType

type PlanType int
const (
	InsertPlanType PlanType = iota + 1
	UpdatePlanType
	SeqScanPlanType
	CreateDBPlanType
)

type SchemaPlan

type SchemaPlan interface {
	AbstractPlan
	GetDBInfo() *model.DBInfo
}

func NewCreateDBPlan

func NewCreateDBPlan(db *model.DBInfo) SchemaPlan

type SeqScanPlan

type SeqScanPlan interface {
	AbstractPlan
	Predicate() expression.Expression
	DBOid() uint64
	TableOid() uint64
	GetEvalCtx() ast.EvaluateCtx
}

func NewSeqScanPlan

func NewSeqScanPlan(schema bschema.Reader, predicate expression.Expression, ctx ast.EvaluateCtx, dbOid, tableOid uint64) SeqScanPlan

type TableRowIdScan

type TableRowIdScan struct {
	AbstractPlan
	// contains filtered or unexported fields
}

func NewTableRowIdScan

func NewTableRowIdScan(schema bschema.Reader, dbOid, tableOid uint64, child AbstractPlan) *TableRowIdScan

func (TableRowIdScan) DBOid

func (s TableRowIdScan) DBOid() uint64

func (TableRowIdScan) TableOid

func (s TableRowIdScan) TableOid() uint64

type UpdateAttrsInfo

type UpdateAttrsInfo map[int]Modifier

type UpdatePlan

type UpdatePlan interface {
	AbstractPlan
	TableOid() uint64
	DBOid() uint64
	GetUpdateAttrs() UpdateAttrsInfo
}

func NewUpdatePlan

func NewUpdatePlan(children []AbstractPlan, tableOid, dbOid uint64, updateAttrs UpdateAttrsInfo) UpdatePlan

type UpdateType

type UpdateType byte
const (
	ModifierSet UpdateType = iota
)

Jump to

Keyboard shortcuts

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