package
9.0.0-alpha+incompatible
Repository: https://github.com/pingcap/tidb.git
Documentation: pkg.go.dev
# Functions
AddExtraPhysTblIDColumn for partition table.
AllocMPPQueryID allocates local query id for mpp queries.
AllocMPPTaskID allocates task id for mpp tasks.
AsSctx converts PlanContext to sessionctx.Context.
BinaryPlanStrFromFlatPlan generates the compressed and encoded binary plan from a FlatPhysicalPlan.
BuildFinalModeAggregation splits either LogicalAggregation or PhysicalAggregation to finalAgg and partial1Agg, returns the information of partial and final agg.
BuildHandleColsForAnalyze returns HandleCols for ANALYZE.
BuildLogicalPlanForTest builds a logical plan for testing purpose from ast.Node.
BuildMergeJoinPlan builds a PhysicalMergeJoin from the given fields.
BuildPhysicalJoinSchema builds the schema of PhysicalJoin from it's children's schema.
Cacheable checks whether the input ast(query) is cacheable with empty session context, which is mainly for testing.
CacheableWithCtx checks whether the input ast(query) is cacheable.
CascadesOptimize includes: normalization, cascadesOptimize, and physicalOptimize.
CheckAggCanPushCop checks whether the aggFuncs and groupByItems can be pushed down to coprocessor.
CheckCanConvertAggToProj check whether a special old aggregation (which has already been pushed down) to projection.
CheckParamTypeInt64orUint64 check param type for plan cache limit, only allow int64 and uint64 now eg: set @a = 1;.
CheckPrivilege checks the privilege for a user.
CheckTableLock checks the table lock.
CheckUpdateList checks all related columns in updatable state.
CollectColumnStatsUsage collects column stats usage from logical plan.
CollectDependingVirtualCols collects the virtual columns that depend on the needed columns, and returns them in a new slice.
CollectFilters4MVIndexMutations exported for unit test.
CollectPlanStatsVersion uses to collect the statistics version of the plan.
ContainHeavyFunction check if the expr contains a function that need to do HeavyFunctionOptimize.
ConvertAggToProj convert aggregation to projection.
DebugTraceBestBinding records the chosen hint to the debug trace.
DebugTraceReceivedCommand records the received command from the client to the debug trace.
DebugTraceTryBinding records the hint that might be chosen to the debug trace.
DoOptimize optimizes a logical plan to a physical plan.
EncodeFlatPlan encodes a FlatPhysicalPlan with compression.
EncodePlan is used to encodePlan the plan to the plan tree with compressing.
EncodeUniqueIndexKey encodes a unique index key.
EncodeUniqueIndexValuesForKey encodes unique index values for a key.
EraseLastSemicolon removes last semicolon of sql.
EraseLastSemicolonInSQL removes last semicolon of the SQL.
ExpandVirtualColumn expands the virtual column's dependent columns to ts's schema and column.
ExtractOuterApplyCorrelatedCols only extract the correlated columns whose corresponding Apply operator is outside the plan.
ExtractTableList is a wrapper for tableListExtractor and removes duplicate TableName If asName is true, extract AsName prior to OrigName.
FastClonePointGetForPlanCache is a fast path to clone a PointGetPlan for plan cache.
FDToString explains fd transfer over a Plan, returns description string.
FindColumnInfoByID finds ColumnInfo in cols by ID.
FindPredicateType determines the type of predicate represented by a given expression.
FlattenPhysicalPlan generates a FlatPhysicalPlan from a PhysicalPlan, Insert, Delete, Update, Explain or Execute.
GeneratePlanCacheStmtWithAST generates the PlanCacheStmt structure for this AST.
GenerateRootMPPTasks generate all mpp tasks and return root ones.
GenHintsFromFlatPlan generates hints from a FlatPhysicalPlan.
GenHintsFromPhysicalPlan generates hints from physical plan.
GetDBTableInfo gets the accessed dbs and tables info.
GetDupAgnosticAggCols checks whether a base.LogicalPlan is LogicalAggregation.
GetExplainAnalyzeRowsForPlan get explain rows for plan.
GetExplainRowsForPlan get explain rows for plan.
GetHashJoin is public for cascades planner.
GetMaxWriteSpeedFromExpression gets the numeric value of the max write speed from the expression.
GetMergeJoin convert the logical join to physical merge join based on the physical property.
GetParamSQLFromAST returns the parameterized SQL of this AST.
GetPhysicalIDsAndPartitionNames returns physical IDs and names of these partitions.
GetPhysicalIndexReader returns PhysicalIndexReader for logical TiKVSingleGather.
GetPhysicalIndexScan4LogicalIndexScan returns PhysicalIndexScan for the logical IndexScan.
GetPhysicalScan4LogicalTableScan returns PhysicalTableScan for the LogicalTableScan.
GetPhysicalTableReader returns PhysicalTableReader for logical TiKVSingleGather.
GetPlanCost returns the cost of this plan.
GetPlanFromPlanCache is the entry point of Plan Cache.
GetPreparedStmt extract the prepared statement from the execute statement.
GetPropByOrderByItems will check if this sort property can be pushed or not.
GetPropByOrderByItemsContainScalarFunc will check if this sort property can be pushed or not.
GetStats4Test is a exporter just for test.
GetStatsInfo gets the statistics info from a physical plan tree.
GetStatsInfoFromFlatPlan gets the statistics info from a FlatPhysicalPlan.
GetThreadOrBatchSizeFromExpression gets the numeric value of the thread or batch size from the expression.
GetUpdateColumnsInfo get the update columns info.
InitTxnContextProvider is a PreprocessOpt that indicates preprocess should init transaction's context.
InjectExtraProjection is used to extract the expressions of specific operators into a physical Projection operator and inject the Projection below the operators.
InjectProjBelowAgg injects a ProjOperator below AggOperator.
InjectProjBelowSort extracts the ScalarFunctions of `orderByItems` into a PhysicalProjection and injects it below PhysicalTopN/PhysicalSort.
InPrepare is a PreprocessOpt that indicates preprocess is executing under prepare statement.
InTxnRetry is a PreprocessOpt that indicates preprocess is executing under transaction retry.
IsASTCacheable checks whether the input ast(query) is cacheable.
IsAutoCommitTxn checks if session is in autocommit mode and not InTxn used for fast plan like point get.
IsColsAllFromOuterTable check whether the cols all from outer plan.
IsDefaultExprSameColumn - DEFAULT or col = DEFAULT(col).
IsPointGetWithPKOrUniqueKeyByAutoCommit returns true when meets following conditions: 1.
IsSafeToReusePointGetExecutor checks whether this is a PointGet Plan and safe to reuse its executor.
JSONToString convert json to string.
LogicalOptimizeTest is just exported for test.
MatchItems checks if this prop's columns can match by items totally.
MockContext is only used for plan related tests.
MockGlobalIndexHashPartitionTable mocks a hash partition table with global index for test.
MockHashPartitionTable mocks a hash partition table for test.
MockListPartitionTable mocks a list partition table for test.
MockNoPKTable is only used for plan related tests.
MockPartitionInfoSchema mocks an info schema for partition table.
MockRangePartitionTable mocks a range partition table for test.
MockSignedTable is only used for plan related tests.
MockStateNoneColumnTable is only used for plan related tests.
MockUnsignedTable is only used for plan related tests.
MockView is only used for plan related tests.
NewInfoSchemaCheckConstraintsExtractor creates a new InfoSchemaCheckConstraintsExtractor.
NewInfoSchemaColumnsExtractor creates a new InfoSchemaColumnsExtractor.
NewInfoSchemaDDLExtractor creates a new InfoSchemaDDLExtractor.
NewInfoSchemaIndexesExtractor creates a new InfoSchemaIndexesExtractor.
NewInfoSchemaKeyColumnUsageExtractor creates a new InfoSchemaKeyColumnUsageExtractor.
NewInfoSchemaPartitionsExtractor creates a new InfoSchemaPartitionsExtractor.
NewInfoSchemaReferConstExtractor creates a new InfoSchemaReferConstExtractor.
NewInfoSchemaSchemataExtractor creates a new InfoSchemaSchemataExtractor.
NewInfoSchemaSequenceExtractor creates a new InfoSchemaSequenceExtractor.
NewInfoSchemaStatisticsExtractor creates a new InfoSchemaStatisticsExtractor.
NewInfoSchemaTableConstraintsExtractor creates a new InfoSchemaTableConstraintsExtractor.
NewInfoSchemaTablesExtractor creates a new InfoSchemaTablesExtractor.
NewInfoSchemaTiDBCheckConstraintsExtractor creates a new InfoSchemaTiDBCheckConstraintsExtractor.
NewInfoSchemaTiDBIndexUsageExtractor creates a new InfoSchemaTiDBIndexUsageExtractor.
NewInfoSchemaViewsExtractor creates a new InfoSchemaViewsExtractor.
NewInstancePlanCache creates a new instance level plan cache.
NewLineFieldsInfo new LineFieldsInfo from FIELDS/LINES info.
NewLRUPlanCache creates a PCLRUCache object, whose capacity is "capacity".
NewPBPlanBuilder creates a new pb plan builder.
NewPhysicalHashAgg creates a new PhysicalHashAgg from a LogicalAggregation.
NewPhysicalHashJoin creates a new PhysicalHashJoin from LogicalJoin.
NewPlanBuilder creates a new PlanBuilder.
NewPlanCacheKey creates the plan cache key for this statement.
NewPlanCacheValue creates a SQLCacheValue.
NewProjInjector builds a projInjector.
NewRuntimeFilter construct runtime filter by Join and equal predicate of Join.
NonPreparedPlanCacheableWithCtx checks whether this SQL is cacheable for non-prepared plan cache.
NormalizeFlatPlan normalizes a FlatPhysicalPlan and generates plan digest.
NormalizePlan is used to normalize the plan and generate plan digest.
ParameterizeAST parameterizes this StmtNode.
Params2Expressions converts these parameters to an expression list.
ParseParameterizedSQL parse this parameterized SQL with the specified sctx.
PartitionPruning finds all used partitions according to query conditions, it will return nil if condition match none of partitions.
PrepareIdxColsAndUnwrapArrayType collects columns for an index and returns them as []*expression.Column.
Preprocess resolves table names of the node, and checks some statements' validation.
PushedDown is used to push down the selected conditions from PhysicalSelection to PhysicalTableScan.
RebuildPlan4CachedPlan will rebuild this plan under current user parameters.
RecheckCTE fills the IsOuterMostCTE field for CTEs.
RecursiveDeriveStats4Test is a exporter just for test.
RemoveUnnecessaryFirstRow removes unnecessary FirstRow of the aggregation.
ReplaceColumnOfExpr replaces column of expression by another LogicalProjection.
RequestLoadStats send load column/index stats requests to stats handle.
RestoreASTWithParams restore this parameterized AST with specific parameters.
RuntimeFilterListToPB convert runtime filter list to PB list.
SafeClone clones this op.PhysicalPlan and handles its panic.
SetParameterValuesIntoSCtx sets these parameters into session context.
SplitSelCondsWithVirtualColumn filter the select conditions which contain virtual column.
SubstituteExpression is Exported for bench.
SyncWaitStatsLoad sync-wait for stats load until timeout.
ToString explains a Plan, returns description string.
TryAddExtraLimit trys to add an extra limit for SELECT or UNION statement when sql_select_limit is set.
TryFastPlan tries to use the PointGetPlan for the query.
TurnNominalSortIntoProj will turn nominal sort into two projections.
VisitInfo4PrivCheck generates privilege check infos because privilege check of local temporary tables is different with normal tables.
VolcanoOptimize includes: logicalOptimize, physicalOptimize.
WithPreprocessorReturn returns a PreprocessOpt to initialize the PreprocessorReturn.
# Constants
AlterDDLJobBatchSize alter reorg batch size.
AlterDDLJobMaxWriteSpeed alter reorg max write speed.
AlterDDLJobThread alter reorg worker count.
BatchCop means read from storage by BatchCop request, only used for TiFlash.
BuildRowCountLbl indicates rowCount on build side.
BuildSide means this operator is at the build side of its parent.
revive:disable:exported.
ConcurrencyFactorLbl indicates for concurrency factor.
revive:disable:exported.
revive:disable:exported.
Cop means read from storage by cop request.
CPUCostDescLbl indicates description for cpu cost.
CPUCostDetailLbl indicates cpuCost detail.
CPUFactorLbl indicates cpu factor.
revive:disable:exported.
revive:disable:exported.
Disable indicates disable plugins.
DiskCostDescLbl indicates description for disk cost.
DiskCostDetailLbl indicates disk cost detail.
DiskFactorLbl indicates disk factor.
Empty means OperatorLabel is meaningless for this operator.
Enable indicates enable plugins.
ErrExprInOrderBy is in order by items for the error of ErrFieldNotInGroupBy.
ErrExprInSelect is in select fields for the error of ErrFieldNotInGroupBy.
FKCascadeOnDelete indicates in delete statement.
FKCascadeOnUpdate indicates in update statement.
FullRange represent used all partitions.
GlobalWithoutColumnPos marks the index has no partition column.
HashJoinConcurrencyLbl indicates concurrency for hash join.
HotRegionTypeRead hot read region.
HotRegionTypeWrite hot write region.
revive:disable:exported.
IndexPlanCostLbl indicates indexPlan cost.
MaxCacheableLimitCount is the max limit count for cacheable query.
MaxPenaltyRowCount applies a penalty for high risk scans.
MemCostDescLbl indicates description for mem cost.
MemCostDetailLbl indicates mem cost detail.
MemoryFactorLbl indicates mem factor.
MemQuotaLbl indicates memory quota.
MinNumRows provides a minimum to avoid underestimation.
MinRowSize provides a minimum column length to ensure that any adjustment or calculation in costing does not go below this value.
MPP means read from storage by MPP request, only used for TiFlash.
Mpp1Phase runs only 1 phase but requires its child's partition property.
Mpp2Phase runs partial agg + final agg with hash partition.
MppScalar also has 2 phases.
MppTiDB runs agg on TiDB (and a partial agg on TiFlash if in 2 phase agg).
NetSeekCostLbl indicates netSeek cost.
NetworkFactorLbl indicates networkFactor.
NoMpp means the default value which does not run in MPP.
NumPairsLbl indicates numPairs.
OpCaptureBindings is used to capture plan bindings.
OpFlushBindings is used to flush plan bindings.
OpReloadBindings is used to reload plan binding.
OpSetBindingStatus is used to set binding status.
OpSetBindingStatusByDigest represents the operation to set SQL binding status by sql digest.
OpSQLBindCreate represents the operation to create a SQL bind.
OpSQLBindDrop represents the operation to drop a SQL bind.
OpSQLBindDropByDigest is used to drop SQL binds by digest.
PartitionHashSplitterType is the splitter splits by hash.
revive:disable:exported.
PartitionRangeSplitterType is the splitter that split sorted data into the same range.
PointPlanKey is used to get point plan that is pre-built for multi-statement query.
ProbeCostDescLbl indicates description for probe cost.
ProbeCostDetailLbl indicates probeCost.
ProbeDiskCostDescLbl indicates description for probe disk cost.
ProbeDiskCostLbl indicates probe disk cost detail.
ProbeRowCountLbl indicates rowCount on probe side.
ProbeSide means this operator is at the probe side of its parent.
RecursivePart means this operator is the recursive part of its parent (a cte).
RowCountLbl indicates for rowCount.
RowSizeLbl indicates rowSize.
ScanConcurrencyLbl indicates sql scan concurrency.
ScanFactorLbl indicates for scanFactor.
revive:disable:exported.
SeedPart means this operator is the seed part of its parent (a cte).
SeekFactorLbl indicates seekFactor.
SelectionFactorLbl indicates selection factor.
revive:disable:exported.
revive:disable:exported.
revive:disable:exported.
revive:disable:exported.
TablePlanCostLbl indicates tablePlan cost.
revive:disable:exported.
revive:disable:exported.
revive:disable:exported.
TiFlashStartupRowPenalty applies a startup penalty for TiFlash scan to encourage TiKV usage for small scans.
TraceFormatJSON indicates json tracing format.
TraceFormatLog indicates log tracing format.
TraceFormatRow indicates row tracing format.
TracePlanTargetDebug indicates debug trace target for optimizer trace.
TracePlanTargetEstimation indicates CE trace target for optimizer trace.
TypeAlter for AlterStmt.
TypeCreate for CreateStmt.
TypeDelete for DeleteStmt.
TypeDrop for DropStmt.
TypeExecute for ExecuteStmt.
TypeImportInto for ImportIntoStmt.
TypeInsert for InsertStmt.
TypeInvalid for unexpected types.
TypeRename for RenameStmt.
TypeRepair for RepairStmt.
TypeSelect for SelectStmt.
TypeSetOpr for SetOprStmt.
TypeShow for ShowStmt.
TypeUpdate for UpdateStmt.
# Variables
AllowCartesianProduct means whether tidb allows cartesian join without equal conditions.
CMSketchSizeLimit indicates the size limit of CMSketch.
DefaultDisabledLogicalRulesList indicates the logical rules which should be banned.
EvalSubqueryFirstRow evaluates incorrelated subqueries once, and get first row.
GenPlanCostTrace define a hook function to customize the cost calculation.
HeavyFunctionNameMap stores function names that is worth to do HeavyFunctionOptimize.
ImportIntoDataSource used inplannererrors.ErrLoadDataInvalidURI.
IsReadOnly check whether the ast.Node is a read only statement.
OptimizeAstNode optimizes the query to a physical plan directly.
PlanCounterDisabled is the default value of PlanCounterTp, indicating that optimizer needn't force a plan.
PreparedPlanCacheMaxMemory stores the max memory size defined in the global config "performance-server-memory-quota".
# Structs
AdminPlugins administrates tidb plugins.
AdminShowBDRRole represents a show bdr role plan.
AggInfo stores the information of an Aggregation.
AggregateFuncExtractor visits Expr tree.
AggregationEliminator is used to eliminate aggregation grouped by unique key.
AggregationPushDownSolver is a rule that pushes down aggregation functions to the child of LogicalJoin.
AlterDDLJob is the plan of admin alter ddl job.
AlterDDLJobOpt represents alter ddl job option.
Analyze represents an analyze plan.
AnalyzeColumnsTask is used for analyze columns.
AnalyzeIndexTask is used for analyze index.
AnalyzeInfo is used to store the database name, table name and partition name of analyze task.
BatchPointGetPlan represents a physical plan which contains a bunch of keys reference the same table and use the same `unique key`.
CancelDDLJobs represents a cancel DDL jobs plan.
Change represents a change plan.
CheckIndexRange is used for checking index data, output the index values that handle within begin and end.
ChecksumTable is used for calculating table checksum, built from the `admin checksum table` statement.
CheckTable is used for checking table data, built from the 'admin check table' statement.
CleanupIndex is used to delete dangling index data.
ClusterLogTableExtractor is used to extract some predicates of `cluster_config`.
ClusterTableExtractor is used to extract some predicates of cluster table.
CollectPredicateColumnsPoint collects the columns that are used in the predicates.
ColumnPruner is used to prune unnecessary columns.
ColWithCmpFuncManager is used in index join to handle the column with compare functions(>=, >, <, <=).
CompactTable represents a "ALTER TABLE [NAME] COMPACT ..." plan.
ConvertOuterToInnerJoin converts outer to inner joins if the unmtaching rows are filtered.
CopTask is a task that runs in a distributed kv store.
DDL represents a DDL statement plan.
Deallocate represents deallocate plan.
DecorrelateSolver tries to convert apply plan to join plan.
Delete represents a delete plan.
DeriveTopNFromWindow pushes down the topN or limit.
DynamicPartitionAccessObject represents the partitions accessed by the children of this operator.
ErrExprLoc is for generate the ErrFieldNotInGroupBy error info.
Execute represents prepare plan.
Explain represents a explain plan.
ExplainInfoForEncode store explain info for JSON encode.
FKCascade indicates the foreign key constraint cascade behaviour.
FKCheck indicates the foreign key constraint checker.
FlatOperator is a simplified operator.
FlatPhysicalPlan provides an easier structure to traverse a plan and collect needed information.
Fragment is cut from the whole pushed-down plan by network communication.
GcSubstituter is used to substitute the expression to indexed virtual generated column in where, group by, order by, and field clause.
HashJoinCPUCostDetail indicates cpu cost detail.
HashJoinDiskCostDetail indicates disk cost detail.
HashJoinMemoryCostDetail indicates memory cost detail.
HashJoinProbeCostDetail indicates probe cpu cost detail.
HashJoinProbeDiskCostDetail indicates probe disk cost detail.
HotRegionsHistoryTableExtractor is used to extract some predicates of `tidb_hot_regions_history`.
ImportInto represents a ingest into plan.
IndexAccess represents the index accessed by an operator.
IndexUsageIndexInfo is the necessary index info for information_schema.tidb_index_usage.
InfoSchemaBaseExtractor is used to extract infoSchema tables related predicates.
InfoSchemaCheckConstraintsExtractor is the predicate extractor for information_schema.check_constraints.
InfoSchemaColumnsExtractor is the predicate extractor for information_schema.columns.
InfoSchemaDDLExtractor is the predicate extractor for information_schema.ddl_jobs.
InfoSchemaIndexesExtractor is the predicate extractor for information_schema.tidb_indexes.
InfoSchemaKeyColumnUsageExtractor is the predicate extractor for information_schema.key_column_usage.
InfoSchemaPartitionsExtractor is the predicate extractor for information_schema.partitions.
InfoSchemaReferConstExtractor is the predicate extractor for information_schema.referential_constraints.
InfoSchemaSchemataExtractor is the predicate extractor for information_schema.schemata.
InfoSchemaSequenceExtractor is the predicate extractor for information_schema.sequences.
InfoSchemaStatisticsExtractor is the predicate extractor for information_schema.statistics.
InfoSchemaTableConstraintsExtractor is the predicate extractor for information_schema.constraints.
InfoSchemaTablesExtractor is the predicate extractor for information_schema.tables.
InfoSchemaTiDBCheckConstraintsExtractor is the predicate extractor for information_schema.tidb_check_constraints.
InfoSchemaTiDBIndexUsageExtractor is the predicate extractor for information_schema.tidb_index_usage.
InfoSchemaViewsExtractor is the predicate extractor for information_schema.views.
Insert represents an insert plan.
InsertGeneratedColumns is for completing generated columns in Insert.
InspectionResultTableExtractor is used to extract some predicates of `inspection_result`.
InspectionRuleTableExtractor is used to extract some predicates of `inspection_rules`.
InspectionSummaryTableExtractor is used to extract some predicates of `inspection_summary`.
JoinReOrderSolver is used to reorder the join nodes in a logical plan.
LineFieldsInfo used in load-data/select-into/index-advise stmt.
LoadData represents a loaddata plan.
LoadDataOpt represents load data option.
LoadStats represents a load stats plan.
LockStats represents a lock stats for table.
LRUPlanCache is a dedicated least recently used cache, Only used for plan cache.
MaxMinEliminator tries to eliminate max/min aggregate function.
MetricSummaryTableExtractor is used to extract some predicates of metrics_schema tables.
MetricTableExtractor is used to extract some predicates of metrics_schema tables.
MppTask can not : 1.
NominalSort asks sort properties for its child.
OuterJoinEliminator is used to eliminate outer join.
PartitionProcessor rewrites the ast for table partition.
PauseDDLJobs indicates a plan to pause the Running DDL Jobs.
PBPlanBuilder uses to build physical plan from dag protocol buffers.
PhysicalApply represents apply plan, only used for subquery.
PhysicalCTE is for CTE.
PhysicalCTETable is for CTE table.
PhysicalExchangeReceiver accepts connection and receives data passively.
PhysicalExchangeSender dispatches data to upstream tasks.
PhysicalExpand is used to expand underlying data sources to feed different grouping sets.
PhysicalHashAgg is hash operator of aggregate.
PhysicalHashJoin represents hash join implementation of LogicalJoin.
PhysicalIndexHashJoin represents the plan of index look up hash join.
PhysicalIndexJoin represents the plan of index look up join.
PhysicalIndexLookUpReader is the index look up reader in tidb.
PhysicalIndexMergeJoin represents the plan of index look up merge join.
PhysicalIndexMergeReader is the reader using multiple indexes in tidb.
PhysicalIndexReader is the index reader in tidb.
PhysicalIndexScan represents an index scan plan.
PhysicalLimit is the physical operator of Limit.
PhysicalLock is the physical operator of lock, which is used for `select ..
PhysicalMaxOneRow is the physical operator of maxOneRow.
PhysicalMemTable reads memory table.
PhysicalMergeJoin represents merge join implementation of LogicalJoin.
PhysicalProjection is the physical operator of projection.
PhysicalSelection represents a filter.
PhysicalSequence is the physical representation of LogicalSequence.
PhysicalShow represents a show plan.
PhysicalShowDDLJobs is for showing DDL job list.
PhysicalShuffle represents a shuffle plan.
PhysicalShuffleReceiverStub represents a receiver stub of `PhysicalShuffle`, and actually, is executed by `executor.shuffleWorker`.
PhysicalSimpleWrapper is a wrapper of `Simple` to implement physical plan interface.
PhysicalSort is the physical operator of sort, which implements a memory sort.
PhysicalStreamAgg is stream operator of aggregate.
PhysicalTableDual is the physical operator of dual.
PhysicalTableReader is the table reader in tidb.
PhysicalTableSample represents a table sample plan.
PhysicalTableScan represents a table scan plan.
PhysicalTopN is the physical operator of topN.
PhysicalUnionAll is the physical operator of UnionAll.
PhysicalUnionScan represents a union scan operator.
PhysicalWindow is the physical operator of window function.
PhysPlanPartInfo indicates partition helper info in physical plan.
PlanBuilder builds Plan from an ast.Node.
PlanBuilderOptAllowCastArray means the plan builder should allow build cast(..
PlanBuilderOptNoExecution means the plan builder should not run any executor during Build().
PlanCacheKeyEnableInstancePlanCache is only for test.
PlanCacheKeyTestClone is only for test.
PlanCacheKeyTestIssue43667 is only for test.
PlanCacheKeyTestIssue46760 is only for test.
PlanCacheKeyTestIssue47133 is only for test.
PlanCacheStmt store prepared ast from PrepareExec and other related fields.
PlanCacheValue stores the cached Statement and StmtNode.
PlanReplayer represents a plan replayer plan.
PointGetExecutorCache caches the PointGetExecutor to further improve its performance.
PointGetPlan is a fast plan for simple point get.
PointPlanVal is used to store point plan that is pre-built for multi-statement query.
PPDSolver stands for Predicate Push Down.
PredicateSimplification consolidates different predcicates on a column and its equivalence classes.
Prepare represents prepare plan.
PreprocessorReturn is used to retain information obtained in the preprocessor.
ProjectionEliminator is for update stmt The projection eliminate in logical optimize has been forbidden.
PushDownSequenceSolver is used to push down sequence.
PushDownTopNOptimizer pushes down the topN or limit.
PushedDownLimit is the limit operator pushed down into PhysicalIndexLookUpReader.
RecommendIndexPlan represents a plan for recommend index stmt.
RecoverIndex is used for backfilling corrupted index data.
ReloadExprPushdownBlacklist reloads the data from expr_pushdown_blacklist table.
ReloadOptRuleBlacklist reloads the data from opt_rule_blacklist table.
ResolveExpand generating Expand projection list when all the logical optimization is done.
ResultReorder reorder query results.
ResumeDDLJobs indicates a plan to resume the Paused DDL Jobs.
RootTask is the final sink node of a plan graph.
RuntimeFilter structure is generated by the Runtime Filter Generator.
RuntimeFilterGenerator One plan one generator.
ScalarSubqueryEvalCtx store the plan for the subquery, used by ScalarSubQueryExpr.
ScalarSubQueryExpr is a expression placeholder for the non-correlated scalar subqueries which can be evaluated during optimizing phase.
ScanAccessObject represents the access to a table.
SelectInto represents a select-into plan.
SemiJoinRewriter rewrites semi join to inner join with aggregation.
Set represents a plan for set stmt.
SetConfig represents a plan for set config stmt.
ShowBaseExtractor is the definition of base extractor for derived predicates.
ShowDDL is for showing DDL information.
ShowDDLJobQueries is for showing DDL job queries sql.
ShowDDLJobQueriesWithRange is for showing DDL job queries sql with specified limit and offset.
ShowNextRowID is for showing the next global row ID.
ShowSlow is for showing slow queries.
Simple represents a simple statement plan which doesn't need any optimization.
SkewDistinctAggRewriter rewrites group distinct aggregate into 2 level aggregates.
SlowQueryExtractor is used to extract some predicates of `slow_query`.
SplitRegion represents a split regions plan.
SplitRegionStatus represents a split regions status plan.
SQLBindOpDetail represents the detail of an operation on a single binding.
SQLBindPlan represents a plan for SQL bind.
StatementsSummaryExtractor is used to extract some predicates of statements summary table.
SyncWaitStatsLoadPoint sync-wait for stats load point.
TableStorageStatsExtractor is used to extract some predicates of `disk_usage`.
TblColPosInfo represents an mapper from column index to handle index.
TiFlashSystemTableExtractor is used to extract some predicates of tiflash system table.
TikvRegionPeersExtractor is used to extract some predicates of cluster table.
TiKVRegionStatusExtractor is used to extract single table region scan region from predictions.
TimeRange is used to check whether a given log should be extracted.
Trace represents a trace plan.
Traffic represents a traffic plan.
UnlockStats represents a unlock stats for table.
Update represents Update plan.
V2AnalyzeOptions is used to hold analyze options information.
VectorIndexExtra is the extra information for vector index.
WindowFuncExtractor visits Expr tree.
# Interfaces
PhysicalJoin provides some common methods for join operators.
PlanBuilderOpt is used to adjust the plan builder.
# Type aliases
AdminPluginsAction indicate action will be taken on plugins.
AggMppRunMode defines the running mode of aggregation in MPP.
CTEDefinition is CTE definition for explain.
DynamicPartitionAccessObjects is a list of DynamicPartitionAccessObject.
ExprColumnMap is used to store all expressions of indexed generated columns in a table, and map them to the generated columns, thus we can substitute the expression in a query to an indexed generated column.
FKCascadeType indicates in which (delete/update) statements.
FlatPlanTree is a simplified plan tree.
OperatorLabel acts as some additional information to the name, usually it means its relationship with its parent.
OtherAccessObject represents other kinds of access.
PartitionSplitterType is the type of `Shuffle` executor splitter, which splits data source into partitions.
PhysicalCTEStorage is used for representing CTE storage, or CTE producer in other words.
PreprocessOpt presents optional parameters to `Preprocess` method.
ReadReqType is the read request type of the operator.
RuntimeFilterMode "OFF", "LOCAL".
RuntimeFilterType "IN".
SQLBindOpType repreents the SQL bind type.
TblColPosInfoSlice attaches the methods of sort.Interface to []TblColPosInfos sorting in increasing order.