tidb: github.com/pingcap/tidb/planner/implementation Index | Files

package implementation

import "github.com/pingcap/tidb/planner/implementation"

Index

Package Files

base.go datasource.go join.go simple_plans.go sort.go

type ApplyImpl Uses

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

ApplyImpl is the implementation of PhysicalApply.

func NewApplyImpl Uses

func NewApplyImpl(apply *plannercore.PhysicalApply) *ApplyImpl

NewApplyImpl creates a new ApplyImpl.

func (*ApplyImpl) AttachChildren Uses

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

func (*ApplyImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*ApplyImpl) GetCost Uses

func (impl *ApplyImpl) GetCost() float64

func (*ApplyImpl) GetCostLimit Uses

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

GetCostLimit implements Implementation GetCostLimit interface.

func (*ApplyImpl) GetPlan Uses

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

func (*ApplyImpl) ScaleCostLimit Uses

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

func (*ApplyImpl) SetCost Uses

func (impl *ApplyImpl) SetCost(cost float64)

type HashJoinImpl Uses

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

HashJoinImpl is the implementation for PhysicalHashJoin.

func NewHashJoinImpl Uses

func NewHashJoinImpl(hashJoin *plannercore.PhysicalHashJoin) *HashJoinImpl

NewHashJoinImpl creates a new HashJoinImpl.

func (*HashJoinImpl) AttachChildren Uses

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

AttachChildren implements Implementation AttachChildren interface.

func (*HashJoinImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*HashJoinImpl) GetCost Uses

func (impl *HashJoinImpl) GetCost() float64

func (*HashJoinImpl) GetCostLimit Uses

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

func (*HashJoinImpl) GetPlan Uses

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

func (*HashJoinImpl) ScaleCostLimit Uses

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

func (*HashJoinImpl) SetCost Uses

func (impl *HashJoinImpl) SetCost(cost float64)

type IndexReaderImpl Uses

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

IndexReaderImpl is the implementation of PhysicalIndexReader.

func NewIndexReaderImpl Uses

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

NewIndexReaderImpl creates a new IndexReader Implementation.

func (*IndexReaderImpl) AttachChildren Uses

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

func (*IndexReaderImpl) CalcCost Uses

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

CalcCost implements Implementation interface.

func (*IndexReaderImpl) GetCost Uses

func (impl *IndexReaderImpl) GetCost() float64

func (*IndexReaderImpl) GetCostLimit Uses

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

GetCostLimit implements Implementation interface.

func (*IndexReaderImpl) GetPlan Uses

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

func (*IndexReaderImpl) ScaleCostLimit Uses

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

func (*IndexReaderImpl) SetCost Uses

func (impl *IndexReaderImpl) SetCost(cost float64)

type IndexScanImpl Uses

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

IndexScanImpl is the Implementation of PhysicalIndexScan.

func NewIndexScanImpl Uses

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

NewIndexScanImpl creates a new IndexScan Implementation.

func (*IndexScanImpl) AttachChildren Uses

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

func (*IndexScanImpl) CalcCost Uses

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

CalcCost implements Implementation interface.

func (*IndexScanImpl) GetCost Uses

func (impl *IndexScanImpl) GetCost() float64

func (*IndexScanImpl) GetCostLimit Uses

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

func (*IndexScanImpl) GetPlan Uses

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

func (*IndexScanImpl) ScaleCostLimit Uses

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

func (*IndexScanImpl) SetCost Uses

func (impl *IndexScanImpl) SetCost(cost float64)

type LimitImpl Uses

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 Uses

func NewLimitImpl(limit *plannercore.PhysicalLimit) *LimitImpl

NewLimitImpl creates a new LimitImpl.

func (*LimitImpl) AttachChildren Uses

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

func (*LimitImpl) CalcCost Uses

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

func (*LimitImpl) GetCost Uses

func (impl *LimitImpl) GetCost() float64

func (*LimitImpl) GetCostLimit Uses

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

func (*LimitImpl) GetPlan Uses

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

func (*LimitImpl) ScaleCostLimit Uses

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

func (*LimitImpl) SetCost Uses

func (impl *LimitImpl) SetCost(cost float64)

type MaxOneRowImpl Uses

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

MaxOneRowImpl is the implementation of PhysicalApply.

func NewMaxOneRowImpl Uses

func NewMaxOneRowImpl(maxOneRow *plannercore.PhysicalMaxOneRow) *MaxOneRowImpl

NewMaxOneRowImpl creates a new MaxOneRowImpl.

func (*MaxOneRowImpl) AttachChildren Uses

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

func (*MaxOneRowImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*MaxOneRowImpl) GetCost Uses

func (impl *MaxOneRowImpl) GetCost() float64

func (*MaxOneRowImpl) GetCostLimit Uses

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

func (*MaxOneRowImpl) GetPlan Uses

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

func (*MaxOneRowImpl) ScaleCostLimit Uses

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

func (*MaxOneRowImpl) SetCost Uses

func (impl *MaxOneRowImpl) SetCost(cost float64)

type MemTableScanImpl Uses

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

MemTableScanImpl implementation of PhysicalTableDual.

func NewMemTableScanImpl Uses

func NewMemTableScanImpl(dual *plannercore.PhysicalMemTable) *MemTableScanImpl

NewMemTableScanImpl creates a new table dual Implementation.

func (*MemTableScanImpl) AttachChildren Uses

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

func (*MemTableScanImpl) CalcCost Uses

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

CalcCost calculates the cost of the table dual Implementation.

func (*MemTableScanImpl) GetCost Uses

func (impl *MemTableScanImpl) GetCost() float64

func (*MemTableScanImpl) GetCostLimit Uses

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

func (*MemTableScanImpl) GetPlan Uses

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

func (*MemTableScanImpl) ScaleCostLimit Uses

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

func (*MemTableScanImpl) SetCost Uses

func (impl *MemTableScanImpl) SetCost(cost float64)

type MergeJoinImpl Uses

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

MergeJoinImpl is the implementation for PhysicalMergeJoin.

func NewMergeJoinImpl Uses

func NewMergeJoinImpl(mergeJoin *plannercore.PhysicalMergeJoin) *MergeJoinImpl

NewMergeJoinImpl creates a new MergeJoinImpl.

func (*MergeJoinImpl) AttachChildren Uses

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

AttachChildren implements Implementation AttachChildren interface.

func (*MergeJoinImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*MergeJoinImpl) GetCost Uses

func (impl *MergeJoinImpl) GetCost() float64

func (*MergeJoinImpl) GetCostLimit Uses

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

func (*MergeJoinImpl) GetPlan Uses

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

func (*MergeJoinImpl) ScaleCostLimit Uses

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

func (*MergeJoinImpl) SetCost Uses

func (impl *MergeJoinImpl) SetCost(cost float64)

type NominalSortImpl Uses

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

NominalSortImpl is the implementation of NominalSort.

func NewNominalSortImpl Uses

func NewNominalSortImpl(sort *plannercore.NominalSort) *NominalSortImpl

NewNominalSortImpl creates a new NominalSort Implementation.

func (*NominalSortImpl) AttachChildren Uses

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

AttachChildren implements Implementation AttachChildren interface.

func (*NominalSortImpl) CalcCost Uses

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

func (*NominalSortImpl) GetCost Uses

func (impl *NominalSortImpl) GetCost() float64

func (*NominalSortImpl) GetCostLimit Uses

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

func (*NominalSortImpl) GetPlan Uses

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

func (*NominalSortImpl) ScaleCostLimit Uses

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

func (*NominalSortImpl) SetCost Uses

func (impl *NominalSortImpl) SetCost(cost float64)

type ProjectionImpl Uses

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

ProjectionImpl is the implementation of PhysicalProjection.

func NewProjectionImpl Uses

func NewProjectionImpl(proj *plannercore.PhysicalProjection) *ProjectionImpl

NewProjectionImpl creates a new projection Implementation.

func (*ProjectionImpl) AttachChildren Uses

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

func (*ProjectionImpl) CalcCost Uses

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

func (*ProjectionImpl) GetCost Uses

func (impl *ProjectionImpl) GetCost() float64

func (*ProjectionImpl) GetCostLimit Uses

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

func (*ProjectionImpl) GetPlan Uses

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

func (*ProjectionImpl) ScaleCostLimit Uses

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

func (*ProjectionImpl) SetCost Uses

func (impl *ProjectionImpl) SetCost(cost float64)

type ShowImpl Uses

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

ShowImpl is the Implementation of PhysicalShow.

func NewShowImpl Uses

func NewShowImpl(show *plannercore.PhysicalShow) *ShowImpl

NewShowImpl creates a new ShowImpl.

func (*ShowImpl) AttachChildren Uses

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

func (*ShowImpl) CalcCost Uses

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

func (*ShowImpl) GetCost Uses

func (impl *ShowImpl) GetCost() float64

func (*ShowImpl) GetCostLimit Uses

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

func (*ShowImpl) GetPlan Uses

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

func (*ShowImpl) ScaleCostLimit Uses

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

func (*ShowImpl) SetCost Uses

func (impl *ShowImpl) SetCost(cost float64)

type SortImpl Uses

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

SortImpl implementation of PhysicalSort.

func NewSortImpl Uses

func NewSortImpl(sort *plannercore.PhysicalSort) *SortImpl

NewSortImpl creates a new sort Implementation.

func (*SortImpl) AttachChildren Uses

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

AttachChildren implements Implementation AttachChildren interface.

func (*SortImpl) CalcCost Uses

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

CalcCost calculates the cost of the sort Implementation.

func (*SortImpl) GetCost Uses

func (impl *SortImpl) GetCost() float64

func (*SortImpl) GetCostLimit Uses

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

func (*SortImpl) GetPlan Uses

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

func (*SortImpl) ScaleCostLimit Uses

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

func (*SortImpl) SetCost Uses

func (impl *SortImpl) SetCost(cost float64)

type TableDualImpl Uses

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

TableDualImpl implementation of PhysicalTableDual.

func NewTableDualImpl Uses

func NewTableDualImpl(dual *plannercore.PhysicalTableDual) *TableDualImpl

NewTableDualImpl creates a new table dual Implementation.

func (*TableDualImpl) AttachChildren Uses

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

func (*TableDualImpl) CalcCost Uses

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

CalcCost calculates the cost of the table dual Implementation.

func (*TableDualImpl) GetCost Uses

func (impl *TableDualImpl) GetCost() float64

func (*TableDualImpl) GetCostLimit Uses

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

func (*TableDualImpl) GetPlan Uses

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

func (*TableDualImpl) ScaleCostLimit Uses

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

func (*TableDualImpl) SetCost Uses

func (impl *TableDualImpl) SetCost(cost float64)

type TableReaderImpl Uses

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

TableReaderImpl implementation of PhysicalTableReader.

func NewTableReaderImpl Uses

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

NewTableReaderImpl creates a new table reader Implementation.

func (*TableReaderImpl) AttachChildren Uses

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

func (*TableReaderImpl) CalcCost Uses

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

CalcCost calculates the cost of the table reader Implementation.

func (*TableReaderImpl) GetCost Uses

func (impl *TableReaderImpl) GetCost() float64

func (*TableReaderImpl) GetCostLimit Uses

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

GetCostLimit implements Implementation interface.

func (*TableReaderImpl) GetPlan Uses

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

func (*TableReaderImpl) ScaleCostLimit Uses

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

func (*TableReaderImpl) SetCost Uses

func (impl *TableReaderImpl) SetCost(cost float64)

type TableScanImpl Uses

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

TableScanImpl implementation of PhysicalTableScan.

func NewTableScanImpl Uses

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

NewTableScanImpl creates a new table scan Implementation.

func (*TableScanImpl) AttachChildren Uses

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

func (*TableScanImpl) CalcCost Uses

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

CalcCost calculates the cost of the table scan Implementation.

func (*TableScanImpl) GetCost Uses

func (impl *TableScanImpl) GetCost() float64

func (*TableScanImpl) GetCostLimit Uses

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

func (*TableScanImpl) GetPlan Uses

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

func (*TableScanImpl) ScaleCostLimit Uses

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

func (*TableScanImpl) SetCost Uses

func (impl *TableScanImpl) SetCost(cost float64)

type TiDBHashAggImpl Uses

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

TiDBHashAggImpl is the implementation of PhysicalHashAgg in TiDB layer.

func NewTiDBHashAggImpl Uses

func NewTiDBHashAggImpl(agg *plannercore.PhysicalHashAgg) *TiDBHashAggImpl

NewTiDBHashAggImpl creates a new TiDBHashAggImpl.

func (*TiDBHashAggImpl) AttachChildren Uses

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

AttachChildren implements Implementation AttachChildren interface.

func (*TiDBHashAggImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*TiDBHashAggImpl) GetCost Uses

func (impl *TiDBHashAggImpl) GetCost() float64

func (*TiDBHashAggImpl) GetCostLimit Uses

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

func (*TiDBHashAggImpl) GetPlan Uses

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

func (*TiDBHashAggImpl) ScaleCostLimit Uses

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

func (*TiDBHashAggImpl) SetCost Uses

func (impl *TiDBHashAggImpl) SetCost(cost float64)

type TiDBSelectionImpl Uses

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

TiDBSelectionImpl is the implementation of PhysicalSelection in TiDB layer.

func NewTiDBSelectionImpl Uses

func NewTiDBSelectionImpl(sel *plannercore.PhysicalSelection) *TiDBSelectionImpl

NewTiDBSelectionImpl creates a new TiDBSelectionImpl.

func (*TiDBSelectionImpl) AttachChildren Uses

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

func (*TiDBSelectionImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*TiDBSelectionImpl) GetCost Uses

func (impl *TiDBSelectionImpl) GetCost() float64

func (*TiDBSelectionImpl) GetCostLimit Uses

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

func (*TiDBSelectionImpl) GetPlan Uses

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

func (*TiDBSelectionImpl) ScaleCostLimit Uses

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

func (*TiDBSelectionImpl) SetCost Uses

func (impl *TiDBSelectionImpl) SetCost(cost float64)

type TiDBTopNImpl Uses

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

TiDBTopNImpl is the implementation of PhysicalTopN in TiDB layer.

func NewTiDBTopNImpl Uses

func NewTiDBTopNImpl(topN *plannercore.PhysicalTopN) *TiDBTopNImpl

NewTiDBTopNImpl creates a new TiDBTopNImpl.

func (*TiDBTopNImpl) AttachChildren Uses

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

func (*TiDBTopNImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*TiDBTopNImpl) GetCost Uses

func (impl *TiDBTopNImpl) GetCost() float64

func (*TiDBTopNImpl) GetCostLimit Uses

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

func (*TiDBTopNImpl) GetPlan Uses

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

func (*TiDBTopNImpl) ScaleCostLimit Uses

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

func (*TiDBTopNImpl) SetCost Uses

func (impl *TiDBTopNImpl) SetCost(cost float64)

type TiKVHashAggImpl Uses

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

TiKVHashAggImpl is the implementation of PhysicalHashAgg in TiKV layer.

func NewTiKVHashAggImpl Uses

func NewTiKVHashAggImpl(agg *plannercore.PhysicalHashAgg) *TiKVHashAggImpl

NewTiKVHashAggImpl creates a new TiKVHashAggImpl.

func (*TiKVHashAggImpl) AttachChildren Uses

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

func (*TiKVHashAggImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*TiKVHashAggImpl) GetCost Uses

func (impl *TiKVHashAggImpl) GetCost() float64

func (*TiKVHashAggImpl) GetCostLimit Uses

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

func (*TiKVHashAggImpl) GetPlan Uses

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

func (*TiKVHashAggImpl) ScaleCostLimit Uses

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

func (*TiKVHashAggImpl) SetCost Uses

func (impl *TiKVHashAggImpl) SetCost(cost float64)

type TiKVSelectionImpl Uses

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

TiKVSelectionImpl is the implementation of PhysicalSelection in TiKV layer.

func NewTiKVSelectionImpl Uses

func NewTiKVSelectionImpl(sel *plannercore.PhysicalSelection) *TiKVSelectionImpl

NewTiKVSelectionImpl creates a new TiKVSelectionImpl.

func (*TiKVSelectionImpl) AttachChildren Uses

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

func (*TiKVSelectionImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*TiKVSelectionImpl) GetCost Uses

func (impl *TiKVSelectionImpl) GetCost() float64

func (*TiKVSelectionImpl) GetCostLimit Uses

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

func (*TiKVSelectionImpl) GetPlan Uses

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

func (*TiKVSelectionImpl) ScaleCostLimit Uses

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

func (*TiKVSelectionImpl) SetCost Uses

func (impl *TiKVSelectionImpl) SetCost(cost float64)

type TiKVTopNImpl Uses

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

TiKVTopNImpl is the implementation of PhysicalTopN in TiKV layer.

func NewTiKVTopNImpl Uses

func NewTiKVTopNImpl(topN *plannercore.PhysicalTopN) *TiKVTopNImpl

NewTiKVTopNImpl creates a new TiKVTopNImpl.

func (*TiKVTopNImpl) AttachChildren Uses

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

func (*TiKVTopNImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*TiKVTopNImpl) GetCost Uses

func (impl *TiKVTopNImpl) GetCost() float64

func (*TiKVTopNImpl) GetCostLimit Uses

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

func (*TiKVTopNImpl) GetPlan Uses

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

func (*TiKVTopNImpl) ScaleCostLimit Uses

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

func (*TiKVTopNImpl) SetCost Uses

func (impl *TiKVTopNImpl) SetCost(cost float64)

type UnionAllImpl Uses

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

UnionAllImpl is the implementation of PhysicalUnionAll.

func NewUnionAllImpl Uses

func NewUnionAllImpl(union *plannercore.PhysicalUnionAll) *UnionAllImpl

NewUnionAllImpl creates a new UnionAllImpl.

func (*UnionAllImpl) AttachChildren Uses

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

func (*UnionAllImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*UnionAllImpl) GetCost Uses

func (impl *UnionAllImpl) GetCost() float64

func (*UnionAllImpl) GetCostLimit Uses

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

GetCostLimit implements Implementation interface.

func (*UnionAllImpl) GetPlan Uses

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

func (*UnionAllImpl) ScaleCostLimit Uses

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

func (*UnionAllImpl) SetCost Uses

func (impl *UnionAllImpl) SetCost(cost float64)

type WindowImpl Uses

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

WindowImpl is the implementation of PhysicalWindow.

func NewWindowImpl Uses

func NewWindowImpl(window *plannercore.PhysicalWindow) *WindowImpl

NewWindowImpl creates a new WindowImpl.

func (*WindowImpl) AttachChildren Uses

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

func (*WindowImpl) CalcCost Uses

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

CalcCost implements Implementation CalcCost interface.

func (*WindowImpl) GetCost Uses

func (impl *WindowImpl) GetCost() float64

func (*WindowImpl) GetCostLimit Uses

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

func (*WindowImpl) GetPlan Uses

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

func (*WindowImpl) ScaleCostLimit Uses

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

func (*WindowImpl) SetCost Uses

func (impl *WindowImpl) SetCost(cost float64)

Package implementation imports 6 packages (graph) and is imported by 7 packages. Updated 2020-05-30. Refresh now. Tools for package owners.