Class UnresolvedPromqlFunction
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.promql.UnresolvedPromqlFunction
- All Implemented Interfaces:
NamedWriteable,Writeable,Resolvable,PromqlPlan
Unresolved PromQL function call produced by the parser and replaced by a resolved node
(e.g.
WithinSeriesAggregate, AcrossSeriesAggregate) during analysis.
The parser cannot validate function names, arity, or parameter types without consulting the function registry; that semantic work is deliberately deferred to the analyzer.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.xpack.esql.plan.logical.LogicalPlan
LogicalPlan.StageNested classes/interfaces inherited from class org.elasticsearch.xpack.esql.core.tree.Node
Node.NodeStringFormatNested 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_LINES, TO_STRING_MAX_WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionUnresolvedPromqlFunction(Source source, String functionName, List<LogicalPlan> rawParams, AcrossSeriesAggregate.Grouping grouping, List<Attribute> groupingKeys) -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleangrouping()inthashCode()protected NodeInfo<UnresolvedPromqlFunction> info()Normally, you want to use one of the staticcreatemethods to implement this.output()The ordered list of attributes (i.e.replaceChildren(List<LogicalPlan> newChildren) Always throws: the return type is not known until the function name has been resolved against the registry during analysis.toString()voidwriteTo(StreamOutput out) Methods inherited from class org.elasticsearch.xpack.esql.plan.logical.LogicalPlan
analyzed, childrenResolved, optimized, preAnalyzed, preOptimized, resolved, setAnalyzed, setOptimized, setPreAnalyzed, setPreOptimizedMethods inherited from class org.elasticsearch.xpack.esql.plan.QueryPlan
computeExpressions, computeReferences, 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
allMatch, anyMatch, children, collect, collect, collect, collectFirstChildren, collectLeaves, doCollectFirst, forEachDown, forEachDown, forEachDownMayReturnEarly, forEachProperty, forEachPropertyDown, forEachPropertyOnly, forEachPropertyUp, forEachUp, forEachUp, nodeName, nodeProperties, nodeString, nodeString, propertiesToString, replaceChildrenSameSize, source, sourceLocation, sourceText, toString, toString, transformChildren, transformChildren, transformDown, transformDown, transformDown, transformDown, transformDownSkipBranch, transformNodeProps, transformPropertiesDown, transformPropertiesOnly, transformPropertiesUp, transformUp, transformUp, transformUp
-
Constructor Details
-
UnresolvedPromqlFunction
public UnresolvedPromqlFunction(Source source, String functionName, List<LogicalPlan> rawParams, @Nullable AcrossSeriesAggregate.Grouping grouping, List<Attribute> groupingKeys)
-
-
Method Details
-
functionName
-
rawParams
-
grouping
-
groupingKeys
-
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>
-
replaceChildren
- Specified by:
replaceChildrenin classNode<LogicalPlan>
-
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 interfacePromqlPlan- Specified by:
outputin classQueryPlan<LogicalPlan>
-
returnType
Always throws: the return type is not known until the function name has been resolved against the registry during analysis.- Specified by:
returnTypein interfacePromqlPlan- Throws:
UnsupportedOperationException- always
-
expressionsResolved
public boolean expressionsResolved()- Specified by:
expressionsResolvedin classLogicalPlan
-
writeTo
- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
getWriteableName
- Specified by:
getWriteableNamein interfaceNamedWriteable
-
equals
- Specified by:
equalsin classLogicalPlan
-
hashCode
public int hashCode()- Specified by:
hashCodein classLogicalPlan
-
toString
- Overrides:
toStringin classNode<LogicalPlan>
-