One visible relation source in a statement's scope.
alias is
non-null and defaults to the table name when the SQL omits an alias, so
consumers always have a stable local handle to use in
ColumnRef.getRelationAlias().
For most kinds (TABLE / CTE / SUBQUERY / UNION) the source is a
FROM-clause entry on this statement. For
RelationKind.OUTER_REFERENCE (slice 14) the source is
synthesised by the builder to record an alias that actually belongs to
an enclosing scope's FROM clause; the inner statement carries it so
ColumnRef.getRelationAlias() resolves uniformly without needing
an explicit "is-outer" flag.