All Implemented Interfaces:
NamedWriteable, Writeable, Resolvable
Direct Known Subclasses:
EmptyAttribute, TypedAttribute, UnresolvedAttribute

public abstract class Attribute extends NamedExpression
Expressions that can be materialized and describe properties of the derived table. In other words, an attribute represent a column in the results of a query. In the statement SELECT ABS(foo), A, B+C FROM ... the three named expressions ABS(foo), A, B+C get converted to attributes and the user can only see Attributes. In the statement SELECT foo FROM TABLE WHERE foo > 10 + 1 only foo inside the SELECT is a named expression (an Alias will be created automatically for it). The rest are not as they are not part of the projection and thus are not part of the derived table.