Author: xedin Date: Fri Aug 19 15:00:55 2011 New Revision: 1159657 URL: http://svn.apache.org/viewvc?rev=1159657&view=rev Log: Fix of numeric-only and string column names handling in CLI "drop index" patch by Pavel Yaskevich; reviewed by Jonathan Ellis for CASSANDRA-3054
Modified: cassandra/branches/cassandra-0.8/CHANGES.txt cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java Modified: cassandra/branches/cassandra-0.8/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1159657&r1=1159656&r2=1159657&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Aug 19 15:00:55 2011 @@ -17,7 +17,7 @@ on create/update of the ColumnFamily and CQL 'ALTER' statement (CASSANDRA-3036) * return an InvalidRequestException if an indexed column is assigned a value larger than 64KB (CASSANDRA-3057) - + * fix of numeric-only and string column names handling in CLI "drop index" (CASSANDRA-3054) 0.8.4 * include files-to-be-streamed in StreamInSession.getSources (CASSANDRA-2972) Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g?rev=1159657&r1=1159656&r2=1159657&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g (original) +++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/Cli.g Fri Aug 19 15:00:55 2011 @@ -428,7 +428,7 @@ keyRangeExpr ; columnName - : Identifier + : (StringLiteral | Identifier | IntegerPositiveLiteral | IntegerNegativeLiteral) ; attr_name Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java?rev=1159657&r1=1159656&r2=1159657&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java (original) +++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/cli/CliClient.java Fri Aug 19 15:00:55 2011 @@ -1389,7 +1389,7 @@ public class CliClient // getColumnFamily will check if CF exists for us String columnFamily = CliCompiler.getColumnFamily(statement, keyspacesMap.get(keySpace).cf_defs); - String rawColumName = statement.getChild(1).getText(); + String rawColumName = CliUtils.unescapeSQLString(statement.getChild(1).getText()); CfDef cfDef = getCfDef(columnFamily); Modified: cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java?rev=1159657&r1=1159656&r2=1159657&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java (original) +++ cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/cli/CliTest.java Fri Aug 19 15:00:55 2011 @@ -37,7 +37,10 @@ public class CliTest extends CleanupHelp // please add new statements here so they could be auto-runned by this test. private String[] statements = { "use TestKeySpace;", - "create column family CF1 with comparator=UTF8Type and column_metadata=[{ column_name:world, validation_class:IntegerType, index_type:0, index_name:IdxName }, { column_name:world2, validation_class:LongType, index_type:KEYS, index_name:LongIdxName}];", + "create column family CF1 with comparator=UTF8Type and column_metadata=[{ column_name:world, validation_class:IntegerType, index_type:0, index_name:IdxName }, " + + "{ column_name:world2, validation_class:LongType, index_type:KEYS, index_name:LongIdxName}, " + + "{ column_name:617070, validation_class:UTF8Type, index_type:KEYS }, " + + "{ column_name:'-617071', validation_class:UTF8Type, index_type:KEYS }];", "assume CF1 keys as utf8;", "set CF1[hello][world] = 123848374878933948398384;", "set CF1[hello][test_quote] = 'value\\'';", @@ -113,6 +116,8 @@ public class CliTest extends CleanupHelp "get Counter1['hello'];", "truncate CF1;", "drop index on CF1.world2;", + "drop index on CF1.617070;", + "drop index on CF1.'-617071';", "update keyspace TestKeySpace with placement_strategy='org.apache.cassandra.locator.LocalStrategy' and durable_writes = false;", "update keyspace TestKeySpace with strategy_options=[{DC1:3, DC2:4, DC5:1}];", "assume CF1 comparator as utf8;",