[
https://issues.apache.org/jira/browse/CASSANDRA-3919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246756#comment-13246756
]
Jonathan Ellis commented on CASSANDRA-3919:
-------------------------------------------
This is conceptually simple. At a high level this just involves
- adding a dropped_columns Set to CFMetadata
- wiring that in to AlterTableStatement
- updating AbstractCompactedRow implementations to leave them out of merged rows
We don't even have to update the IColumnIterator implementations to ignore
dropped columns, since CQL3 SelectStatement already rejects non-existing column
names in prepare().
The one wrinkle I can think of is that dropping columns should not be allowed
with COMPACT STORAGE. Should be easy to check for that in the CFMetadata,
though (i.e., empty column_aliases).
> Dropping a column should do more than just remove the definition
> ----------------------------------------------------------------
>
> Key: CASSANDRA-3919
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3919
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Jonathan Ellis
> Assignee: Sylvain Lebresne
> Labels: compaction, cql
> Fix For: 1.1.1
>
>
> Dropping a column should:
> - immediately make it unavailable for {{SELECT}}, including {{SELECT *}}
> - eventually (i.e., post-compaction) reclaim the space formerly used by that
> column
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira