[ 
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

        

Reply via email to