[
https://issues.apache.org/jira/browse/CASSANDRA-9532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14589790#comment-14589790
]
Benjamin Lerer commented on CASSANDRA-9532:
-------------------------------------------
In my opinion, we should encapsulate the column definitions as part of
{{SelectionColumnMapping}}. It makes sense to keep them together and will
simplify the {{Selection}} code. In 2.2 and trunk we will then be able to
populate {{SelectionColumnMapping}} via
{{SelectorFactories.createFactoriesAndCollectColumnDefinitions}}.
For the {{SelectStatement.getSelection()}} and
{{SelectStatement.getRestrictions}} the javadoc should specify why they are
public. I have the bad habit to remove unused methods.
I think that the method {{SelectionColumnMapping.emptyMapping()}} has a
confusing name. I expected the method to create an immutable empty
{{SelectionColumnMapping}} (like Collections.emptyList()).
> Provide access to select statement's real column definitions
> ------------------------------------------------------------
>
> Key: CASSANDRA-9532
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9532
> Project: Cassandra
> Issue Type: Improvement
> Reporter: mck
> Assignee: Sam Tunnicliffe
> Fix For: 3.x, 2.1.x, 2.0.x, 2.2.x
>
> Attachments: 9532-2.0-v2.txt, 9532-2.1-v2.txt, 9532-2.2-v2.txt,
> 9532-trunk-v2.txt, cassandra-2.0-9532.txt, cassandra-2.1-9532.txt,
> cassandra-2.2-9532.txt, trunk-9532.txt
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)