You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Russ Hatch (JIRA)" <ji...@apache.org> on 2014/01/31 02:31:05 UTC

[jira] [Created] (CASSANDRA-6643) ALTER TYPE RENAME allows renaming to another keyspace

Russ Hatch created CASSANDRA-6643:
-------------------------------------

             Summary: ALTER TYPE RENAME allows renaming to another keyspace
                 Key: CASSANDRA-6643
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6643
             Project: Cassandra
          Issue Type: Bug
         Environment: java version "1.7.0_51"
cassandra from trunk, 4b54b8...
            Reporter: Russ Hatch
            Priority: Minor


I'm not 100% certain this is a bug.

The current syntax for "alter type rename" requires the keyspace on the old and new table name (if a keyspace is not active). So, to rename the type 'foo' to 'bar', you have to issue this statement:
ALTER TYPE ks.foo rename to ks.bar .

As a result, this syntax will also allow renaming the type into another existing keyspace, which updates the metadata in system.schema_usertypes.

I'm wondering if perhaps we can omit the second keyspace prefix and implicitly rename into the same keyspace.

To reproduce:
{noformat}
cqlsh> create keyspace user_types with replication = {'class':'SimpleStrategy', 'replication_factor':3} ;
cqlsh> create keyspace user_types2 with replication = {'class':'SimpleStrategy', 'replication_factor':3} ;
cqlsh> CREATE TYPE user_types.simple_type (user_number int);
cqlsh> alter type user_types.simple_type rename to user_types2.simple_type;
{noformat}

Renaming to another keyspace is also possible when a keyspace is active, like so:
{noformat}
cqlsh:user_types> alter type simple_type rename to user_types2.simple_type;
{noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)