cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6643) ALTER TYPE RENAME allows renaming to another keyspace
Date Fri, 31 Jan 2014 13:20:10 GMT


Sylvain Lebresne commented on CASSANDRA-6643:

Just to make sure we're on the same page, are you saying that we can rename to another keyspace
but that you wonder if we shouldn't refuse it? Or that it's allowed by the syntax but is broken?
Something else?

but in general, I'd be fine limiting type rename to within the same keyspace if it turns out
there is a technical difficulty to make it work across keyspaces, but skimming quickly over
the code suggest it might be just be working alright (or rather, it was the intent that it
would work but I don't think I've tested it) and I don't see why we'd limit it if it works.
But again, I might me missing your point.

> ALTER TYPE RENAME allows renaming to another keyspace
> -----------------------------------------------------
>                 Key: CASSANDRA-6643
>                 URL:
>             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 rename to .
> 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

View raw message