[ 
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)

Reply via email to