Class EmptyAttribute
java.lang.Object
org.elasticsearch.xpack.esql.core.tree.Node<Expression>
org.elasticsearch.xpack.esql.core.expression.Expression
org.elasticsearch.xpack.esql.core.expression.NamedExpression
org.elasticsearch.xpack.esql.core.expression.Attribute
org.elasticsearch.xpack.esql.core.expression.EmptyAttribute
- All Implemented Interfaces:
NamedWriteable,Writeable,Resolvable
Marker for optional attributes. Acting as a dummy placeholder to avoid using null
in the tree (which is not allowed).
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.xpack.esql.core.expression.Expression
Expression.TypeResolutionNested 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.expression.Attribute
SYNTHETIC_ATTRIBUTE_NAME_PREFIX -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Attributeclone(Source source, String name, DataType type, Nullability nullability, NameId id, boolean synthetic) dataType()TheDataTypereturned by executing the tree rooted at this expression.inthashCode()protected NodeInfo<? extends Expression> info()Return the information about this node.protected booleanprotected Stringlabel()booleanresolved()voidwriteTo(StreamOutput out) Methods inherited from class org.elasticsearch.xpack.esql.core.expression.Attribute
canonicalize, nodeString, nullable, rawTemporaryName, references, replaceChildren, semanticEquals, semanticHash, toAttribute, toString, withDataType, withId, withLocation, withName, withNullabilityMethods inherited from class org.elasticsearch.xpack.esql.core.expression.NamedExpression
equals, id, name, syntheticMethods inherited from class org.elasticsearch.xpack.esql.core.expression.Expression
canonical, childrenResolved, fold, foldable, propertiesToString, resolveType, typeResolvedMethods inherited from class org.elasticsearch.xpack.esql.core.tree.Node
anyMatch, children, collect, collectFirstChildren, collectLeaves, doCollectFirst, forEachDown, forEachDown, forEachProperty, forEachPropertyDown, forEachPropertyOnly, forEachPropertyUp, forEachUp, forEachUp, nodeName, nodeProperties, replaceChildrenSameSize, source, sourceLocation, sourceText, transformChildren, transformDown, transformDown, transformDown, transformNodeProps, transformPropertiesDown, transformPropertiesOnly, transformPropertiesUp, transformUp, transformUp, transformUp
-
Constructor Details
-
EmptyAttribute
-
-
Method Details
-
writeTo
- Throws:
IOException
-
getWriteableName
-
clone
-
label
-
resolved
public boolean resolved()- Specified by:
resolvedin interfaceResolvable- Overrides:
resolvedin classExpression
-
dataType
Description copied from class:ExpressionTheDataTypereturned by executing the tree rooted at this expression. IfExpression.typeResolved()returns an error then the behavior of this method is undefined. It may return a valid type. Or it may throw an exception. Or it may return a totally nonsensical type.- Specified by:
dataTypein classExpression
-
info
Description copied from class:NodeReturn the information about this node.Normally, you want to use one of the static
createmethods 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 of the properties are used in the provided constructor; otherwise query plan transformations likeQueryPlan#transformExpressionsOnly(Function)will not have an effect.- Specified by:
infoin classNode<Expression>
-
hashCode
public int hashCode() -
innerEquals
- Overrides:
innerEqualsin classAttribute
-