Updated Branches: refs/heads/trunk b2dcd9406 -> 804dd0991
changes related to CASSANDRA-4490 merge Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/804dd099 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/804dd099 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/804dd099 Branch: refs/heads/trunk Commit: 804dd099121f4b1b16344526e25c45c913bd5082 Parents: bcec7a5 Author: Pavel Yaskevich <xe...@apache.org> Authored: Tue Sep 11 00:43:58 2012 +0300 Committer: Pavel Yaskevich <xe...@apache.org> Committed: Tue Sep 11 00:43:58 2012 +0300 ---------------------------------------------------------------------- .../org/apache/cassandra/cql/QueryProcessor.java | 6 ++++-- .../statements/CreateColumnFamilyStatement.java | 3 ++- .../cql3/statements/CreateKeyspaceStatement.java | 3 ++- .../cql3/statements/DropKeyspaceStatement.java | 3 ++- 4 files changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/804dd099/src/java/org/apache/cassandra/cql/QueryProcessor.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql/QueryProcessor.java b/src/java/org/apache/cassandra/cql/QueryProcessor.java index 955d07b..074c50a 100644 --- a/src/java/org/apache/cassandra/cql/QueryProcessor.java +++ b/src/java/org/apache/cassandra/cql/QueryProcessor.java @@ -724,11 +724,13 @@ public class QueryProcessor case DROP_INDEX: DropIndexStatement dropIdx = (DropIndexStatement)statement.statement; - clientState.hasColumnFamilySchemaAccess(Permission.WRITE); try { - MigrationManager.announceColumnFamilyUpdate(dropIdx.generateCFMetadataUpdate(clientState.getKeyspace())); + CFMetaData updatedCF = dropIdx.generateCFMetadataUpdate(clientState.getKeyspace()); + clientState.hasColumnFamilyAccess(updatedCF.ksName, updatedCF.cfName, Permission.USE); + + MigrationManager.announceColumnFamilyUpdate(updatedCF); } catch (ConfigurationException e) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/804dd099/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java index e815c40..ac7d02c 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import org.apache.cassandra.auth.Permission; +import org.apache.cassandra.exceptions.UnauthorizedException; import org.apache.commons.lang.StringUtils; import com.google.common.collect.HashMultiset; import com.google.common.collect.Multiset; @@ -67,7 +68,7 @@ public class CreateColumnFamilyStatement extends SchemaAlteringStatement this.properties = properties; } - public void checkAccess(ClientState state) throws InvalidRequestException + public void checkAccess(ClientState state) throws UnauthorizedException, InvalidRequestException { state.hasColumnFamilyAccess(keyspace(), columnFamily(), Permission.CREATE); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/804dd099/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java index 1d60240..4252dfc 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/CreateKeyspaceStatement.java @@ -27,6 +27,7 @@ import org.apache.cassandra.config.KSMetaData; import org.apache.cassandra.config.Schema; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.exceptions.RequestValidationException; +import org.apache.cassandra.exceptions.UnauthorizedException; import org.apache.cassandra.locator.AbstractReplicationStrategy; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.service.MigrationManager; @@ -58,7 +59,7 @@ public class CreateKeyspaceStatement extends SchemaAlteringStatement this.attrs = attrs; } - public void checkAccess(ClientState state) throws InvalidRequestException + public void checkAccess(ClientState state) throws UnauthorizedException, InvalidRequestException { state.hasKeyspaceAccess(name, Permission.CREATE); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/804dd099/src/java/org/apache/cassandra/cql3/statements/DropKeyspaceStatement.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/statements/DropKeyspaceStatement.java b/src/java/org/apache/cassandra/cql3/statements/DropKeyspaceStatement.java index 8e2cfbe..79f23aa 100644 --- a/src/java/org/apache/cassandra/cql3/statements/DropKeyspaceStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/DropKeyspaceStatement.java @@ -21,6 +21,7 @@ import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.exceptions.InvalidRequestException; import org.apache.cassandra.exceptions.RequestValidationException; import org.apache.cassandra.auth.Permission; +import org.apache.cassandra.exceptions.UnauthorizedException; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.service.MigrationManager; import org.apache.cassandra.thrift.ThriftValidation; @@ -35,7 +36,7 @@ public class DropKeyspaceStatement extends SchemaAlteringStatement this.keyspace = keyspace; } - public void checkAccess(ClientState state) throws InvalidRequestException + public void checkAccess(ClientState state) throws UnauthorizedException, InvalidRequestException { state.hasKeyspaceAccess(keyspace, Permission.DROP); }