Author: eevans
Date: Sun Oct 31 14:37:21 2010
New Revision: 1029364
URL: http://svn.apache.org/viewvc?rev=1029364&view=rev
Log:
make EOF a statement terminator (in addition to ';')
Patch by eevans
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=1029364&r1=1029363&r2=1029364&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cql/Cql.g Sun Oct 31 14:37:21
2010
@@ -21,7 +21,7 @@ query returns [CQLStatement stmnt]
// USE <KEYSPACE>;
useStatement returns [String keyspace]
- : K_USE IDENT { $keyspace = $IDENT.text; } ';'
+ : K_USE IDENT { $keyspace = $IDENT.text; } endStmnt
;
/**
@@ -53,7 +53,7 @@ selectStatement returns [SelectStatement
numColumns = count;
}
)*
- order=(K_ASC | K_DESC { reversed = true; })? ';'
+ order=(K_ASC | K_DESC { reversed = true; })? endStmnt
{
return new SelectStatement($IDENT.text,
cLevel,
@@ -79,7 +79,7 @@ updateStatement returns [UpdateStatement
K_UPDATE IDENT
(K_USING K_CONSISTENCY '.' K_LEVEL { cLevel =
ConsistencyLevel.valueOf($K_LEVEL.text); })?
K_WITH first=rowDef { $expr = new UpdateStatement($IDENT.text,
first, cLevel); }
- (K_AND next=rowDef { $expr.and(next); })* ';'
+ (K_AND next=rowDef { $expr.and(next); })* endStmnt
;
// TODO: date/time, utf8
@@ -108,6 +108,10 @@ rowDef returns [Row row]
: K_ROW '(' key=term ',' first=columnDef { $row = new Row($key.item,
first); }
(',' next=columnDef { $row.and(next); })* ')'
;
+
+endStmnt
+ : (EOF | ';')
+ ;
// Case-insensitive keywords
K_SELECT: S E L E C T;