Documentation ¶
Index ¶
- func IsReadOnly(node ast.Node, vars *variable.SessionVars) bool
- func Optimize(ctx context.Context, sctx sessionctx.Context, node *resolve.NodeW, ...) (plan base.Plan, slice types.NameSlice, retErr error)
- func OptimizeExecStmt(ctx context.Context, sctx sessionctx.Context, execAst *resolve.NodeW, ...) (base.Plan, types.NameSlice, error)
- func OptimizeForForeignKeyCascade(ctx context.Context, sctx planctx.PlanContext, node *resolve.NodeW, ...) (base.Plan, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsReadOnly ¶
func IsReadOnly(node ast.Node, vars *variable.SessionVars) bool
IsReadOnly check whether the ast.Node is a read only statement.
func Optimize ¶
func Optimize(ctx context.Context, sctx sessionctx.Context, node *resolve.NodeW, is infoschema.InfoSchema) (plan base.Plan, slice types.NameSlice, retErr error)
Optimize does optimization and creates a Plan.
func OptimizeExecStmt ¶
func OptimizeExecStmt(ctx context.Context, sctx sessionctx.Context, execAst *resolve.NodeW, is infoschema.InfoSchema) (base.Plan, types.NameSlice, error)
OptimizeExecStmt to handle the "execute" statement
func OptimizeForForeignKeyCascade ¶
func OptimizeForForeignKeyCascade(ctx context.Context, sctx planctx.PlanContext, node *resolve.NodeW, is infoschema.InfoSchema) (base.Plan, error)
OptimizeForForeignKeyCascade does optimization and creates a Plan for foreign key cascade. Compare to Optimize, OptimizeForForeignKeyCascade only build plan by StmtNode, doesn't consider plan cache and plan binding, also doesn't do privilege check.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.