Author: jbellis
Date: Wed Oct 20 20:15:27 2010
New Revision: 1025705

URL: http://svn.apache.org/viewvc?rev=1025705&view=rev
Log:
fix cli value conversion, update readme
patch by Pavel Yaskevich and jbellis for CASSANDRA-1635

Modified:
    cassandra/trunk/README.txt
    cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java

Modified: cassandra/trunk/README.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/README.txt?rev=1025705&r1=1025704&r2=1025705&view=diff
==============================================================================
--- cassandra/trunk/README.txt (original)
+++ cassandra/trunk/README.txt Wed Oct 20 20:15:27 2010
@@ -43,45 +43,51 @@ remain in the foreground and log to stan
 
 Now let's try to read and write some data using the command line client.
 
-  * bin/cassandra-cli --host localhost --port 9160
+  * bin/cassandra-cli --host localhost
 
 The command line client is interactive so if everything worked you should
 be sitting in front of a prompt...
 
-  Connected to localhost/9160
+  Connected to: "Test Cluster" on localhost/9160
   Welcome to cassandra CLI.
-  
+
   Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
-  cassandra>
+  [defa...@unknown] 
 
 As the banner says, you can use 'help' or '?' to see what the CLI has to
 offer, and 'quit' or 'exit' when you've had enough fun. But lets try
 something slightly more interesting...
 
-  cassandra> set Keyspace1.Standard2['jsmith']['first'] = 'John'
+  [defa...@unknown] create keyspace Keyspace1
+  ece86bde-dc55-11df-8240-e700f669bcfc
+  [defa...@unknown] use Keyspace1
+  Authenticated to keyspace: Keyspace1
+  [defa...@keyspace1] create column family Users with comparator=UTF8Type
+  737c7a71-dc56-11df-8240-e700f669bcfc
+
+  [defa...@ks1] set Users[jsmith][first] = 'John'
   Value inserted.
-  cassandra> set Keyspace1.Standard2['jsmith']['last'] = 'Smith'
+  [defa...@ks1] set Users[jsmith][last] = 'Smith'
   Value inserted.
-  cassandra> set Keyspace1.Standard2['jsmith']['age'] = '42'
+  [defa...@ks1] set Users[jsmith][age] = long(42)
   Value inserted.
-  cassandra> get Keyspace1.Standard2['jsmith']
-    (column=age, value=42; timestamp=1249930062801)
-    (column=first, value=John; timestamp=1249930053103)
-    (column=last, value=Smith; timestamp=1249930058345)
-  Returned 3 rows.
-  cassandra>
+  [defa...@ks1] get Users[jsmith]
+  => (column=last, value=Smith, timestamp=1287604215498000)
+  => (column=first, value=John, timestamp=1287604214111000)
+  => (column=age, value=42, timestamp=1287604216661000)
+  Returned 3 results.
 
 If your session looks similar to what's above, congrats, your single node
 cluster is operational! But what exactly was all of that? Let's break it
 down into pieces and see.
 
-  set Keyspace1.Standard2['jsmith']['first'] = 'John'
-       \            \         \        \          \
-        \            \         \_ key   \          \_ value
-         \            \                  \_ column
-          \_ keyspace  \_ column family
+  set Users[jsmith][first] = 'John'
+        \      \        \          \
+         \      \_ key   \          \_ value
+          \               \_ column
+           \_ column family
 
-Data stored in Cassandra is associated with a column family (Standard2),
+Data stored in Cassandra is associated with a column family (Users),
 which in turn is associated with a keyspace (Keyspace1). In the example
 above, we set the value 'John' in the 'first' column for key 'jsmith'.
 

Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=1025705&r1=1025704&r2=1025705&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java Wed Oct 20 
20:15:27 2010
@@ -597,6 +597,9 @@ public class CliClient 
                                                                     new 
ColumnParent(columnFamily).setSuper_column(superColumnName),
                                                                     new 
SlicePredicate().setColumn_names(null).setSlice_range(range), 
ConsistencyLevel.ONE);
         int size = columns.size();
+
+        AbstractType validator;
+        CfDef cfDef = getCfDef(columnFamily);
         
         // Print out super columns or columns.
         for (ColumnOrSuperColumn cosc : columns)
@@ -607,16 +610,20 @@ public class CliClient 
 
                 css_.out.printf("=> (super_column=%s,", 
formatSuperColumnName(keyspace, columnFamily, superColumn));
                 for (Column col : superColumn.getColumns())
+                {
+                    validator = getValidatorForValue(cfDef, col.getName());
                     css_.out.printf("\n     (column=%s, value=%s, 
timestamp=%d)", formatSubcolumnName(keyspace, columnFamily, col),
-                                    new String(col.value, "UTF-8"), 
col.timestamp);
+                                    validator.getString(col.value), 
col.timestamp);
+                }
                 
                 css_.out.println(")");
             }
             else
             {
                 Column column = cosc.column;
+                validator = getValidatorForValue(cfDef, column.getName());
                 css_.out.printf("=> (column=%s, value=%s, timestamp=%d)\n", 
formatColumnName(keyspace, columnFamily, column),
-                                new String(column.value, "UTF-8"), 
column.timestamp);
+                                validator.getString(column.value), 
column.timestamp);
             }
         }
         


Reply via email to