Representation of a column of an embedded subobject
Columns of embedded subobjects have a different context path from columns of
their enclosing object, however they resolve to columns of the same SqlSelect.
To satisfy the SqlSelect invariant that all its columns must share the same
context path we have to wrap the embedded column so that its context path
conforms.
Derives a new column with a different owner with this column as underlying.
Derives a new column with a different owner with this column as underlying.
Used to represent columns on the outside of subqueries and common table
expressions. Note that column aliases are tracked across derivation so
that derived columns will continue to refer to the same underlying data
irrespective of renaming.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet
not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0.
However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have
identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure
to verify that the behavior is consistent with the equals method.