Class UnresolvedAttribute

All Implemented Interfaces:
NamedWriteable, Writeable, Resolvable, Unresolvable
Direct Known Subclasses:
UnresolvedTimestamp

public class UnresolvedAttribute extends Attribute implements Unresolvable
An unresolved attribute. We build these while walking the syntax tree and then resolve them into other Attribute subclasses during analysis. Aliases whose types are not yet resolved also return UnresolvedAttributes when calling Alias.toAttribute().

Note that the NamedExpression.id() is respected in NamedExpression.equals(Object). Two unresolved attributes with the same name but different NameId can occur e.g. when resolving EVAL x = 2*x, y = 3*x. In the first expression, x is referring to an upstream attribute, while in the second expression it is referring to the alias defined in the first expression. This allows us to distinguish the attributes generated by the EVAL from attributes referenced by it.