cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6643) Limit user types to the keyspace they are defined in
Date Fri, 14 Mar 2014 16:42:48 GMT

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

Sylvain Lebresne commented on CASSANDRA-6643:
---------------------------------------------

Actually, just to make sure we agree here before I go ahead and remove code, do we agree that
this means user types can never be fully qualified and always implicitly refer to the keyspace
of whatever query the name is part of? Cause contrarily to what I said just above, if we do
so, I don't think we'll be able to change our mind later and allow referencing other keyspace
type. I can leave with that "limitation" but just wanted to double check we're fine with that.

> Limit user types to the keyspace they are defined in
> ----------------------------------------------------
>
>                 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
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 2.1 beta2
>
>
> 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.2#6252)

Mime
View raw message