You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2014/11/21 20:22:41 UTC

cassandra git commit: Ninja: fix check for duplicate cols in INSERT

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 084d93daf -> 025b4060c


Ninja: fix check for duplicate cols in INSERT

This was caused by the changes for CASSANDRA-8178


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/025b4060
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/025b4060
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/025b4060

Branch: refs/heads/cassandra-2.0
Commit: 025b4060cb3088f8815909e1710801f757e7a497
Parents: 084d93d
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Fri Nov 21 13:21:36 2014 -0600
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Fri Nov 21 13:21:36 2014 -0600

----------------------------------------------------------------------
 .../cassandra/cql3/statements/UpdateStatement.java      | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/025b4060/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
index 022af26..e2da251 100644
--- a/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
@@ -138,13 +138,17 @@ public class UpdateStatement extends ModificationStatement
 
             for (int i = 0; i < columnNames.size(); i++)
             {
-                CFDefinition.Name name = cfDef.get(columnNames.get(i).prepare(cfDef.cfm));
+                ColumnIdentifier id = columnNames.get(i).prepare(cfDef.cfm);
+                CFDefinition.Name name = cfDef.get(id);
                 if (name == null)
-                    throw new InvalidRequestException(String.format("Unknown identifier %s", columnNames.get(i)));
+                    throw new InvalidRequestException(String.format("Unknown identifier %s", id));
 
                 for (int j = 0; j < i; j++)
-                    if (name.name.equals(columnNames.get(j)))
-                        throw new InvalidRequestException(String.format("Multiple definitions found for column %s", name));
+                {
+                    ColumnIdentifier otherId = columnNames.get(j).prepare(cfDef.cfm);
+                    if (id.equals(otherId))
+                        throw new InvalidRequestException(String.format("Multiple definitions found for column %s", id));
+                }
 
                 Term.Raw value = columnValues.get(i);