James Taylor created PHOENIX-1160:
-------------------------------------

             Summary: Allow mix of immutable and mutable indexes on the same 
table
                 Key: PHOENIX-1160
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1160
             Project: Phoenix
          Issue Type: Improvement
            Reporter: James Taylor
            Assignee: James Taylor


Currently, a table must be marked as immutable, through the IMMUTABLE_ROWS=true 
property specified at creation time. In this case, all indexes added to the 
table are immutable, while without this property, all indexes are mutable.

Instead, we should support a mix of immutable and mutable indexes. We already 
have an INDEX_TYPE field on our metadata row. We can add a new IMMUTABLE 
keyword and specify an index is immutable like this:
{code}
CREATE IMMUTABLE INDEX foo ON bar(c2, c1);
{code}
It would be up to the application developer to ensure that only columns that 
don't mutate are part of an immutable index (we already rely on this anyway).

Related to this is support for deletion of rows when a table has an immutable 
index (PHOENIX-581). In this JIRA, we'd throw an exception if a DELETE 
statement filters on any columns that aren't contained in *all* immutable 
indexes for that table. We currently disallow *any* DELETE on a table that's 
marked as immutable.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to