You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ee...@apache.org on 2011/01/05 23:55:24 UTC

svn commit: r1055677 - /cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g

Author: eevans
Date: Wed Jan  5 22:55:24 2011
New Revision: 1055677

URL: http://svn.apache.org/viewvc?rev=1055677&view=rev
Log:
move term-pair parse and map update to separate rule

Patch by Pavel Yaskevich (w/ minor changes); reviewed by eevans for CASSANDRA-1705

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g

Modified: cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g?rev=1055677&r1=1055676&r2=1055677&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g Wed Jan  5 22:55:24 2011
@@ -127,7 +127,7 @@ updateStatement returns [UpdateStatement
       }
       K_UPDATE columnFamily=IDENT
           (K_USING K_CONSISTENCY '.' K_LEVEL { cLevel = ConsistencyLevel.valueOf($K_LEVEL.text); })?
-          K_SET c1=term '=' v1=term { columns.put(c1, v1); } (',' cN=term '=' vN=term { columns.put(cN, vN); })*
+          K_SET termPair[columns] (',' termPair[columns])*
           K_WHERE K_KEY '=' key=term endStmnt
       {
           return new UpdateStatement($columnFamily.text, cLevel, columns, key);
@@ -172,6 +172,11 @@ termList returns [List<Term> items]
       t1=term { $items.add(t1); } (',' tN=term { $items.add(tN); })*
     ;
 
+// term = term
+termPair[Map<Term, Term> columns]
+    :   key=term '=' value=term { columns.put(key, value); }
+    ;
+
 // Note: ranges are inclusive so >= and >, and < and <= all have the same semantics.  
 relation returns [Relation rel]
     : { Term entity = new Term("KEY", STRING_LITERAL); }