Sylvain Lebresne created CASSANDRA-4822:
-------------------------------------------

             Summary: CQL3: Allow renaming PK columns to ease upgrade from 
thrift
                 Key: CASSANDRA-4822
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4822
             Project: Cassandra
          Issue Type: Bug
          Components: API
            Reporter: Sylvain Lebresne
            Assignee: Sylvain Lebresne
            Priority: Minor


Say you have a clicks CF in thrift storing for each user a timeline of which 
links it clicked on. It may have a definition like:
{noformat}
create column family clicks with key_validation_class = UUIDType and comparator 
= TimeUUIDType and default_validation_class = UTF8Type
{noformat}

In CQL3, you can access that thrift created CF as if it had been defined by:
{noformat}
CREATE TABLE clicks (
  key uuid,
  column timeuuid,
  value text,
  PRIMARY KEY (key, column)
) WITH COMPACT STORAGE
{noformat}
In other words, CQL3 will pick default names for the key_alias, column_aliases 
and value_alias metadata. It's ok but it would be more user friendly to use if 
the user could rename those to something better. Today, the only solution would 
be to remove the schema and re-create the table in CQL3. We can make that 
simpler by adding support for:
{noformat}
ALTER TABLE clicks RENAME key to user_id;
ALTER TABLE clicks RENAME column to insertion_time;
ALTER TABLE clicks RENAME value to url_clicked; 
{noformat}

Of course such rename statement won't be applicable to all columns. Namely, we 
can only allow renaming PK columns and in some compact storage cases the value. 
But that's probably still worth adding.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to