Author: jbellis
Date: Wed Oct 12 14:54:32 2011
New Revision: 1182413
URL: http://svn.apache.org/viewvc?rev=1182413&view=rev
Log:
allow numeric keyspace names in USE statement
patch by pyaskevich; reviewed by jbellis for CASSANDRA-3350
Modified:
cassandra/branches/cassandra-0.8/CHANGES.txt
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/Cql.g
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/QueryProcessor.java
Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1182413&r1=1182412&r2=1182413&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Wed Oct 12 14:54:32 2011
@@ -1,8 +1,9 @@
0.8.8
* fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
* make iwriter final in IndexWriter to avoid NPE (CASSANDRA-2863)
- * (CQL) update grammar to require key clause in delete statement
+ * (CQL) update grammar to require key clause in DELETE statement
(CASSANDRA-3349)
+ * (CQL) allow numeric keyspace names in USE statement (CASSANDRA-3350)
0.8.7
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/Cql.g
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/Cql.g?rev=1182413&r1=1182412&r2=1182413&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/Cql.g
(original)
+++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/Cql.g
Wed Oct 12 14:54:32 2011
@@ -121,7 +121,7 @@ query returns [CQLStatement stmnt]
// USE <KEYSPACE>;
useStatement returns [String keyspace]
- : K_USE IDENT { $keyspace = $IDENT.text; } endStmnt
+ : K_USE name=( IDENT | INTEGER | STRING_LITERAL ) { $keyspace =
$name.text; } endStmnt
;
/**
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/QueryProcessor.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/QueryProcessor.java?rev=1182413&r1=1182412&r2=1182413&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/QueryProcessor.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cql/QueryProcessor.java
Wed Oct 12 14:54:32 2011
@@ -32,6 +32,7 @@ import java.util.concurrent.TimeoutExcep
import com.google.common.base.Predicates;
import com.google.common.collect.Maps;
+import org.apache.cassandra.cli.CliUtils;
import org.apache.cassandra.db.CounterColumn;
import org.apache.cassandra.db.context.CounterContext;
import org.slf4j.Logger;
@@ -619,7 +620,7 @@ public class QueryProcessor
return result;
case USE:
- clientState.setKeyspace((String)statement.statement);
+ clientState.setKeyspace(CliUtils.unescapeSQLString((String)
statement.statement));
result.type = CqlResultType.VOID;
return result;