[
https://issues.apache.org/jira/browse/CASSANDRA-2982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Yaskevich updated CASSANDRA-2982:
---------------------------------------
Attachment: CASSANDRA-2982-v3.patch
v3 with minor formatting/annotation fixes and refactorings. Rebased with latest
trunk (0bbc22c00dfcce3d0945e61e94dd91d78ed51a26).
+1 with Jonathan on keeping IndexType as I don't see the point of removing it
and think that keeping public indexManager is fine and convenient.
So if nobody has any objections I think this is ready to be committed.
Great work, Jake!
> Refactor secondary index api
> ----------------------------
>
> Key: CASSANDRA-2982
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2982
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: T Jake Luciani
> Assignee: T Jake Luciani
> Fix For: 1.0
>
> Attachments: 2982-v1.txt, 2982-v2.txt, CASSANDRA-2982-v3.patch
>
>
> Secondary indexes currently make some bad assumptions about the underlying
> indexes.
> 1. That they are always stored in other column families.
> 2. That there is a unique index per column
> In the case of CASSANDRA-2915 neither of these are true. The new api should
> abstract the search concepts and allow any search api to plug in.
> Once the code is refactored and basically pluggable we can remove the
> IndexType enum and use class names similar to how we handle partitioners and
> comparators.
> Basic api is to add a SecondaryIndexManager that handles different index
> types per CF and a SecondaryIndex base class that handles a particular type
> implementation.
> This requires major changes to ColumnFamilyStore and Table.IndexBuilder
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira