Class PlannerUtils
java.lang.Object
org.elasticsearch.xpack.esql.planner.PlannerUtils
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final BlockFactoryDeprecated, for removal: This API element is subject to removal in a future version. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.elasticsearch.core.Tuple<PhysicalPlan, PhysicalPlan> breakPlanBetweenCoordinatorAndDataNode(PhysicalPlan plan, Configuration config) static org.elasticsearch.core.Tuple<List<PhysicalPlan>, PhysicalPlan> When the plan contains children likeMergeExecresulted from the planning of commands such as FORK, we need to break the plan into sub plans and a main coordinator plan.static QueryBuildercanMatchFilter(EsqlFlags flags, Configuration configuration, TransportVersion minTransportVersion, PhysicalPlan plan) Extracts a filter that can be used to skip unmatched shards on the coordinator.static PhysicalPlanlocalPlan(PhysicalPlan plan, LocalLogicalPlanOptimizer logicalOptimizer, LocalPhysicalPlanOptimizer physicalOptimizer) static PhysicalPlanlocalPlan(EsqlFlags flags, List<SearchExecutionContext> searchContexts, Configuration configuration, FoldContext foldCtx, PhysicalPlan plan) static PhysicalPlanlocalPlan(EsqlFlags flags, Configuration configuration, FoldContext foldCtx, PhysicalPlan plan, SearchStats searchStats) Returns a set of concrete indices after resolving the original indices specified in the FROM command.static String[]Returns the original indices specified in the FROM command of the query.static PhysicalPlanreductionPlan(PhysicalPlan plan) static ElementTypetoElementType(DataType dataType) Map QL'sDataTypeto the compute engine'sElementType.static ElementTypetoElementType(DataType dataType, MappedFieldType.FieldExtractPreference fieldExtractPreference) Map QL'sDataTypeto the compute engine'sElementType.static ElementTypetoSortableElementType(DataType dataType) Map QL'sDataTypeto the compute engine'sElementType, for sortable types only.static booleanusesScoring(QueryPlan<?> plan)
-
Field Details
-
NON_BREAKING_BLOCK_FACTORY
Deprecated, for removal: This API element is subject to removal in a future version.A non-breaking block factory used to create small pages during the planning TODO: Remove this
-
-
Constructor Details
-
PlannerUtils
public PlannerUtils()
-
-
Method Details
-
breakPlanIntoSubPlansAndMainPlan
public static org.elasticsearch.core.Tuple<List<PhysicalPlan>,PhysicalPlan> breakPlanIntoSubPlansAndMainPlan(PhysicalPlan plan) When the plan contains children likeMergeExecresulted from the planning of commands such as FORK, we need to break the plan into sub plans and a main coordinator plan. The result pages from each sub plan will be funneled to the main coordinator plan. To achieve this, we wire each sub plan with aExchangeSinkExecand add aExchangeSourceExecto the main coordinator plan. There is an additional split of each sub plan into a data node plan and coordinator plan. This split is not done here, but as part ofPlannerUtils#breakPlanBetweenCoordinatorAndDataNode. -
breakPlanBetweenCoordinatorAndDataNode
public static org.elasticsearch.core.Tuple<PhysicalPlan,PhysicalPlan> breakPlanBetweenCoordinatorAndDataNode(PhysicalPlan plan, Configuration config) -
reductionPlan
-
planConcreteIndices
Returns a set of concrete indices after resolving the original indices specified in the FROM command. -
planOriginalIndices
Returns the original indices specified in the FROM command of the query. We need the original query to resolve alias filters. -
localPlan
public static PhysicalPlan localPlan(EsqlFlags flags, List<SearchExecutionContext> searchContexts, Configuration configuration, FoldContext foldCtx, PhysicalPlan plan) -
localPlan
public static PhysicalPlan localPlan(EsqlFlags flags, Configuration configuration, FoldContext foldCtx, PhysicalPlan plan, SearchStats searchStats) -
localPlan
public static PhysicalPlan localPlan(PhysicalPlan plan, LocalLogicalPlanOptimizer logicalOptimizer, LocalPhysicalPlanOptimizer physicalOptimizer) -
canMatchFilter
public static QueryBuilder canMatchFilter(EsqlFlags flags, Configuration configuration, TransportVersion minTransportVersion, PhysicalPlan plan) Extracts a filter that can be used to skip unmatched shards on the coordinator. -
toSortableElementType
Map QL'sDataTypeto the compute engine'sElementType, for sortable types only. This specifically excludes spatial data types, which are not themselves sortable. -
toElementType
Map QL'sDataTypeto the compute engine'sElementType. -
toElementType
public static ElementType toElementType(DataType dataType, MappedFieldType.FieldExtractPreference fieldExtractPreference) Map QL'sDataTypeto the compute engine'sElementType. Under some situations, the same data type might be extracted into a different element type. For example, spatial types can be extracted into doc-values under specific conditions, otherwise they extract as BytesRef. -
usesScoring
-