You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2016/01/24 04:47:39 UTC
[jira] [Resolved] (PHOENIX-1160) Allow mix of immutable and mutable
indexes on the same table
[ https://issues.apache.org/jira/browse/PHOENIX-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor resolved PHOENIX-1160.
-----------------------------------
Resolution: Won't Fix
Marking the table as immutable is important for other optimizations (like knowing conflict detection for transactions isn't required), so this no longer makes sense.
> 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
>
> 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-619). 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.3.4#6332)