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