[
https://issues.apache.org/jira/browse/CASSANDRA-6477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14628151#comment-14628151
]
Sylvain Lebresne commented on CASSANDRA-6477:
---------------------------------------------
bq. So you're saying that IS NOT NULL should treat TTL'd columns as if they
were already null?
I'm not, that would be terribly confusing (I personally couldn't live with it).
I'm saying that if initially we only support the case when all MV PK columns
have {{IS NOT NULL}}, then in the presence of TTL, a row should disappear from
the MV as soon as the first MV PK column expires. So, as I said earlier, I'm
pretty sure we can get by by TTLing the whole MV row with the smallest TTL of a
MV PK column (Carl hinted at some problem with that suggestion, but I haven't
understood his point. So we should discuss that objection but 'a priori' I
think that suggestion work).
However, I'm also saying that I don't know how to handle that expiring case as
soon as we don't have the {{IS NOT NULL}} condition on some of the column,
because in that case what we should do when a column expire is _replacing_ the
existing MV entry by a new one that have a different PK (one with a {{null}}
for the newly expired column), and that's hard to do.
> Materialized Views (was: Global Indexes)
> ----------------------------------------
>
> Key: CASSANDRA-6477
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6477
> Project: Cassandra
> Issue Type: New Feature
> Components: API, Core
> Reporter: Jonathan Ellis
> Assignee: Carl Yeksigian
> Labels: cql
> Fix For: 3.0 beta 1
>
> Attachments: test-view-data.sh, users.yaml
>
>
> Local indexes are suitable for low-cardinality data, where spreading the
> index across the cluster is a Good Thing. However, for high-cardinality
> data, local indexes require querying most nodes in the cluster even if only a
> handful of rows is returned.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)