[ 
https://issues.apache.org/jira/browse/CASSANDRA-10857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15599789#comment-15599789
 ] 

Sylvain Lebresne commented on CASSANDRA-10857:
----------------------------------------------

bq. The empty column selection from this issue will be irrelevant after 
CASSANDRA-12373.

I don't think that's true. That empty column won't show as long as the super 
column table is still "compact", but the goal of this ticket is to allow 
removing that flag. And what that happen, I think what we want is the table to 
basically behave exactly like it is internally, which means we're faced with 
the empty column. I could be missing what you mean though.

bq.  Is it possible to add a "non droppable" internal attribute in 
ColumnDefinition

That's a fine idea in theory, but that would imply some kind of change/addition 
to the schema table (to record the attribute) and our unfortunate current state 
is that changes to the schema in 3.X break stuffs. And we want this in 3.X. We 
can still easily add it in 4.0+ to at least protect this moving forward, which 
is better than nothing I suppose. 

> Allow dropping COMPACT STORAGE flag from tables in 3.X
> ------------------------------------------------------
>
>                 Key: CASSANDRA-10857
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10857
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL, Distributed Metadata
>            Reporter: Aleksey Yeschenko
>            Assignee: Alex Petrov
>             Fix For: 3.x
>
>
> Thrift allows users to define flexible mixed column families - where certain 
> columns would have explicitly pre-defined names, potentially non-default 
> validation types, and be indexed.
> Example:
> {code}
> create column family foo
>     and default_validation_class = UTF8Type
>     and column_metadata = [
>         {column_name: bar, validation_class: Int32Type, index_type: KEYS},
>         {column_name: baz, validation_class: UUIDType, index_type: KEYS}
>     ];
> {code}
> Columns named {{bar}} and {{baz}} will be validated as {{Int32Type}} and 
> {{UUIDType}}, respectively, and be indexed. Columns with any other name will 
> be validated by {{UTF8Type}} and will not be indexed.
> With CASSANDRA-8099, {{bar}} and {{baz}} would be mapped to static columns 
> internally. However, being {{WITH COMPACT STORAGE}}, the table will only 
> expose {{bar}} and {{baz}} columns. Accessing any dynamic columns (any column 
> not named {{bar}} and {{baz}}) right now requires going through Thrift.
> This is blocking Thrift -> CQL migration for users who have mixed 
> dynamic/static column families. That said, it *shouldn't* be hard to allow 
> users to drop the {{compact}} flag to expose the table as it is internally 
> now, and be able to access all columns.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to