Documentation ¶
Index ¶
- type ApplyImpl
- func (impl *ApplyImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *ApplyImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *ApplyImpl) GetCost() float64
- func (impl *ApplyImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *ApplyImpl) GetPlan() plannercore.PhysicalPlan
- func (*ApplyImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *ApplyImpl) SetCost(cost float64)
- type HashJoinImpl
- func (impl *HashJoinImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *HashJoinImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *HashJoinImpl) GetCost() float64
- func (*HashJoinImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *HashJoinImpl) GetPlan() plannercore.PhysicalPlan
- func (*HashJoinImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *HashJoinImpl) SetCost(cost float64)
- type IndexReaderImpl
- func (impl *IndexReaderImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *IndexReaderImpl) CalcCost(outCount float64, children ...memo.Implementation) float64
- func (impl *IndexReaderImpl) GetCost() float64
- func (impl *IndexReaderImpl) GetCostLimit(costLimit float64, _ ...memo.Implementation) float64
- func (impl *IndexReaderImpl) GetPlan() plannercore.PhysicalPlan
- func (*IndexReaderImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *IndexReaderImpl) SetCost(cost float64)
- type IndexScanImpl
- func (impl *IndexScanImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *IndexScanImpl) CalcCost(outCount float64, _ ...memo.Implementation) float64
- func (impl *IndexScanImpl) GetCost() float64
- func (*IndexScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *IndexScanImpl) GetPlan() plannercore.PhysicalPlan
- func (*IndexScanImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *IndexScanImpl) SetCost(cost float64)
- type LimitImpl
- func (impl *LimitImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *LimitImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *LimitImpl) GetCost() float64
- func (*LimitImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *LimitImpl) GetPlan() plannercore.PhysicalPlan
- func (*LimitImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *LimitImpl) SetCost(cost float64)
- type MaxOneRowImpl
- func (impl *MaxOneRowImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *MaxOneRowImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *MaxOneRowImpl) GetCost() float64
- func (*MaxOneRowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *MaxOneRowImpl) GetPlan() plannercore.PhysicalPlan
- func (*MaxOneRowImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *MaxOneRowImpl) SetCost(cost float64)
- type MemTableScanImpl
- func (impl *MemTableScanImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (*MemTableScanImpl) CalcCost(_ float64, _ ...memo.Implementation) float64
- func (impl *MemTableScanImpl) GetCost() float64
- func (*MemTableScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *MemTableScanImpl) GetPlan() plannercore.PhysicalPlan
- func (*MemTableScanImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *MemTableScanImpl) SetCost(cost float64)
- type MergeJoinImpl
- func (impl *MergeJoinImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *MergeJoinImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *MergeJoinImpl) GetCost() float64
- func (*MergeJoinImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *MergeJoinImpl) GetPlan() plannercore.PhysicalPlan
- func (*MergeJoinImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *MergeJoinImpl) SetCost(cost float64)
- type NominalSortImpl
- func (*NominalSortImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *NominalSortImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *NominalSortImpl) GetCost() float64
- func (*NominalSortImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *NominalSortImpl) GetPlan() plannercore.PhysicalPlan
- func (*NominalSortImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *NominalSortImpl) SetCost(cost float64)
- type ProjectionImpl
- func (impl *ProjectionImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *ProjectionImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *ProjectionImpl) GetCost() float64
- func (*ProjectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *ProjectionImpl) GetPlan() plannercore.PhysicalPlan
- func (*ProjectionImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *ProjectionImpl) SetCost(cost float64)
- type ShowImpl
- func (impl *ShowImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *ShowImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *ShowImpl) GetCost() float64
- func (*ShowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *ShowImpl) GetPlan() plannercore.PhysicalPlan
- func (*ShowImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *ShowImpl) SetCost(cost float64)
- type SortImpl
- func (impl *SortImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *SortImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *SortImpl) GetCost() float64
- func (*SortImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *SortImpl) GetPlan() plannercore.PhysicalPlan
- func (*SortImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *SortImpl) SetCost(cost float64)
- type TableDualImpl
- func (impl *TableDualImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (*TableDualImpl) CalcCost(_ float64, _ ...memo.Implementation) float64
- func (impl *TableDualImpl) GetCost() float64
- func (*TableDualImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TableDualImpl) GetPlan() plannercore.PhysicalPlan
- func (*TableDualImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TableDualImpl) SetCost(cost float64)
- type TableReaderImpl
- func (impl *TableReaderImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *TableReaderImpl) CalcCost(outCount float64, children ...memo.Implementation) float64
- func (impl *TableReaderImpl) GetCost() float64
- func (impl *TableReaderImpl) GetCostLimit(costLimit float64, _ ...memo.Implementation) float64
- func (impl *TableReaderImpl) GetPlan() plannercore.PhysicalPlan
- func (*TableReaderImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TableReaderImpl) SetCost(cost float64)
- type TableScanImpl
- func (impl *TableScanImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *TableScanImpl) CalcCost(outCount float64, _ ...memo.Implementation) float64
- func (impl *TableScanImpl) GetCost() float64
- func (*TableScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TableScanImpl) GetPlan() plannercore.PhysicalPlan
- func (*TableScanImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TableScanImpl) SetCost(cost float64)
- type TiDBHashAggImpl
- func (agg *TiDBHashAggImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (agg *TiDBHashAggImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *TiDBHashAggImpl) GetCost() float64
- func (*TiDBHashAggImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TiDBHashAggImpl) GetPlan() plannercore.PhysicalPlan
- func (*TiDBHashAggImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TiDBHashAggImpl) SetCost(cost float64)
- type TiDBSelectionImpl
- func (impl *TiDBSelectionImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (sel *TiDBSelectionImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *TiDBSelectionImpl) GetCost() float64
- func (*TiDBSelectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TiDBSelectionImpl) GetPlan() plannercore.PhysicalPlan
- func (*TiDBSelectionImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TiDBSelectionImpl) SetCost(cost float64)
- type TiDBTopNImpl
- func (impl *TiDBTopNImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *TiDBTopNImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *TiDBTopNImpl) GetCost() float64
- func (*TiDBTopNImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TiDBTopNImpl) GetPlan() plannercore.PhysicalPlan
- func (*TiDBTopNImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TiDBTopNImpl) SetCost(cost float64)
- type TiKVHashAggImpl
- func (impl *TiKVHashAggImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (agg *TiKVHashAggImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *TiKVHashAggImpl) GetCost() float64
- func (*TiKVHashAggImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TiKVHashAggImpl) GetPlan() plannercore.PhysicalPlan
- func (*TiKVHashAggImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TiKVHashAggImpl) SetCost(cost float64)
- type TiKVSelectionImpl
- func (impl *TiKVSelectionImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (sel *TiKVSelectionImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *TiKVSelectionImpl) GetCost() float64
- func (*TiKVSelectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TiKVSelectionImpl) GetPlan() plannercore.PhysicalPlan
- func (*TiKVSelectionImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TiKVSelectionImpl) SetCost(cost float64)
- type TiKVTopNImpl
- func (impl *TiKVTopNImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *TiKVTopNImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *TiKVTopNImpl) GetCost() float64
- func (*TiKVTopNImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *TiKVTopNImpl) GetPlan() plannercore.PhysicalPlan
- func (*TiKVTopNImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *TiKVTopNImpl) SetCost(cost float64)
- type UnionAllImpl
- func (impl *UnionAllImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *UnionAllImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *UnionAllImpl) GetCost() float64
- func (*UnionAllImpl) GetCostLimit(costLimit float64, _ ...memo.Implementation) float64
- func (impl *UnionAllImpl) GetPlan() plannercore.PhysicalPlan
- func (*UnionAllImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *UnionAllImpl) SetCost(cost float64)
- type WindowImpl
- func (impl *WindowImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
- func (impl *WindowImpl) CalcCost(_ float64, children ...memo.Implementation) float64
- func (impl *WindowImpl) GetCost() float64
- func (*WindowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
- func (impl *WindowImpl) GetPlan() plannercore.PhysicalPlan
- func (*WindowImpl) ScaleCostLimit(costLimit float64) float64
- func (impl *WindowImpl) SetCost(cost float64)
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
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 ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*HashJoinImpl) GetCostLimit ¶
func (*HashJoinImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*HashJoinImpl) GetPlan ¶
func (impl *HashJoinImpl) GetPlan() plannercore.PhysicalPlan
func (*HashJoinImpl) ScaleCostLimit ¶
type IndexReaderImpl ¶
type IndexReaderImpl struct {
// contains filtered or unexported fields
}
IndexReaderImpl is the implementation of PhysicalIndexReader.
func NewIndexReaderImpl ¶
func NewIndexReaderImpl(reader *plannercore.PhysicalIndexReader, source *plannercore.DataSource) *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) GetCostLimit ¶
func (impl *IndexReaderImpl) GetCostLimit(costLimit float64, _ ...memo.Implementation) float64
GetCostLimit implements Implementation interface.
func (*IndexReaderImpl) GetPlan ¶
func (impl *IndexReaderImpl) GetPlan() plannercore.PhysicalPlan
func (*IndexReaderImpl) ScaleCostLimit ¶
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, _ ...memo.Implementation) float64
CalcCost implements Implementation interface.
func (*IndexScanImpl) GetCostLimit ¶
func (*IndexScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*IndexScanImpl) GetPlan ¶
func (impl *IndexScanImpl) GetPlan() plannercore.PhysicalPlan
func (*IndexScanImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
func (*LimitImpl) GetCostLimit ¶
func (*LimitImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*LimitImpl) GetPlan ¶
func (impl *LimitImpl) GetPlan() plannercore.PhysicalPlan
func (*LimitImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*MaxOneRowImpl) GetCostLimit ¶
func (*MaxOneRowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*MaxOneRowImpl) GetPlan ¶
func (impl *MaxOneRowImpl) GetPlan() plannercore.PhysicalPlan
func (*MaxOneRowImpl) ScaleCostLimit ¶
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 (*MemTableScanImpl) CalcCost(_ float64, _ ...memo.Implementation) float64
CalcCost calculates the cost of the table dual Implementation.
func (*MemTableScanImpl) GetCostLimit ¶
func (*MemTableScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*MemTableScanImpl) GetPlan ¶
func (impl *MemTableScanImpl) GetPlan() plannercore.PhysicalPlan
func (*MemTableScanImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*MergeJoinImpl) GetCostLimit ¶
func (*MergeJoinImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*MergeJoinImpl) GetPlan ¶
func (impl *MergeJoinImpl) GetPlan() plannercore.PhysicalPlan
func (*MergeJoinImpl) ScaleCostLimit ¶
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 (*NominalSortImpl) AttachChildren(children ...memo.Implementation) memo.Implementation
AttachChildren implements Implementation AttachChildren interface.
func (*NominalSortImpl) CalcCost ¶
func (impl *NominalSortImpl) CalcCost(_ float64, children ...memo.Implementation) float64
func (*NominalSortImpl) GetCostLimit ¶
func (*NominalSortImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*NominalSortImpl) GetPlan ¶
func (impl *NominalSortImpl) GetPlan() plannercore.PhysicalPlan
func (*NominalSortImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*ProjectionImpl) GetCostLimit ¶
func (*ProjectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*ProjectionImpl) GetPlan ¶
func (impl *ProjectionImpl) GetPlan() plannercore.PhysicalPlan
func (*ProjectionImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
func (*ShowImpl) GetCostLimit ¶
func (*ShowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*ShowImpl) GetPlan ¶
func (impl *ShowImpl) GetPlan() plannercore.PhysicalPlan
func (*ShowImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost calculates the cost of the sort Implementation.
func (*SortImpl) GetCostLimit ¶
func (*SortImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*SortImpl) GetPlan ¶
func (impl *SortImpl) GetPlan() plannercore.PhysicalPlan
func (*SortImpl) ScaleCostLimit ¶
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 (*TableDualImpl) CalcCost(_ float64, _ ...memo.Implementation) float64
CalcCost calculates the cost of the table dual Implementation.
func (*TableDualImpl) GetCostLimit ¶
func (*TableDualImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TableDualImpl) GetPlan ¶
func (impl *TableDualImpl) GetPlan() plannercore.PhysicalPlan
func (*TableDualImpl) ScaleCostLimit ¶
type TableReaderImpl ¶
type TableReaderImpl struct {
// contains filtered or unexported fields
}
TableReaderImpl implementation of PhysicalTableReader.
func NewTableReaderImpl ¶
func NewTableReaderImpl(reader *plannercore.PhysicalTableReader, source *plannercore.DataSource) *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) GetCostLimit ¶
func (impl *TableReaderImpl) GetCostLimit(costLimit float64, _ ...memo.Implementation) float64
GetCostLimit implements Implementation interface.
func (*TableReaderImpl) GetPlan ¶
func (impl *TableReaderImpl) GetPlan() plannercore.PhysicalPlan
func (*TableReaderImpl) ScaleCostLimit ¶
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, _ ...memo.Implementation) float64
CalcCost calculates the cost of the table scan Implementation.
func (*TableScanImpl) GetCostLimit ¶
func (*TableScanImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TableScanImpl) GetPlan ¶
func (impl *TableScanImpl) GetPlan() plannercore.PhysicalPlan
func (*TableScanImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*TiDBHashAggImpl) GetCostLimit ¶
func (*TiDBHashAggImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TiDBHashAggImpl) GetPlan ¶
func (impl *TiDBHashAggImpl) GetPlan() plannercore.PhysicalPlan
func (*TiDBHashAggImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*TiDBSelectionImpl) GetCostLimit ¶
func (*TiDBSelectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TiDBSelectionImpl) GetPlan ¶
func (impl *TiDBSelectionImpl) GetPlan() plannercore.PhysicalPlan
func (*TiDBSelectionImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*TiDBTopNImpl) GetCostLimit ¶
func (*TiDBTopNImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TiDBTopNImpl) GetPlan ¶
func (impl *TiDBTopNImpl) GetPlan() plannercore.PhysicalPlan
func (*TiDBTopNImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*TiKVHashAggImpl) GetCostLimit ¶
func (*TiKVHashAggImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TiKVHashAggImpl) GetPlan ¶
func (impl *TiKVHashAggImpl) GetPlan() plannercore.PhysicalPlan
func (*TiKVHashAggImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*TiKVSelectionImpl) GetCostLimit ¶
func (*TiKVSelectionImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TiKVSelectionImpl) GetPlan ¶
func (impl *TiKVSelectionImpl) GetPlan() plannercore.PhysicalPlan
func (*TiKVSelectionImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*TiKVTopNImpl) GetCostLimit ¶
func (*TiKVTopNImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*TiKVTopNImpl) GetPlan ¶
func (impl *TiKVTopNImpl) GetPlan() plannercore.PhysicalPlan
func (*TiKVTopNImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*UnionAllImpl) GetCostLimit ¶
func (*UnionAllImpl) GetCostLimit(costLimit float64, _ ...memo.Implementation) float64
GetCostLimit implements Implementation interface.
func (*UnionAllImpl) GetPlan ¶
func (impl *UnionAllImpl) GetPlan() plannercore.PhysicalPlan
func (*UnionAllImpl) ScaleCostLimit ¶
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(_ float64, children ...memo.Implementation) float64
CalcCost implements Implementation CalcCost interface.
func (*WindowImpl) GetCostLimit ¶
func (*WindowImpl) GetCostLimit(costLimit float64, children ...memo.Implementation) float64
func (*WindowImpl) GetPlan ¶
func (impl *WindowImpl) GetPlan() plannercore.PhysicalPlan