implementation

package
v3.1.0-fork Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2020 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 ApplyImpl

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

ApplyImpl is the implementation of PhysicalApply.

func NewApplyImpl

func NewApplyImpl(apply *plannercore.PhysicalApply) *ApplyImpl

NewApplyImpl creates a new ApplyImpl.

func (*ApplyImpl) AttachChildren

func (impl *ApplyImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*ApplyImpl) CalcCost

func (impl *ApplyImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*ApplyImpl) GetCost

func (impl *ApplyImpl) GetCost() float64

func (*ApplyImpl) GetCostLimit

func (impl *ApplyImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

GetCostLimit implements Implementation GetCostLimit interface.

func (*ApplyImpl) GetPlan

func (impl *ApplyImpl) GetPlan() plannercore.PhysicalPlan

func (*ApplyImpl) ScaleCostLimit

func (impl *ApplyImpl) ScaleCostLimit(costLimit float64) float64

func (*ApplyImpl) SetCost

func (impl *ApplyImpl) SetCost(cost float64)

type HashJoinImpl

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

HashJoinImpl is the implementation for PhysicalHashJoin.

func NewHashJoinImpl

func NewHashJoinImpl(hashJoin *plannercore.PhysicalHashJoin) *HashJoinImpl

NewHashJoinImpl creates a new HashJoinImpl.

func (*HashJoinImpl) AttachChildren

func (impl *HashJoinImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

AttachChildren implements Implementation AttachChildren interface.

func (*HashJoinImpl) CalcCost

func (impl *HashJoinImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*HashJoinImpl) GetCost

func (impl *HashJoinImpl) GetCost() float64

func (*HashJoinImpl) GetCostLimit

func (impl *HashJoinImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*HashJoinImpl) GetPlan

func (impl *HashJoinImpl) GetPlan() plannercore.PhysicalPlan

func (*HashJoinImpl) ScaleCostLimit

func (impl *HashJoinImpl) ScaleCostLimit(costLimit float64) float64

func (*HashJoinImpl) SetCost

func (impl *HashJoinImpl) SetCost(cost float64)

type IndexReaderImpl

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

IndexReaderImpl is the implementation of PhysicalIndexReader.

func NewIndexReaderImpl

func NewIndexReaderImpl(reader *plannercore.PhysicalIndexReader, tblColHists *statistics.HistColl) *IndexReaderImpl

NewIndexReaderImpl creates a new IndexReader Implementation.

func (*IndexReaderImpl) AttachChildren

func (impl *IndexReaderImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*IndexReaderImpl) CalcCost

func (impl *IndexReaderImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation interface.

func (*IndexReaderImpl) GetCost

func (impl *IndexReaderImpl) GetCost() float64

func (*IndexReaderImpl) GetCostLimit

func (impl *IndexReaderImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

GetCostLimit implements Implementation interface.

func (*IndexReaderImpl) GetPlan

func (impl *IndexReaderImpl) GetPlan() plannercore.PhysicalPlan

func (*IndexReaderImpl) ScaleCostLimit

func (impl *IndexReaderImpl) ScaleCostLimit(costLimit float64) float64

func (*IndexReaderImpl) SetCost

func (impl *IndexReaderImpl) SetCost(cost float64)

type IndexScanImpl

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

IndexScanImpl is the Implementation of PhysicalIndexScan.

func NewIndexScanImpl

func NewIndexScanImpl(scan *plannercore.PhysicalIndexScan, tblColHists *statistics.HistColl) *IndexScanImpl

NewIndexScanImpl creates a new IndexScan Implementation.

func (*IndexScanImpl) AttachChildren

func (impl *IndexScanImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*IndexScanImpl) CalcCost

func (impl *IndexScanImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation interface.

func (*IndexScanImpl) GetCost

func (impl *IndexScanImpl) GetCost() float64

func (*IndexScanImpl) GetCostLimit

func (impl *IndexScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*IndexScanImpl) GetPlan

func (impl *IndexScanImpl) GetPlan() plannercore.PhysicalPlan

func (*IndexScanImpl) ScaleCostLimit

func (impl *IndexScanImpl) ScaleCostLimit(costLimit float64) float64

func (*IndexScanImpl) SetCost

func (impl *IndexScanImpl) SetCost(cost float64)

type LimitImpl

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

LimitImpl is the implementation of PhysicalLimit. Since PhysicalLimit on different engines have the same behavior, and we don't calculate the cost of `Limit`, we only have one Implementation for it.

func NewLimitImpl

func NewLimitImpl(limit *plannercore.PhysicalLimit) *LimitImpl

NewLimitImpl creates a new LimitImpl.

func (*LimitImpl) AttachChildren

func (impl *LimitImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*LimitImpl) CalcCost

func (impl *LimitImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

func (*LimitImpl) GetCost

func (impl *LimitImpl) GetCost() float64

func (*LimitImpl) GetCostLimit

func (impl *LimitImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*LimitImpl) GetPlan

func (impl *LimitImpl) GetPlan() plannercore.PhysicalPlan

func (*LimitImpl) ScaleCostLimit

func (impl *LimitImpl) ScaleCostLimit(costLimit float64) float64

func (*LimitImpl) SetCost

func (impl *LimitImpl) SetCost(cost float64)

type MaxOneRowImpl

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

MaxOneRowImpl is the implementation of PhysicalApply.

func NewMaxOneRowImpl

func NewMaxOneRowImpl(maxOneRow *plannercore.PhysicalMaxOneRow) *MaxOneRowImpl

NewMaxOneRowImpl creates a new MaxOneRowImpl.

func (*MaxOneRowImpl) AttachChildren

func (impl *MaxOneRowImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*MaxOneRowImpl) CalcCost

func (impl *MaxOneRowImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*MaxOneRowImpl) GetCost

func (impl *MaxOneRowImpl) GetCost() float64

func (*MaxOneRowImpl) GetCostLimit

func (impl *MaxOneRowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*MaxOneRowImpl) GetPlan

func (impl *MaxOneRowImpl) GetPlan() plannercore.PhysicalPlan

func (*MaxOneRowImpl) ScaleCostLimit

func (impl *MaxOneRowImpl) ScaleCostLimit(costLimit float64) float64

func (*MaxOneRowImpl) SetCost

func (impl *MaxOneRowImpl) SetCost(cost float64)

type MemTableScanImpl

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

MemTableScanImpl implementation of PhysicalTableDual.

func NewMemTableScanImpl

func NewMemTableScanImpl(dual *plannercore.PhysicalMemTable) *MemTableScanImpl

NewMemTableScanImpl creates a new table dual Implementation.

func (*MemTableScanImpl) AttachChildren

func (impl *MemTableScanImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*MemTableScanImpl) CalcCost

func (impl *MemTableScanImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost calculates the cost of the table dual Implementation.

func (*MemTableScanImpl) GetCost

func (impl *MemTableScanImpl) GetCost() float64

func (*MemTableScanImpl) GetCostLimit

func (impl *MemTableScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*MemTableScanImpl) GetPlan

func (impl *MemTableScanImpl) GetPlan() plannercore.PhysicalPlan

func (*MemTableScanImpl) ScaleCostLimit

func (impl *MemTableScanImpl) ScaleCostLimit(costLimit float64) float64

func (*MemTableScanImpl) SetCost

func (impl *MemTableScanImpl) SetCost(cost float64)

type MergeJoinImpl

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

MergeJoinImpl is the implementation for PhysicalMergeJoin.

func NewMergeJoinImpl

func NewMergeJoinImpl(mergeJoin *plannercore.PhysicalMergeJoin) *MergeJoinImpl

NewMergeJoinImpl creates a new MergeJoinImpl.

func (*MergeJoinImpl) AttachChildren

func (impl *MergeJoinImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

AttachChildren implements Implementation AttachChildren interface.

func (*MergeJoinImpl) CalcCost

func (impl *MergeJoinImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*MergeJoinImpl) GetCost

func (impl *MergeJoinImpl) GetCost() float64

func (*MergeJoinImpl) GetCostLimit

func (impl *MergeJoinImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*MergeJoinImpl) GetPlan

func (impl *MergeJoinImpl) GetPlan() plannercore.PhysicalPlan

func (*MergeJoinImpl) ScaleCostLimit

func (impl *MergeJoinImpl) ScaleCostLimit(costLimit float64) float64

func (*MergeJoinImpl) SetCost

func (impl *MergeJoinImpl) SetCost(cost float64)

type NominalSortImpl

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

NominalSortImpl is the implementation of NominalSort.

func NewNominalSortImpl

func NewNominalSortImpl(sort *plannercore.NominalSort) *NominalSortImpl

NewNominalSortImpl creates a new NominalSort Implementation.

func (*NominalSortImpl) AttachChildren

func (impl *NominalSortImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

AttachChildren implements Implementation AttachChildren interface.

func (*NominalSortImpl) CalcCost

func (impl *NominalSortImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

func (*NominalSortImpl) GetCost

func (impl *NominalSortImpl) GetCost() float64

func (*NominalSortImpl) GetCostLimit

func (impl *NominalSortImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*NominalSortImpl) GetPlan

func (impl *NominalSortImpl) GetPlan() plannercore.PhysicalPlan

func (*NominalSortImpl) ScaleCostLimit

func (impl *NominalSortImpl) ScaleCostLimit(costLimit float64) float64

func (*NominalSortImpl) SetCost

func (impl *NominalSortImpl) SetCost(cost float64)

type ProjectionImpl

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

ProjectionImpl is the implementation of PhysicalProjection.

func NewProjectionImpl

func NewProjectionImpl(proj *plannercore.PhysicalProjection) *ProjectionImpl

NewProjectionImpl creates a new projection Implementation.

func (*ProjectionImpl) AttachChildren

func (impl *ProjectionImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*ProjectionImpl) CalcCost

func (impl *ProjectionImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

func (*ProjectionImpl) GetCost

func (impl *ProjectionImpl) GetCost() float64

func (*ProjectionImpl) GetCostLimit

func (impl *ProjectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*ProjectionImpl) GetPlan

func (impl *ProjectionImpl) GetPlan() plannercore.PhysicalPlan

func (*ProjectionImpl) ScaleCostLimit

func (impl *ProjectionImpl) ScaleCostLimit(costLimit float64) float64

func (*ProjectionImpl) SetCost

func (impl *ProjectionImpl) SetCost(cost float64)

type ShowImpl

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

ShowImpl is the Implementation of PhysicalShow.

func NewShowImpl

func NewShowImpl(show *plannercore.PhysicalShow) *ShowImpl

NewShowImpl creates a new ShowImpl.

func (*ShowImpl) AttachChildren

func (impl *ShowImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*ShowImpl) CalcCost

func (impl *ShowImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

func (*ShowImpl) GetCost

func (impl *ShowImpl) GetCost() float64

func (*ShowImpl) GetCostLimit

func (impl *ShowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*ShowImpl) GetPlan

func (impl *ShowImpl) GetPlan() plannercore.PhysicalPlan

func (*ShowImpl) ScaleCostLimit

func (impl *ShowImpl) ScaleCostLimit(costLimit float64) float64

func (*ShowImpl) SetCost

func (impl *ShowImpl) SetCost(cost float64)

type SortImpl

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

SortImpl implementation of PhysicalSort.

func NewSortImpl

func NewSortImpl(sort *plannercore.PhysicalSort) *SortImpl

NewSortImpl creates a new sort Implementation.

func (*SortImpl) AttachChildren

func (impl *SortImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

AttachChildren implements Implementation AttachChildren interface.

func (*SortImpl) CalcCost

func (impl *SortImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost calculates the cost of the sort Implementation.

func (*SortImpl) GetCost

func (impl *SortImpl) GetCost() float64

func (*SortImpl) GetCostLimit

func (impl *SortImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*SortImpl) GetPlan

func (impl *SortImpl) GetPlan() plannercore.PhysicalPlan

func (*SortImpl) ScaleCostLimit

func (impl *SortImpl) ScaleCostLimit(costLimit float64) float64

func (*SortImpl) SetCost

func (impl *SortImpl) SetCost(cost float64)

type TableDualImpl

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

TableDualImpl implementation of PhysicalTableDual.

func NewTableDualImpl

func NewTableDualImpl(dual *plannercore.PhysicalTableDual) *TableDualImpl

NewTableDualImpl creates a new table dual Implementation.

func (*TableDualImpl) AttachChildren

func (impl *TableDualImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TableDualImpl) CalcCost

func (impl *TableDualImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost calculates the cost of the table dual Implementation.

func (*TableDualImpl) GetCost

func (impl *TableDualImpl) GetCost() float64

func (*TableDualImpl) GetCostLimit

func (impl *TableDualImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TableDualImpl) GetPlan

func (impl *TableDualImpl) GetPlan() plannercore.PhysicalPlan

func (*TableDualImpl) ScaleCostLimit

func (impl *TableDualImpl) ScaleCostLimit(costLimit float64) float64

func (*TableDualImpl) SetCost

func (impl *TableDualImpl) SetCost(cost float64)

type TableReaderImpl

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

TableReaderImpl implementation of PhysicalTableReader.

func NewTableReaderImpl

func NewTableReaderImpl(reader *plannercore.PhysicalTableReader, hists *statistics.HistColl) *TableReaderImpl

NewTableReaderImpl creates a new table reader Implementation.

func (*TableReaderImpl) AttachChildren

func (impl *TableReaderImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TableReaderImpl) CalcCost

func (impl *TableReaderImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost calculates the cost of the table reader Implementation.

func (*TableReaderImpl) GetCost

func (impl *TableReaderImpl) GetCost() float64

func (*TableReaderImpl) GetCostLimit

func (impl *TableReaderImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

GetCostLimit implements Implementation interface.

func (*TableReaderImpl) GetPlan

func (impl *TableReaderImpl) GetPlan() plannercore.PhysicalPlan

func (*TableReaderImpl) ScaleCostLimit

func (impl *TableReaderImpl) ScaleCostLimit(costLimit float64) float64

func (*TableReaderImpl) SetCost

func (impl *TableReaderImpl) SetCost(cost float64)

type TableScanImpl

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

TableScanImpl implementation of PhysicalTableScan.

func NewTableScanImpl

func NewTableScanImpl(ts *plannercore.PhysicalTableScan, cols []*expression.Column, hists *statistics.HistColl) *TableScanImpl

NewTableScanImpl creates a new table scan Implementation.

func (*TableScanImpl) AttachChildren

func (impl *TableScanImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TableScanImpl) CalcCost

func (impl *TableScanImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost calculates the cost of the table scan Implementation.

func (*TableScanImpl) GetCost

func (impl *TableScanImpl) GetCost() float64

func (*TableScanImpl) GetCostLimit

func (impl *TableScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TableScanImpl) GetPlan

func (impl *TableScanImpl) GetPlan() plannercore.PhysicalPlan

func (*TableScanImpl) ScaleCostLimit

func (impl *TableScanImpl) ScaleCostLimit(costLimit float64) float64

func (*TableScanImpl) SetCost

func (impl *TableScanImpl) SetCost(cost float64)

type TiDBHashAggImpl

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

TiDBHashAggImpl is the implementation of PhysicalHashAgg in TiDB layer.

func NewTiDBHashAggImpl

func NewTiDBHashAggImpl(agg *plannercore.PhysicalHashAgg) *TiDBHashAggImpl

NewTiDBHashAggImpl creates a new TiDBHashAggImpl.

func (*TiDBHashAggImpl) AttachChildren

func (agg *TiDBHashAggImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

AttachChildren implements Implementation AttachChildren interface.

func (*TiDBHashAggImpl) CalcCost

func (agg *TiDBHashAggImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*TiDBHashAggImpl) GetCost

func (impl *TiDBHashAggImpl) GetCost() float64

func (*TiDBHashAggImpl) GetCostLimit

func (impl *TiDBHashAggImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TiDBHashAggImpl) GetPlan

func (impl *TiDBHashAggImpl) GetPlan() plannercore.PhysicalPlan

func (*TiDBHashAggImpl) ScaleCostLimit

func (impl *TiDBHashAggImpl) ScaleCostLimit(costLimit float64) float64

func (*TiDBHashAggImpl) SetCost

func (impl *TiDBHashAggImpl) SetCost(cost float64)

type TiDBSelectionImpl

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

TiDBSelectionImpl is the implementation of PhysicalSelection in TiDB layer.

func NewTiDBSelectionImpl

func NewTiDBSelectionImpl(sel *plannercore.PhysicalSelection) *TiDBSelectionImpl

NewTiDBSelectionImpl creates a new TiDBSelectionImpl.

func (*TiDBSelectionImpl) AttachChildren

func (impl *TiDBSelectionImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TiDBSelectionImpl) CalcCost

func (sel *TiDBSelectionImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*TiDBSelectionImpl) GetCost

func (impl *TiDBSelectionImpl) GetCost() float64

func (*TiDBSelectionImpl) GetCostLimit

func (impl *TiDBSelectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TiDBSelectionImpl) GetPlan

func (impl *TiDBSelectionImpl) GetPlan() plannercore.PhysicalPlan

func (*TiDBSelectionImpl) ScaleCostLimit

func (impl *TiDBSelectionImpl) ScaleCostLimit(costLimit float64) float64

func (*TiDBSelectionImpl) SetCost

func (impl *TiDBSelectionImpl) SetCost(cost float64)

type TiDBTopNImpl

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

TiDBTopNImpl is the implementation of PhysicalTopN in TiDB layer.

func NewTiDBTopNImpl

func NewTiDBTopNImpl(topN *plannercore.PhysicalTopN) *TiDBTopNImpl

NewTiDBTopNImpl creates a new TiDBTopNImpl.

func (*TiDBTopNImpl) AttachChildren

func (impl *TiDBTopNImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TiDBTopNImpl) CalcCost

func (impl *TiDBTopNImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*TiDBTopNImpl) GetCost

func (impl *TiDBTopNImpl) GetCost() float64

func (*TiDBTopNImpl) GetCostLimit

func (impl *TiDBTopNImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TiDBTopNImpl) GetPlan

func (impl *TiDBTopNImpl) GetPlan() plannercore.PhysicalPlan

func (*TiDBTopNImpl) ScaleCostLimit

func (impl *TiDBTopNImpl) ScaleCostLimit(costLimit float64) float64

func (*TiDBTopNImpl) SetCost

func (impl *TiDBTopNImpl) SetCost(cost float64)

type TiKVHashAggImpl

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

TiKVHashAggImpl is the implementation of PhysicalHashAgg in TiKV layer.

func NewTiKVHashAggImpl

func NewTiKVHashAggImpl(agg *plannercore.PhysicalHashAgg) *TiKVHashAggImpl

NewTiKVHashAggImpl creates a new TiKVHashAggImpl.

func (*TiKVHashAggImpl) AttachChildren

func (impl *TiKVHashAggImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TiKVHashAggImpl) CalcCost

func (agg *TiKVHashAggImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*TiKVHashAggImpl) GetCost

func (impl *TiKVHashAggImpl) GetCost() float64

func (*TiKVHashAggImpl) GetCostLimit

func (impl *TiKVHashAggImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TiKVHashAggImpl) GetPlan

func (impl *TiKVHashAggImpl) GetPlan() plannercore.PhysicalPlan

func (*TiKVHashAggImpl) ScaleCostLimit

func (impl *TiKVHashAggImpl) ScaleCostLimit(costLimit float64) float64

func (*TiKVHashAggImpl) SetCost

func (impl *TiKVHashAggImpl) SetCost(cost float64)

type TiKVSelectionImpl

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

TiKVSelectionImpl is the implementation of PhysicalSelection in TiKV layer.

func NewTiKVSelectionImpl

func NewTiKVSelectionImpl(sel *plannercore.PhysicalSelection) *TiKVSelectionImpl

NewTiKVSelectionImpl creates a new TiKVSelectionImpl.

func (*TiKVSelectionImpl) AttachChildren

func (impl *TiKVSelectionImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TiKVSelectionImpl) CalcCost

func (sel *TiKVSelectionImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*TiKVSelectionImpl) GetCost

func (impl *TiKVSelectionImpl) GetCost() float64

func (*TiKVSelectionImpl) GetCostLimit

func (impl *TiKVSelectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TiKVSelectionImpl) GetPlan

func (impl *TiKVSelectionImpl) GetPlan() plannercore.PhysicalPlan

func (*TiKVSelectionImpl) ScaleCostLimit

func (impl *TiKVSelectionImpl) ScaleCostLimit(costLimit float64) float64

func (*TiKVSelectionImpl) SetCost

func (impl *TiKVSelectionImpl) SetCost(cost float64)

type TiKVTopNImpl

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

TiKVTopNImpl is the implementation of PhysicalTopN in TiKV layer.

func NewTiKVTopNImpl

func NewTiKVTopNImpl(topN *plannercore.PhysicalTopN) *TiKVTopNImpl

NewTiKVTopNImpl creates a new TiKVTopNImpl.

func (*TiKVTopNImpl) AttachChildren

func (impl *TiKVTopNImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*TiKVTopNImpl) CalcCost

func (impl *TiKVTopNImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*TiKVTopNImpl) GetCost

func (impl *TiKVTopNImpl) GetCost() float64

func (*TiKVTopNImpl) GetCostLimit

func (impl *TiKVTopNImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*TiKVTopNImpl) GetPlan

func (impl *TiKVTopNImpl) GetPlan() plannercore.PhysicalPlan

func (*TiKVTopNImpl) ScaleCostLimit

func (impl *TiKVTopNImpl) ScaleCostLimit(costLimit float64) float64

func (*TiKVTopNImpl) SetCost

func (impl *TiKVTopNImpl) SetCost(cost float64)

type UnionAllImpl

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

UnionAllImpl is the implementation of PhysicalUnionAll.

func NewUnionAllImpl

func NewUnionAllImpl(union *plannercore.PhysicalUnionAll) *UnionAllImpl

NewUnionAllImpl creates a new UnionAllImpl.

func (*UnionAllImpl) AttachChildren

func (impl *UnionAllImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*UnionAllImpl) CalcCost

func (impl *UnionAllImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*UnionAllImpl) GetCost

func (impl *UnionAllImpl) GetCost() float64

func (*UnionAllImpl) GetCostLimit

func (impl *UnionAllImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

GetCostLimit implements Implementation interface.

func (*UnionAllImpl) GetPlan

func (impl *UnionAllImpl) GetPlan() plannercore.PhysicalPlan

func (*UnionAllImpl) ScaleCostLimit

func (impl *UnionAllImpl) ScaleCostLimit(costLimit float64) float64

func (*UnionAllImpl) SetCost

func (impl *UnionAllImpl) SetCost(cost float64)

type WindowImpl

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

WindowImpl is the implementation of PhysicalWindow.

func NewWindowImpl

func NewWindowImpl(window *plannercore.PhysicalWindow) *WindowImpl

NewWindowImpl creates a new WindowImpl.

func (*WindowImpl) AttachChildren

func (impl *WindowImpl) AttachChildren(children ...memo.Implementation) memo.Implementation

func (*WindowImpl) CalcCost

func (impl *WindowImpl) CalcCost(outCount float64, children ...memo.Implementation) float64

CalcCost implements Implementation CalcCost interface.

func (*WindowImpl) GetCost

func (impl *WindowImpl) GetCost() float64

func (*WindowImpl) GetCostLimit

func (impl *WindowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64

func (*WindowImpl) GetPlan

func (impl *WindowImpl) GetPlan() plannercore.PhysicalPlan

func (*WindowImpl) ScaleCostLimit

func (impl *WindowImpl) ScaleCostLimit(costLimit float64) float64

func (*WindowImpl) SetCost

func (impl *WindowImpl) SetCost(cost float64)

Jump to

Keyboard shortcuts

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