Class CompoundOutputEvalExec
java.lang.Object
org.elasticsearch.xpack.esql.core.tree.Node<PhysicalPlan>
org.elasticsearch.xpack.esql.plan.QueryPlan<PhysicalPlan>
org.elasticsearch.xpack.esql.plan.physical.PhysicalPlan
org.elasticsearch.xpack.esql.plan.physical.UnaryExec
org.elasticsearch.xpack.esql.plan.physical.CompoundOutputEvalExec
- All Implemented Interfaces:
NamedWriteable,Writeable,EstimatesRowSize
- Direct Known Subclasses:
RegisteredDomainExec,UriPartsExec,UserAgentExec
Abstract base class for physical plans that produce compound outputs from a single input.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.xpack.esql.core.tree.Node
Node.NodeStringFormatNested classes/interfaces inherited from interface org.elasticsearch.xpack.esql.plan.physical.EstimatesRowSize
EstimatesRowSize.StateNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ExpressionThe input by which the evaluation is performed.Fields inherited from class org.elasticsearch.xpack.esql.core.tree.Node
TO_STRING_MAX_LINES, TO_STRING_MAX_WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionCompoundOutputEvalExec(Source source, PhysicalPlan child, Expression input, List<String> outputFieldNames, List<Attribute> outputFieldAttributes) -
Method Summary
Modifier and TypeMethodDescriptionprotected AttributeSetThis very likely needs to be overridden forQueryPlan.references()to be correct when inheriting.abstract CompoundOutputEvalExeccreateNewInstance(Source source, PhysicalPlan child, Expression input, List<String> outputFieldNames, List<Attribute> outputFields) Creates a new instance of the specificCompoundOutputEvalExecsubclass with the provided parameters.booleanEstimate the number of bytes that'll be loaded per position before the stream of pages is consumed.inthashCode()protected NodeInfo<? extends PhysicalPlan> info()Normally, you want to use one of the staticcreatemethods to implement this.protected abstract booleanprotected abstract intinput()output()The ordered list of attributes (i.e.replaceChild(PhysicalPlan newChild) voidwriteTo(StreamOutput out) Methods inherited from class org.elasticsearch.xpack.esql.plan.physical.UnaryExec
child, inputSet, outputSet, replaceChildrenMethods inherited from class org.elasticsearch.xpack.esql.plan.QueryPlan
computeExpressions, expressions, forEachExpression, forEachExpression, forEachExpressionDown, forEachExpressionUp, 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, transformUpMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.common.io.stream.NamedWriteable
getWriteableName
-
Field Details
-
input
The input by which the evaluation is performed.
-
-
Constructor Details
-
CompoundOutputEvalExec
public CompoundOutputEvalExec(Source source, PhysicalPlan child, Expression input, List<String> outputFieldNames, List<Attribute> outputFieldAttributes) -
CompoundOutputEvalExec
- Throws:
IOException
-
-
Method Details
-
writeTo
- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
createNewInstance
public abstract CompoundOutputEvalExec createNewInstance(Source source, PhysicalPlan child, Expression input, List<String> outputFieldNames, List<Attribute> outputFields) Creates a new instance of the specificCompoundOutputEvalExecsubclass with the provided parameters. -
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. -
computeReferences
Description copied from class:QueryPlanThis very likely needs to be overridden forQueryPlan.references()to be correct when inheriting. This can be called on unresolved plans and therefore must not rely on calls toQueryPlan.output().- Overrides:
computeReferencesin classQueryPlan<PhysicalPlan>
-
input
-
outputFieldNames
-
outputFieldAttributes
-
estimateRowSize
Description copied from interface:EstimatesRowSizeEstimate the number of bytes that'll be loaded per position before the stream of pages is consumed.- Specified by:
estimateRowSizein interfaceEstimatesRowSize
-
replaceChild
- Specified by:
replaceChildin classUnaryExec
-
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<PhysicalPlan>
-
innerEquals
-
equals
-
innerHashCode
protected abstract int innerHashCode() -
hashCode
public int hashCode()
-