Class UnresolvedRelation
java.lang.Object
org.elasticsearch.xpack.esql.core.tree.Node<LogicalPlan>
org.elasticsearch.xpack.esql.plan.QueryPlan<LogicalPlan>
org.elasticsearch.xpack.esql.plan.logical.LogicalPlan
org.elasticsearch.xpack.esql.plan.logical.LeafPlan
org.elasticsearch.xpack.esql.plan.logical.UnresolvedRelation
- All Implemented Interfaces:
NamedWriteable,Writeable,TelemetryAware,Resolvable,Unresolvable
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.xpack.esql.plan.logical.LogicalPlan
LogicalPlan.StageNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
Fields inherited from class org.elasticsearch.xpack.esql.core.tree.Node
TO_STRING_MAX_WIDTHFields inherited from interface org.elasticsearch.xpack.esql.core.capabilities.Unresolvable
UNRESOLVED_PREFIX -
Constructor Summary
ConstructorsConstructorDescriptionUnresolvedRelation(Source source, IndexPattern indexPattern, boolean frozen, List<Attribute> metadataFields, String unresolvedMessage, SourceCommand sourceCommand) UnresolvedRelation(Source source, IndexPattern table, boolean frozen, List<Attribute> metadataFields, IndexMode indexMode, String unresolvedMessage) UnresolvedRelation(Source source, IndexPattern indexPattern, boolean frozen, List<Attribute> metadataFields, IndexMode indexMode, String unresolvedMessage, String commandName) -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanbooleanfrozen()inthashCode()protected NodeInfo<UnresolvedRelation> info()Normally, you want to use one of the staticcreatemethods to implement this.booleanThe values of all the properties that are important to thisNode.output()The ordered list of attributes (i.e.booleanresolved()This is used byPlanTelemetryto collect query statistics It can return "FROM" if this a|FROM idxcommand "METRICS" if it is the result of a| METRICS idx some_aggs() BY fieldscommandtoString()NOTE: Any non-null return value from this method indicates that the item in question could not be resolved.voidwriteTo(StreamOutput out) Methods inherited from class org.elasticsearch.xpack.esql.plan.logical.LeafPlan
computeReferences, replaceChildrenMethods inherited from class org.elasticsearch.xpack.esql.plan.logical.LogicalPlan
analyzed, childrenResolved, optimized, preAnalyzed, preOptimized, setAnalyzed, setOptimized, setPreAnalyzed, setPreOptimizedMethods inherited from class org.elasticsearch.xpack.esql.plan.QueryPlan
computeExpressions, expressions, forEachExpression, forEachExpression, forEachExpressionDown, forEachExpressionUp, inputSet, outputSet, references, transformExpressionsDown, transformExpressionsDown, transformExpressionsOnly, transformExpressionsOnly, transformExpressionsOnlyUp, transformExpressionsUp, transformExpressionsUpMethods inherited from class org.elasticsearch.xpack.esql.core.tree.Node
anyMatch, children, collect, collect, collect, collectFirstChildren, collectLeaves, doCollectFirst, forEachDown, forEachDown, forEachDownMayReturnEarly, forEachProperty, forEachPropertyDown, forEachPropertyOnly, forEachPropertyUp, forEachUp, forEachUp, nodeName, nodeString, propertiesToString, replaceChildrenSameSize, source, sourceLocation, sourceText, transformChildren, transformDown, transformDown, transformDown, transformNodeProps, transformPropertiesDown, transformPropertiesOnly, transformPropertiesUp, transformUp, transformUp, transformUp
-
Constructor Details
-
UnresolvedRelation
public UnresolvedRelation(Source source, IndexPattern indexPattern, boolean frozen, List<Attribute> metadataFields, String unresolvedMessage, SourceCommand sourceCommand) -
UnresolvedRelation
-
UnresolvedRelation
-
-
Method Details
-
writeTo
-
getWriteableName
- Specified by:
getWriteableNamein interfaceNamedWriteable
-
info
Description copied from class:NodeNormally, you want to use one of the staticcreatemethods to implement this.For
QueryPlans, it is very important that the properties contain all of the expressions and references relevant to this node, and that all the properties are used in the provided constructor; otherwise query plan transformations likeQueryPlan#transformExpressionsOnly(Function)will not have an effect.- Specified by:
infoin classNode<LogicalPlan>
-
indexPattern
-
frozen
public boolean frozen() -
resolved
public boolean resolved()- Specified by:
resolvedin interfaceResolvable- Specified by:
resolvedin interfaceUnresolvable- Overrides:
resolvedin classLogicalPlan
-
telemetryLabel
This is used byPlanTelemetryto collect query statistics It can return- "FROM" if this a
|FROM idxcommand - "METRICS" if it is the result of a
| METRICS idx some_aggs() BY fieldscommand
- Specified by:
telemetryLabelin interfaceTelemetryAware- Returns:
- the label reported in the telemetry data. Only needs to be overwritten if the label doesn't match the class name.
- "FROM" if this a
-
expressionsResolved
public boolean expressionsResolved()- Specified by:
expressionsResolvedin classLogicalPlan
-
output
Description copied from class:QueryPlanThe ordered list of attributes (i.e. columns) this plan produces when executed. Must be called only on resolved plans, otherwise may throw an exception or return wrong results.- Specified by:
outputin classQueryPlan<LogicalPlan>
-
metadataFields
-
indexMode
-
unresolvedMessage
Description copied from interface:UnresolvableNOTE: Any non-null return value from this method indicates that the item in question could not be resolved.- Specified by:
unresolvedMessagein interfaceUnresolvable
-
hashCode
public int hashCode()- Specified by:
hashCodein classLogicalPlan
-
equals
- Specified by:
equalsin classLogicalPlan
-
nodeProperties
Description copied from class:NodeThe values of all the properties that are important to thisNode.- Overrides:
nodePropertiesin classNode<LogicalPlan>
-
toString
- Overrides:
toStringin classNode<LogicalPlan>
-
isTimeSeriesMode
public boolean isTimeSeriesMode()- Returns:
- true if and only if this relation is being loaded in "time series mode", which changes a number of behaviors in the planner.
-