[ 
https://issues.apache.org/jira/browse/CASSANDRA-7396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15995494#comment-15995494
 ] 

Benjamin Lerer commented on CASSANDRA-7396:
-------------------------------------------

All my apologizes for the delay.

My main concern with the patch is the split of {{SelectStatement}} into 
{{SelectStatement}} and {{SelectOptions}} as well as the introduction of the 
{{Finalized}} in {{Selection}} and {{SelectOptions}}. I fully agree that we 
should simply {{SelectStatement}} and that we need to have a nice way to deal 
with the creation of {{ColumnFilter}} instances. Nevertheless, the patch 
approach makes, in my opinion, the logic harder to follow. 

I pushed a new version of the patch 
[here|https://github.com/apache/cassandra/compare/trunk...blerer:7396-trunk].
The approach is to have {{Selection}} returning a {{Selectors}} interface. The 
{{ColumnFilter}} is then retrieved from the {{Selectors}} interface.
If the {{ColumnFilter}} can be created at preparation time it will be created 
only one. Otherwise it will be created upon request.
The {{ResultSetBuilder}} can then be created by passing the {{Selectors}} 
interface as a constructor argument.

The patch also fix the ANTLR issues and add extra tests. 




> Allow selecting Map key, List index
> -----------------------------------
>
>                 Key: CASSANDRA-7396
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7396
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: CQL
>            Reporter: Jonathan Ellis
>            Assignee: Robert Stupp
>              Labels: cql, docs-impacting
>             Fix For: 4.x
>
>         Attachments: 7396_unit_tests.txt
>
>
> Allow "SELECT map['key]" and "SELECT list[index]."  (Selecting a UDT subfield 
> is already supported.)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to