Author: eevans
Date: Mon Dec 14 21:14:32 2009
New Revision: 890480
URL: http://svn.apache.org/viewvc?rev=890480&view=rev
Log:
(de)serialize columns to/from hex regardless of comparator
Patch by eevans; reviewed by Ramzi Rabah for CASSANDRA-618
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java
incubator/cassandra/trunk/test/resources/SimpleCF.json
incubator/cassandra/trunk/test/resources/SuperCF.json
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=890480&r1=890479&r2=890480&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java
Mon Dec 14 21:14:32 2009
@@ -31,7 +31,7 @@
import org.apache.cassandra.io.IteratingRow;
import org.apache.cassandra.io.SSTableReader;
import org.apache.cassandra.io.SSTableScanner;
-import org.apache.cassandra.utils.FBUtilities;
+import static org.apache.cassandra.utils.FBUtilities.bytesToHex;
import org.apache.commons.cli.*;
/**
@@ -77,9 +77,9 @@
{
json.append("[");
IColumn column = iter.next();
- json.append(quote(comp.getString(column.name())));
+ json.append(quote(bytesToHex(column.name())));
json.append(", ");
- json.append(quote(FBUtilities.bytesToHex(column.value())));
+ json.append(quote(bytesToHex(column.value())));
json.append(", ");
json.append(column.timestamp());
json.append(", ");
@@ -108,7 +108,7 @@
while (iter.hasNext())
{
IColumn column = iter.next();
- json.append(asKey(comparator.getString(column.name())));
+ json.append(asKey(bytesToHex(column.name())));
json.append("{");
json.append(asKey("deletedAt"));
json.append(column.getMarkedForDeleteAt());
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java?rev=890480&r1=890479&r2=890480&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java
Mon Dec 14 21:14:32 2009
@@ -29,7 +29,7 @@
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.io.DataOutputBuffer;
import org.apache.cassandra.io.SSTableWriter;
-import org.apache.cassandra.utils.FBUtilities;
+import static org.apache.cassandra.utils.FBUtilities.hexToBytes;
import org.apache.commons.cli.*;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@@ -85,9 +85,9 @@
{
for (Object c : row)
{
- JsonColumn col = new JsonColumn(c);
- QueryPath path = new QueryPath(cfamily.name(), null,
col.name.getBytes());
- cfamily.addColumn(path, FBUtilities.hexToBytes(col.value),
col.timestamp, col.isDeleted);
+ JsonColumn col = new JsonColumn(c);
+ QueryPath path = new QueryPath(cfamily.name(), null,
hexToBytes(col.name));
+ cfamily.addColumn(path, hexToBytes(col.value), col.timestamp,
col.isDeleted);
}
}
@@ -102,7 +102,7 @@
// Super columns
for (Map.Entry<String, JSONObject> entry : (Set<Map.Entry<String,
JSONObject>>)row.entrySet())
{
- byte[] superName = entry.getKey().getBytes();
+ byte[] superName = hexToBytes(entry.getKey());
long deletedAt = (Long)entry.getValue().get("deletedAt");
JSONArray subColumns =
(JSONArray)entry.getValue().get("subColumns");
@@ -110,8 +110,8 @@
for (Object c : subColumns)
{
JsonColumn col = new JsonColumn(c);
- QueryPath path = new QueryPath(cfamily.name(), superName,
col.name.getBytes());
- cfamily.addColumn(path, FBUtilities.hexToBytes(col.value),
col.timestamp, col.isDeleted);
+ QueryPath path = new QueryPath(cfamily.name(), superName,
hexToBytes(col.name));
+ cfamily.addColumn(path, hexToBytes(col.value), col.timestamp,
col.isDeleted);
}
SuperColumn superColumn =
(SuperColumn)cfamily.getColumn(superName);
Modified: incubator/cassandra/trunk/test/resources/SimpleCF.json
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/resources/SimpleCF.json?rev=890480&r1=890479&r2=890480&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/resources/SimpleCF.json (original)
+++ incubator/cassandra/trunk/test/resources/SimpleCF.json Mon Dec 14 21:14:32
2009
@@ -1,4 +1,4 @@
{
- "rowA": [["colAA", "76616c4141", 1, false], ["colAB", "76616c4142", 1,
false]],
- "rowB": [["colBA", "76616c4241", 1, false], ["colBB", "76616c4242", 1, false]]
+ "rowA": [["636f6c4141", "76616c4141", 1, false], ["636f6c4142", "76616c4142",
1, false]],
+ "rowB": [["636f6c4241", "76616c4241", 1, false], ["636f6c4242", "76616c4242",
1, false]]
}
Modified: incubator/cassandra/trunk/test/resources/SuperCF.json
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/resources/SuperCF.json?rev=890480&r1=890479&r2=890480&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/resources/SuperCF.json (original)
+++ incubator/cassandra/trunk/test/resources/SuperCF.json Mon Dec 14 21:14:32
2009
@@ -1,4 +1,4 @@
{
- "rowA": {"superA": {"deletedAt": -9223372036854775808, "subColumns":
[["colAA", "76616c75654141", 1, false], ["colAB", "76616c75654142", 1,
false]]}},
- "rowB": {"superB": {"deletedAt": -9223372036854775808, "subColumns":
[["colBA", "76616c75654241", 1, false], ["colBB", "76616c75654242", 1, false]]}}
+ "rowA": {"737570657241": {"deletedAt": -9223372036854775808, "subColumns":
[["636f6c4141", "76616c75654141", 1, false], ["636f6c4142", "76616c75654142",
1, false]]}},
+ "rowB": {"737570657242": {"deletedAt": -9223372036854775808, "subColumns":
[["636f6c4241", "76616c75654241", 1, false], ["636f6c4242", "76616c75654242",
1, false]]}}
}