Documentation
¶
Index ¶
- Variables
- func CheckIndexCanBeKey(idx *model.IndexInfo, columns []*model.ColumnInfo, schema *expression.Schema) (uniqueKey, newKey expression.KeyInfo)
- func CheckMaxOneRowCond(eqColIDs map[int64]struct{}, childSchema *expression.Schema) bool
- func IsColsAllFromOuterTable(cols []*expression.Column, outerUniqueIDs *intset.FastIntSet) bool
- func ReplaceColumnOfExpr(expr expression.Expression, exprs []expression.Expression, ...) expression.Expression
- func ResolveColumnAndReplace(origin *expression.Column, replace map[string]*expression.Column)
- func ResolveExprAndReplace(origin expression.Expression, replace map[string]*expression.Column)
Constants ¶
This section is empty.
Variables ¶
var BuildKeyInfoPortal func(lp base.LogicalPlan)
BuildKeyInfoPortal is a hook for other packages to build key info for logical plan.
var SetPredicatePushDownFlag func(uint64) uint64
SetPredicatePushDownFlag is a hook for other packages to set rule flag.
Functions ¶
func CheckIndexCanBeKey ¶
func CheckIndexCanBeKey(idx *model.IndexInfo, columns []*model.ColumnInfo, schema *expression.Schema) (uniqueKey, newKey expression.KeyInfo)
CheckIndexCanBeKey checks whether an Index can be a Key in schema.
func CheckMaxOneRowCond ¶
func CheckMaxOneRowCond(eqColIDs map[int64]struct{}, childSchema *expression.Schema) bool
CheckMaxOneRowCond check if a condition is the form of (uniqueKey = constant) or (uniqueKey = Correlated column), it returns at most one row.
func IsColsAllFromOuterTable ¶
func IsColsAllFromOuterTable(cols []*expression.Column, outerUniqueIDs *intset.FastIntSet) bool
IsColsAllFromOuterTable check whether the cols all from outer plan
func ReplaceColumnOfExpr ¶
func ReplaceColumnOfExpr(expr expression.Expression, exprs []expression.Expression, schema *expression.Schema) expression.Expression
ReplaceColumnOfExpr replaces column of expression by another LogicalProjection.
func ResolveColumnAndReplace ¶
func ResolveColumnAndReplace(origin *expression.Column, replace map[string]*expression.Column)
ResolveColumnAndReplace replaces columns fields of expressions by children logical plans.
func ResolveExprAndReplace ¶
func ResolveExprAndReplace(origin expression.Expression, replace map[string]*expression.Column)
ResolveExprAndReplace replaces columns fields of expressions by children logical plans.
Types ¶
This section is empty.