Currently there is no way to get access to the real ColumnDefinitions being used in a SelectStatement.
This information is there in
selectStatement.selection.columns but is private.
Giving public access would make it possible for third-party implementations of a QueryHandler to work accurately with the real columns being queried and not have to work-around column aliases (or when the rawSelectors don't map directly to ColumnDefinitions, eg in Selection.fromSelectors(..), like functions), which is what one has to do today with going through ResultSet.metadata.names.
This issue provides a very minimal patch to provide access to the already final and immutable fields.