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

Sam Tunnicliffe commented on CASSANDRA-10124:
---------------------------------------------

Digging into this, there are actually several strands that can (and probably 
should) be pulled out into separate issues.

* Index hinting, that is an extension to {{SELECT}} syntax to enable the user 
to override the internal method of selecting an appropriate index for a given 
query. (CASSANDRA-10214)

* Supporting custom query expressions in {{WHERE}} clause of {{SELECT}}. 
Parsing and validation of those expressions would be delegated to the custom 
index implementations which support them. Decoupling this from index hinting 
per se would require some means of indicating the target index for the 
expression, but that could be done by supplying the index name as the argument 
to the expression function. (CASSANDRA-10217)

* Internally, once an index has been identified as being the one that should be 
used for a given query, it should be included as part of the {{ReadCommand}} so 
that it can be retrieved when needed during execution. Currently we don't do 
this, meaning that the index selection process implemented in 
{{SIM::getBestIndexFor}} is run multiple times on both the coordinator and each 
replica when performing a range command. (CASSANDRA-10215)

* Also, during offline discussions on the subject the necessity of having a 
distinction between {{ROW}} and {{COLUMN}} based indexes came up a couple of 
times, so I've opened CASSANDRA-10216 to possibly remove that.

Having pulled out those separate tickets, leaves this to focus on just the DDL 
around multi-target custom indexes. 


> Full support for multi-column and per-row indexes
> -------------------------------------------------
>
>                 Key: CASSANDRA-10124
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10124
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sam Tunnicliffe
>            Assignee: Sam Tunnicliffe
>              Labels: client-impacting
>             Fix For: 3.0 beta 2
>
>
> Since CASSANDRA-6717 decoupled a secondary index from a single column, we can 
> expand support for indexes with multiple target columns and for row-based 
> indexes with truly dynamic targets.  
> Much of the plumbing for this has been done in CASSANDRA-7771, CASSANDRA-6717 
> & by the API rework in CASSANDRA-9459. What remains is:
> * Decide on syntax for DDL statements
> * Decide on WHERE clause syntax for SELECT (there is some discussion on this 
> in the comments of CASSANDRA-9459)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to