Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildPBContext ¶
type BuildPBContext struct { ExprCtx exprctx.BuildContext Client kv.Client TiFlashFastScan bool TiFlashFineGrainedShuffleBatchSize uint64 // the following fields are used to build `expression.PushDownContext`. // TODO: it'd be better to embed `expression.PushDownContext` in `BuildPBContext`. But `expression` already // depends on this package, so we need to move `expression.PushDownContext` to a standalone package first. GroupConcatMaxLen uint64 InExplainStmt bool WarnHandler contextutil.WarnAppender ExtraWarnghandler contextutil.WarnAppender }
BuildPBContext is used to build the `*tipb.Executor` according to the plan.
func (*BuildPBContext) Detach ¶
func (b *BuildPBContext) Detach(staticExprCtx exprctx.BuildContext) *BuildPBContext
Detach detaches this context from the session context.
NOTE: Though this session context can be used parallelly with this context after calling it, the `StatementContext` cannot. The session context should create a new `StatementContext` before executing another statement.
func (*BuildPBContext) GetClient ¶
func (b *BuildPBContext) GetClient() kv.Client
GetClient returns the kv client.
func (*BuildPBContext) GetExprCtx ¶
func (b *BuildPBContext) GetExprCtx() exprctx.BuildContext
GetExprCtx returns the expression context.
type EmptyPlanContextExtended ¶
type EmptyPlanContextExtended struct{}
EmptyPlanContextExtended is used to provide some empty implementations for PlanContext. It is used by some mock contexts that are only required to implement PlanContext but do not care about the actual implementation.
func (EmptyPlanContextExtended) AdviseTxnWarmup ¶
func (EmptyPlanContextExtended) AdviseTxnWarmup() error
AdviseTxnWarmup advises the txn to warm up.
type PlanContext ¶
type PlanContext interface { contextutil.ValueStoreContext tablelock.TableLockReadContext // GetSQLExecutor gets the SQLExecutor. GetSQLExecutor() sqlexec.SQLExecutor // GetRestrictedSQLExecutor gets the RestrictedSQLExecutor. GetRestrictedSQLExecutor() sqlexec.RestrictedSQLExecutor // GetExprCtx gets the expression context. GetExprCtx() exprctx.ExprContext // GetNullRejectCheckExprCtx gets the expression context with null rejected check. GetNullRejectCheckExprCtx() exprctx.ExprContext // GetStore returns the store of session. GetStore() kv.Storage // GetSessionVars gets the session variables. GetSessionVars() *variable.SessionVars // GetDomainInfoSchema returns the latest information schema in domain // Different with `domain.InfoSchema()`, the information schema returned by this method // includes the temporary table definitions stored in session GetDomainInfoSchema() infoschema.MetaOnlyInfoSchema // GetInfoSchema returns the current infoschema GetInfoSchema() infoschema.MetaOnlyInfoSchema // UpdateColStatsUsage updates the column stats usage. UpdateColStatsUsage(predicateColumns []model.TableItemID) // GetClient gets a kv.Client. GetClient() kv.Client // GetMPPClient gets a kv.MPPClient. GetMPPClient() kv.MPPClient // GetSessionManager gets the session manager. GetSessionManager() util.SessionManager // Txn returns the current transaction which is created before executing a statement. // The returned kv.Transaction is not nil, but it maybe pending or invalid. // If the active parameter is true, call this function will wait for the pending txn // to become valid. Txn(active bool) (kv.Transaction, error) // HasDirtyContent checks whether there's dirty update on the given table. HasDirtyContent(tid int64) bool // AdviseTxnWarmup advises the txn to warm up. AdviseTxnWarmup() error // GetRangerCtx returns the context used in `ranger` functions GetRangerCtx() *rangerctx.RangerContext // GetBuildPBCtx returns the context used in `ToPB` method. GetBuildPBCtx() *BuildPBContext }
PlanContext is the context for building plan.