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)