Class UnsupportedAttribute
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.TypedAttribute
org.elasticsearch.xpack.esql.core.expression.FieldAttribute
org.elasticsearch.xpack.esql.expression.function.UnsupportedAttribute
- All Implemented Interfaces:
NamedWriteable,Writeable,Resolvable,Unresolvable
Unsupported attribute that has been found yet cannot be used except in special conditions (currently only in projections to allow it to
flow through the engine).
As such the field is marked as unresolved (so the verifier can pick up its usage outside project).
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.xpack.esql.core.expression.FieldAttribute
FieldAttribute.FieldNameNested classes/interfaces inherited from class org.elasticsearch.xpack.esql.core.expression.Attribute
Attribute.IdIgnoringWrapperNested 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
FieldsModifier and TypeFieldDescriptionstatic final NamedWriteableRegistry.Entrystatic final NamedWriteableRegistry.Entrystatic final NamedWriteableRegistry.EntryFields inherited from class org.elasticsearch.xpack.esql.core.expression.FieldAttribute
ESQL_FIELD_ATTRIBUTE_DROP_TYPE, lazyFieldNameFields inherited from class org.elasticsearch.xpack.esql.core.expression.Attribute
SYNTHETIC_ATTRIBUTE_NAME_PREFIX, SYNTHETIC_ATTRIBUTE_NAME_SEPARATORFields 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
ConstructorsConstructorDescriptionUnsupportedAttribute(Source source, String qualifier, String name, UnsupportedEsField field, String customMessage, NameId id) UnsupportedAttribute(Source source, String name, UnsupportedEsField field) UnsupportedAttribute(Source source, String name, UnsupportedEsField field, String customMessage) UnsupportedAttribute(Source source, String name, UnsupportedEsField field, String customMessage, NameId id) -
Method Summary
Modifier and TypeMethodDescriptionprotected Attributeclone(Source source, String qualifier, String name, DataType type, Nullability nullability, NameId id, boolean synthetic) field()The full name of the field in the index, including all parent fields.booleanprotected NodeInfo<FieldAttribute> info()Normally, you want to use one of the staticcreatemethods to implement this.protected booleaninnerEquals(Object o, boolean ignoreIds) The actual equality check, after shortcuttingthis == oand class checks.protected intinnerHashCode(boolean ignoreIds) protected Stringlabel()This contains all the underlying ES types.static UnsupportedAttributereadFrom(StreamInput in) booleanresolved()toString()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.core.expression.FieldAttribute
exactAttribute, getExactInfo, isDimension, isMetric, name, parentName, withDataTypeMethods inherited from class org.elasticsearch.xpack.esql.core.expression.TypedAttribute
dataTypeMethods inherited from class org.elasticsearch.xpack.esql.core.expression.Attribute
canonicalize, checkAndSerializeQualifier, dataTypeEquals, ignoreId, nullable, qualifiedName, qualifier, rawTemporaryName, readQualifier, references, replaceChildren, semanticEquals, semanticHash, toAttribute, withId, withLocation, withName, withNullability, withQualifierMethods inherited from class org.elasticsearch.xpack.esql.core.expression.NamedExpression
equals, equals, hashCode, hashCode, id, 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, collect, collect, collectFirstChildren, collectLeaves, doCollectFirst, forEachDown, forEachDown, forEachDownMayReturnEarly, forEachProperty, forEachPropertyDown, forEachPropertyOnly, forEachPropertyUp, forEachUp, forEachUp, nodeName, nodeProperties, replaceChildrenSameSize, source, sourceLocation, sourceText, transformChildren, transformDown, transformDown, transformDown, transformNodeProps, transformPropertiesDown, transformPropertiesOnly, transformPropertiesUp, transformUp, transformUp, transformUp
-
Field Details
-
ENTRY
-
NAMED_EXPRESSION_ENTRY
-
EXPRESSION_ENTRY
-
-
Constructor Details
-
UnsupportedAttribute
-
UnsupportedAttribute
public UnsupportedAttribute(Source source, String name, UnsupportedEsField field, @Nullable String customMessage) -
UnsupportedAttribute
public UnsupportedAttribute(Source source, String name, UnsupportedEsField field, @Nullable String customMessage, @Nullable NameId id) -
UnsupportedAttribute
-
-
Method Details
-
writeTo
- Specified by:
writeToin interfaceWriteable- Overrides:
writeToin classFieldAttribute- Throws:
IOException
-
readFrom
- Throws:
IOException
-
getWriteableName
- Specified by:
getWriteableNamein interfaceNamedWriteable- Overrides:
getWriteableNamein classFieldAttribute
-
resolved
public boolean resolved()- Specified by:
resolvedin interfaceResolvable- Specified by:
resolvedin interfaceUnresolvable- Overrides:
resolvedin classExpression
-
field
- Overrides:
fieldin classFieldAttribute
-
fieldName
Description copied from class:FieldAttributeThe full name of the field in the index, including all parent fields. E.g.parent.subfield.this_field.- Overrides:
fieldNamein classFieldAttribute
-
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.- Overrides:
infoin classFieldAttribute
-
clone
protected Attribute clone(Source source, String qualifier, String name, DataType type, Nullability nullability, NameId id, boolean synthetic) - Overrides:
clonein classFieldAttribute
-
label
- Overrides:
labelin classFieldAttribute
-
toString
-
nodeString
- Overrides:
nodeStringin classAttribute
-
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
-
hasCustomMessage
public boolean hasCustomMessage() -
innerHashCode
protected int innerHashCode(boolean ignoreIds) - Overrides:
innerHashCodein classFieldAttribute
-
innerEquals
Description copied from class:NamedExpressionThe actual equality check, after shortcuttingthis == oand class checks.- Overrides:
innerEqualsin classFieldAttribute
-
originalTypes
This contains all the underlying ES types. On a type conflict this will have many elements, some or all of which may be actually supported types.
-