You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/06/12 15:05:51 UTC
[3/4] git commit: CQL3: Reject 2ndary indexes on table with composite
key
CQL3: Reject 2ndary indexes on table with composite key
patch by slebresne; reviewed by jbellis for CASSANDRA-4328
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2d0b14e9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2d0b14e9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2d0b14e9
Branch: refs/heads/trunk
Commit: 2d0b14e9156a5dabc92c6e3835d97da661f38329
Parents: e4ce6b3
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Tue Jun 12 15:01:08 2012 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jun 12 15:01:08 2012 +0200
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../cql3/statements/CreateIndexStatement.java | 6 +++++-
2 files changed, 7 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d0b14e9/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ed9650c..ae102f4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -4,6 +4,8 @@
* Have DeletedColumn.isMFD always return true (CASSANDRA-4307)
* ex msg for cql3 order by constraints says primary filter can be an IN clause
which is misleading (CASSANDRA-4319)
+ * (cql3) Reject (not yet supported) creation of 2ndardy indexes on tables with
+ composite primary keys (CASSANDRA-4328)
Merged from 1.0:
* Set gc_grace on index CF to 0 (CASSANDRA-4314)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2d0b14e9/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
index 9fe6f5b..e548638 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
@@ -55,6 +55,11 @@ public class CreateIndexStatement extends SchemaAlteringStatement
boolean columnExists = false;
// Mutating oldCfm directly would be bad so cloning.
CFMetaData cfm = oldCfm.clone();
+ CFDefinition cfDef = oldCfm.getCfDef();
+
+ if (cfDef.isComposite)
+ throw new InvalidRequestException("Secondary indexes are not (yet) supported on tables with composite PRIMARY KEY");
+
for (ColumnDefinition cd : cfm.getColumn_metadata().values())
{
if (cd.name.equals(columnName.key))
@@ -71,7 +76,6 @@ public class CreateIndexStatement extends SchemaAlteringStatement
}
if (!columnExists)
{
- CFDefinition cfDef = oldCfm.getCfDef();
CFDefinition.Name name = cfDef.get(columnName);
if (name != null)
{