plan

package
v0.0.0-...-f465334 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFieldNotFound = errors.New("field not found")
)

Functions

This section is empty.

Types

type BasicQueryPlanner

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

func (*BasicQueryPlanner) CreatePlan

func (bp *BasicQueryPlanner) CreatePlan(d *parse.QueryData, tx *transaction.Transaction) (Plan, error)

type BasicUpdatePlanner

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

func (*BasicUpdatePlanner) ExecuteCreateIndex

func (up *BasicUpdatePlanner) ExecuteCreateIndex(d *parse.CreateIndexData, tx *transaction.Transaction) (int, error)

func (*BasicUpdatePlanner) ExecuteCreateTable

func (up *BasicUpdatePlanner) ExecuteCreateTable(d *parse.CreateTableData, tx *transaction.Transaction) (int, error)

func (*BasicUpdatePlanner) ExecuteCreateView

func (up *BasicUpdatePlanner) ExecuteCreateView(d *parse.CreateViewData, tx *transaction.Transaction) (int, error)

func (*BasicUpdatePlanner) ExecuteDelete

func (up *BasicUpdatePlanner) ExecuteDelete(d *parse.DeleteData, tx *transaction.Transaction) (int, error)

func (*BasicUpdatePlanner) ExecuteInsert

func (up *BasicUpdatePlanner) ExecuteInsert(d *parse.InsertData, tx *transaction.Transaction) (int, error)

func (*BasicUpdatePlanner) ExecuteModify

func (up *BasicUpdatePlanner) ExecuteModify(d *parse.ModifyData, tx *transaction.Transaction) (int, error)

type BoundPlan

type BoundPlan struct {
	Plan
}

func (BoundPlan) Bound

func (BoundPlan) Bound()

type ChunkScan

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

func NewChunkScan

func NewChunkScan(
	tx *transaction.Transaction,
	filename string,
	layout *record.Layout,
	startBNum, endBNum int32,
) (*ChunkScan, error)

func (*ChunkScan) BeforeFirst

func (c *ChunkScan) BeforeFirst() error

func (*ChunkScan) Close

func (c *ChunkScan) Close() error

func (*ChunkScan) HasField

func (c *ChunkScan) HasField(fieldName schema.FieldName) bool

func (*ChunkScan) Int32

func (c *ChunkScan) Int32(fieldName schema.FieldName) (int32, error)

func (*ChunkScan) Next

func (c *ChunkScan) Next() (bool, error)

func (*ChunkScan) Str

func (c *ChunkScan) Str(fieldName schema.FieldName) (string, error)

func (*ChunkScan) Val

func (c *ChunkScan) Val(fieldName schema.FieldName) (schema.Constant, error)

type CommandResult

type CommandResult struct {
	Type  CommandType
	Count int
}

func (CommandResult) Result

func (CommandResult) Result()

type CommandType

type CommandType int
const (
	Insert CommandType = iota
	Delete
	Update
	CreateTable
	CreateView
	CreateIndex
	Begin
	Commit
	Rollback
)

type Config

type Config struct {
	QueryPlannerInitializer  QueryPlannerInitializer
	UpdatePlannerInitializer UpdatePlannerInitializer
}

type ExplainPlan

type ExplainPlan struct {
	Plan
}

func (ExplainPlan) SwapParams

func (ep ExplainPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type GroupByPlan

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

func NewGroupByPlan

func NewGroupByPlan(tx *transaction.Transaction, p Plan, groupFields []schema.FieldName, aggregationFuncs []query.AggregationFunc) *GroupByPlan

func (GroupByPlan) BlockAccessed

func (g GroupByPlan) BlockAccessed() int

func (GroupByPlan) DistinctValues

func (g GroupByPlan) DistinctValues(fieldName schema.FieldName) int

func (GroupByPlan) Info

func (g GroupByPlan) Info() Info

func (GroupByPlan) Open

func (g GroupByPlan) Open() (query.Scan, error)

func (GroupByPlan) Placeholders

func (g GroupByPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (GroupByPlan) RecordsOutput

func (g GroupByPlan) RecordsOutput() int

func (GroupByPlan) Result

func (g GroupByPlan) Result()

func (GroupByPlan) Schema

func (g GroupByPlan) Schema() *schema.Schema

func (GroupByPlan) SwapParams

func (g GroupByPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type GroupByScan

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

func NewGroupByScan

func NewGroupByScan(scan query.Scan, fields []schema.FieldName, aggregationFuncs []query.AggregationFunc) (*GroupByScan, error)

func (*GroupByScan) BeforeFirst

func (g *GroupByScan) BeforeFirst() error

func (*GroupByScan) Close

func (g *GroupByScan) Close() error

func (*GroupByScan) HasField

func (g *GroupByScan) HasField(fieldName schema.FieldName) bool

func (*GroupByScan) Int32

func (g *GroupByScan) Int32(fieldName schema.FieldName) (int32, error)

func (*GroupByScan) Next

func (g *GroupByScan) Next() (bool, error)

func (*GroupByScan) Str

func (g *GroupByScan) Str(fieldName schema.FieldName) (string, error)

func (*GroupByScan) Val

func (g *GroupByScan) Val(fieldName schema.FieldName) (schema.Constant, error)

type HeuristicQueryPlanner

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

func (HeuristicQueryPlanner) CreatePlan

type IndexJoinPlan

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

func NewIndexJoinPlan

func NewIndexJoinPlan(p1, p2 Plan, indexInfo *metadata.IndexInfo, joinField schema.FieldName) *IndexJoinPlan

func (IndexJoinPlan) BlockAccessed

func (i IndexJoinPlan) BlockAccessed() int

func (IndexJoinPlan) DistinctValues

func (i IndexJoinPlan) DistinctValues(fieldName schema.FieldName) int

func (IndexJoinPlan) Info

func (i IndexJoinPlan) Info() Info

func (IndexJoinPlan) Open

func (i IndexJoinPlan) Open() (query.Scan, error)

func (IndexJoinPlan) Placeholders

func (i IndexJoinPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (IndexJoinPlan) RecordsOutput

func (i IndexJoinPlan) RecordsOutput() int

func (IndexJoinPlan) Result

func (i IndexJoinPlan) Result()

func (IndexJoinPlan) Schema

func (i IndexJoinPlan) Schema() *schema.Schema

func (IndexJoinPlan) SwapParams

func (i IndexJoinPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type IndexSelectPlan

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

func NewIndexSelectPlan

func NewIndexSelectPlan(p Plan, indexInfo *metadata.IndexInfo, val schema.Constant) *IndexSelectPlan

func (IndexSelectPlan) BlockAccessed

func (i IndexSelectPlan) BlockAccessed() int

func (IndexSelectPlan) DistinctValues

func (i IndexSelectPlan) DistinctValues(fieldName schema.FieldName) int

func (IndexSelectPlan) Info

func (i IndexSelectPlan) Info() Info

func (IndexSelectPlan) Open

func (i IndexSelectPlan) Open() (query.Scan, error)

func (IndexSelectPlan) Placeholders

func (i IndexSelectPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (IndexSelectPlan) RecordsOutput

func (i IndexSelectPlan) RecordsOutput() int

func (IndexSelectPlan) Result

func (i IndexSelectPlan) Result()

func (IndexSelectPlan) Schema

func (i IndexSelectPlan) Schema() *schema.Schema

func (IndexSelectPlan) SwapParams

func (i IndexSelectPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type IndexUpdatePlanner

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

func (IndexUpdatePlanner) ExecuteCreateIndex

func (up IndexUpdatePlanner) ExecuteCreateIndex(d *parse.CreateIndexData, tx *transaction.Transaction) (int, error)

func (IndexUpdatePlanner) ExecuteCreateTable

func (up IndexUpdatePlanner) ExecuteCreateTable(d *parse.CreateTableData, tx *transaction.Transaction) (int, error)

func (IndexUpdatePlanner) ExecuteCreateView

func (up IndexUpdatePlanner) ExecuteCreateView(d *parse.CreateViewData, tx *transaction.Transaction) (int, error)

func (IndexUpdatePlanner) ExecuteDelete

func (up IndexUpdatePlanner) ExecuteDelete(d *parse.DeleteData, tx *transaction.Transaction) (int, error)

func (IndexUpdatePlanner) ExecuteInsert

func (up IndexUpdatePlanner) ExecuteInsert(d *parse.InsertData, tx *transaction.Transaction) (int, error)

func (IndexUpdatePlanner) ExecuteModify

func (up IndexUpdatePlanner) ExecuteModify(d *parse.ModifyData, tx *transaction.Transaction) (int, error)

type Info

type Info struct {
	NodeType      string              `json:"nodeType"`
	Conditions    map[string][]string `json:"conditions,omitempty"`
	BlockAccessed int                 `json:"blockAccessed"`
	RecordsOutput int                 `json:"recordsOutput"`
	Children      []Info              `json:"children,omitempty"`
}

func (Info) JSON

func (f Info) JSON() json.RawMessage

func (Info) String

func (f Info) String() string

type MaterializePlan

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

func NewMaterializePlan

func NewMaterializePlan(tx *transaction.Transaction, p Plan) *MaterializePlan

func (MaterializePlan) BlockAccessed

func (p MaterializePlan) BlockAccessed() int

func (MaterializePlan) DistinctValues

func (p MaterializePlan) DistinctValues(fieldName schema.FieldName) int

func (MaterializePlan) Info

func (p MaterializePlan) Info() Info

func (MaterializePlan) Open

func (p MaterializePlan) Open() (query.Scan, error)

func (MaterializePlan) Placeholders

func (p MaterializePlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (MaterializePlan) RecordsOutput

func (p MaterializePlan) RecordsOutput() int

func (MaterializePlan) Result

func (p MaterializePlan) Result()

func (MaterializePlan) Schema

func (p MaterializePlan) Schema() *schema.Schema

func (MaterializePlan) SwapParams

func (p MaterializePlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type MergeJoinPlan

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

func NewMergeJoinPlan

func NewMergeJoinPlan(tx *transaction.Transaction, p1, p2 Plan, fieldName1, fieldName2 schema.FieldName) (*MergeJoinPlan, error)

func (MergeJoinPlan) BlockAccessed

func (m MergeJoinPlan) BlockAccessed() int

func (MergeJoinPlan) DistinctValues

func (m MergeJoinPlan) DistinctValues(fieldName schema.FieldName) int

func (MergeJoinPlan) Info

func (m MergeJoinPlan) Info() Info

func (MergeJoinPlan) Open

func (m MergeJoinPlan) Open() (query.Scan, error)

func (MergeJoinPlan) Placeholders

func (m MergeJoinPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (MergeJoinPlan) RecordsOutput

func (m MergeJoinPlan) RecordsOutput() int

func (MergeJoinPlan) Result

func (m MergeJoinPlan) Result()

func (MergeJoinPlan) Schema

func (m MergeJoinPlan) Schema() *schema.Schema

func (MergeJoinPlan) SwapParams

func (m MergeJoinPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type MergeJoinScan

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

func NewMergeJoinScan

func NewMergeJoinScan(s1 query.Scan, s2 SortScan, fieldName1, fieldName2 schema.FieldName) (*MergeJoinScan, error)

func (*MergeJoinScan) BeforeFirst

func (m *MergeJoinScan) BeforeFirst() error

func (*MergeJoinScan) Close

func (m *MergeJoinScan) Close() error

func (*MergeJoinScan) HasField

func (m *MergeJoinScan) HasField(fieldName schema.FieldName) bool

func (*MergeJoinScan) Int32

func (m *MergeJoinScan) Int32(fieldName schema.FieldName) (int32, error)

func (*MergeJoinScan) Next

func (m *MergeJoinScan) Next() (bool, error)

func (*MergeJoinScan) Str

func (m *MergeJoinScan) Str(fieldName schema.FieldName) (string, error)

func (*MergeJoinScan) Val

func (m *MergeJoinScan) Val(fieldName schema.FieldName) (schema.Constant, error)

type MultiBufferProductPlan

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

func NewMultiBufferProductPlan

func NewMultiBufferProductPlan(tx *transaction.Transaction, lhs, rhs Plan) *MultiBufferProductPlan

func (MultiBufferProductPlan) BlockAccessed

func (p MultiBufferProductPlan) BlockAccessed() int

func (MultiBufferProductPlan) DistinctValues

func (p MultiBufferProductPlan) DistinctValues(fieldName schema.FieldName) int

func (MultiBufferProductPlan) Info

func (p MultiBufferProductPlan) Info() Info

func (MultiBufferProductPlan) Open

func (p MultiBufferProductPlan) Open() (query.Scan, error)

func (MultiBufferProductPlan) Placeholders

func (p MultiBufferProductPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (MultiBufferProductPlan) RecordsOutput

func (p MultiBufferProductPlan) RecordsOutput() int

func (MultiBufferProductPlan) Result

func (p MultiBufferProductPlan) Result()

func (MultiBufferProductPlan) Schema

func (p MultiBufferProductPlan) Schema() *schema.Schema

func (MultiBufferProductPlan) SwapParams

func (p MultiBufferProductPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type MultiBufferProductScan

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

func NewMultiBufferProductScan

func NewMultiBufferProductScan(
	tx *transaction.Transaction,
	lshScan query.Scan,
	tableName string,
	layout *record.Layout,
) (*MultiBufferProductScan, error)

func (*MultiBufferProductScan) BeforeFirst

func (p *MultiBufferProductScan) BeforeFirst() error

func (*MultiBufferProductScan) Close

func (p *MultiBufferProductScan) Close() error

func (*MultiBufferProductScan) HasField

func (p *MultiBufferProductScan) HasField(fieldName schema.FieldName) bool

func (*MultiBufferProductScan) Int32

func (p *MultiBufferProductScan) Int32(fieldName schema.FieldName) (int32, error)

func (*MultiBufferProductScan) Next

func (p *MultiBufferProductScan) Next() (bool, error)

func (*MultiBufferProductScan) Str

func (p *MultiBufferProductScan) Str(fieldName schema.FieldName) (string, error)

func (*MultiBufferProductScan) Val

type Plan

type Plan interface {
	Result
	statement.Prepared
	Open() (query.Scan, error)
	BlockAccessed() int
	RecordsOutput() int
	DistinctValues(fieldName schema.FieldName) int
	Schema() *schema.Schema
	Info() Info
}

type Planner

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

func NewPlanner

func NewPlanner(qp QueryPlanner, up UpdatePlanner, mdm *metadata.Manager) *Planner

func (*Planner) Bind

func (p *Planner) Bind(pre statement.Prepared, rawParams map[int]any, tx *transaction.Transaction) (statement.Bound, error)

func (*Planner) Execute

func (p *Planner) Execute(q string, tx *transaction.Transaction) (Result, error)

func (*Planner) ExecuteBound

func (p *Planner) ExecuteBound(bound statement.Bound, tx *transaction.Transaction) (Result, error)

func (*Planner) Prepare

type ProductPlan

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

func NewProductPlan

func NewProductPlan(p1, p2 Plan) (*ProductPlan, error)

func (ProductPlan) BlockAccessed

func (p ProductPlan) BlockAccessed() int

func (ProductPlan) DistinctValues

func (p ProductPlan) DistinctValues(fieldName schema.FieldName) int

func (ProductPlan) Info

func (p ProductPlan) Info() Info

func (ProductPlan) Open

func (p ProductPlan) Open() (query.Scan, error)

func (ProductPlan) Placeholders

func (p ProductPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (ProductPlan) RecordsOutput

func (p ProductPlan) RecordsOutput() int

func (ProductPlan) Result

func (ProductPlan) Result()

func (ProductPlan) Schema

func (p ProductPlan) Schema() *schema.Schema

func (ProductPlan) SwapParams

func (p ProductPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type ProjectPlan

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

func NewProjectPlan

func NewProjectPlan(p Plan, fieldNames []schema.FieldName) *ProjectPlan

func (ProjectPlan) BlockAccessed

func (p ProjectPlan) BlockAccessed() int

func (ProjectPlan) DistinctValues

func (p ProjectPlan) DistinctValues(fieldName schema.FieldName) int

func (ProjectPlan) Info

func (p ProjectPlan) Info() Info

func (ProjectPlan) Open

func (p ProjectPlan) Open() (query.Scan, error)

func (ProjectPlan) Placeholders

func (p ProjectPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (ProjectPlan) RecordsOutput

func (p ProjectPlan) RecordsOutput() int

func (ProjectPlan) Result

func (ProjectPlan) Result()

func (ProjectPlan) Schema

func (p ProjectPlan) Schema() *schema.Schema

func (ProjectPlan) SwapParams

func (p ProjectPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type QueryPlanner

type QueryPlanner interface {
	CreatePlan(d *parse.QueryData, tx *transaction.Transaction) (Plan, error)
}

func NewBasicQueryPlanner

func NewBasicQueryPlanner(mdm *metadata.Manager) QueryPlanner

func NewHeuristicQueryPlanner

func NewHeuristicQueryPlanner(mdm *metadata.Manager) QueryPlanner

type QueryPlannerInitializer

type QueryPlannerInitializer func(*metadata.Manager) QueryPlanner

type Result

type Result interface {
	Result()
}

type SelectPlan

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

func NewSelectPlan

func NewSelectPlan(p Plan, pred query.Predicate) *SelectPlan

func (SelectPlan) BlockAccessed

func (s SelectPlan) BlockAccessed() int

func (SelectPlan) DistinctValues

func (s SelectPlan) DistinctValues(fieldName schema.FieldName) int

func (SelectPlan) Info

func (s SelectPlan) Info() Info

func (SelectPlan) Open

func (s SelectPlan) Open() (query.Scan, error)

func (SelectPlan) Placeholders

func (s SelectPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (SelectPlan) RecordsOutput

func (s SelectPlan) RecordsOutput() int

func (SelectPlan) Result

func (SelectPlan) Result()

func (SelectPlan) Schema

func (s SelectPlan) Schema() *schema.Schema

func (SelectPlan) SwapParams

func (s SelectPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type SortPlan

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

func NewSortPlan

func NewSortPlan(tx *transaction.Transaction, p Plan, order query.Order) *SortPlan

func (SortPlan) BlockAccessed

func (s SortPlan) BlockAccessed() int

func (SortPlan) DistinctValues

func (s SortPlan) DistinctValues(fieldName schema.FieldName) int

func (SortPlan) Info

func (s SortPlan) Info() Info

func (SortPlan) Open

func (s SortPlan) Open() (query.Scan, error)

func (SortPlan) Placeholders

func (s SortPlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (SortPlan) RecordsOutput

func (s SortPlan) RecordsOutput() int

func (SortPlan) Result

func (s SortPlan) Result()

func (SortPlan) Schema

func (s SortPlan) Schema() *schema.Schema

func (SortPlan) SwapParams

func (s SortPlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type SortScan

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

func NewSortScan

func NewSortScan(runs []TempTable, order query.Order) (*SortScan, error)

func (*SortScan) BeforeFirst

func (s *SortScan) BeforeFirst() error

func (*SortScan) Close

func (s *SortScan) Close() error

func (*SortScan) HasField

func (s *SortScan) HasField(fieldName schema.FieldName) bool

func (*SortScan) Int32

func (s *SortScan) Int32(fieldName schema.FieldName) (int32, error)

func (*SortScan) Next

func (s *SortScan) Next() (bool, error)

func (*SortScan) RestorePosition

func (s *SortScan) RestorePosition() error

func (*SortScan) SavePosition

func (s *SortScan) SavePosition()

func (*SortScan) Str

func (s *SortScan) Str(fieldName schema.FieldName) (string, error)

func (*SortScan) Val

func (s *SortScan) Val(fieldName schema.FieldName) (schema.Constant, error)

type TablePlan

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

func NewTablePlan

func NewTablePlan(
	tableName string,
	tx *transaction.Transaction,
	mdm *metadata.Manager) (*TablePlan, error)

func (TablePlan) BlockAccessed

func (t TablePlan) BlockAccessed() int

func (TablePlan) DistinctValues

func (t TablePlan) DistinctValues(fieldName schema.FieldName) int

func (TablePlan) Info

func (t TablePlan) Info() Info

func (TablePlan) Open

func (t TablePlan) Open() (query.Scan, error)

func (TablePlan) Placeholders

func (t TablePlan) Placeholders(findSchema func(tableName string) (*schema.Schema, error)) map[int]schema.FieldType

func (TablePlan) RecordsOutput

func (t TablePlan) RecordsOutput() int

func (TablePlan) Result

func (TablePlan) Result()

func (TablePlan) Schema

func (t TablePlan) Schema() *schema.Schema

func (TablePlan) SwapParams

func (t TablePlan) SwapParams(params map[int]schema.Constant) (statement.Bound, error)

type TablePlanner

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

func NewTablePlanner

func NewTablePlanner(
	tableName string,
	myPred query.Predicate,
	tx *transaction.Transaction,
	mdm *metadata.Manager,
) (*TablePlanner, error)

func (*TablePlanner) MakeIndexJoin

func (tp *TablePlanner) MakeIndexJoin(current Plan, currentSche *schema.Schema) (Plan, bool)

func (*TablePlanner) MakeIndexSelect

func (tp *TablePlanner) MakeIndexSelect() (Plan, bool)

func (*TablePlanner) MakeJoinPlan

func (tp *TablePlanner) MakeJoinPlan(current Plan) (Plan, bool)

func (*TablePlanner) MakeProductPlan

func (tp *TablePlanner) MakeProductPlan(current Plan) Plan

func (*TablePlanner) MakeSelectPlan

func (tp *TablePlanner) MakeSelectPlan() Plan

type TempTable

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

func NewTempTable

func NewTempTable(tx *transaction.Transaction, sche schema.Schema) *TempTable

func (TempTable) Layout

func (t TempTable) Layout() *record.Layout

func (TempTable) Open

func (t TempTable) Open() (query.UpdateScan, error)

func (TempTable) TableName

func (t TempTable) TableName() string

type UpdatePlanner

type UpdatePlanner interface {
	ExecuteInsert(d *parse.InsertData, tx *transaction.Transaction) (int, error)
	ExecuteDelete(d *parse.DeleteData, tx *transaction.Transaction) (int, error)
	ExecuteModify(d *parse.ModifyData, tx *transaction.Transaction) (int, error)
	ExecuteCreateTable(d *parse.CreateTableData, tx *transaction.Transaction) (int, error)
	ExecuteCreateView(d *parse.CreateViewData, tx *transaction.Transaction) (int, error)
	ExecuteCreateIndex(d *parse.CreateIndexData, tx *transaction.Transaction) (int, error)
}

func NewBasicUpdatePlanner

func NewBasicUpdatePlanner(mdm *metadata.Manager) UpdatePlanner

func NewIndexUpdatePlanner

func NewIndexUpdatePlanner(mdm *metadata.Manager) UpdatePlanner

type UpdatePlannerInitializer

type UpdatePlannerInitializer func(*metadata.Manager) UpdatePlanner

Jump to

Keyboard shortcuts

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