Merge branch 'cassandra-3.0' into cassandra-3.11
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d9a2cc94 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d9a2cc94 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d9a2cc94 Branch: refs/heads/cassandra-3.11 Commit: d9a2cc947fe956b233f6eeed25e819df5a332d3d Parents: 28b75ba 45218f9 Author: Sam Tunnicliffe <s...@beobal.com> Authored: Fri Sep 15 12:22:34 2017 +0100 Committer: Sam Tunnicliffe <s...@beobal.com> Committed: Fri Sep 15 12:22:34 2017 +0100 ---------------------------------------------------------------------- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/cql3/selection/Selection.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d9a2cc94/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d9a2cc94/src/java/org/apache/cassandra/cql3/selection/Selection.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/cql3/selection/Selection.java index 428634c,406f849..5e7c6e3 --- a/src/java/org/apache/cassandra/cql3/selection/Selection.java +++ b/src/java/org/apache/cassandra/cql3/selection/Selection.java @@@ -259,39 -248,13 +259,39 @@@ public abstract class Selectio @Override public String toString() { - return Objects.toStringHelper(this) - .add("columns", columns) - .add("columnMapping", columnMapping) - .add("metadata", metadata) - .add("collectTimestamps", collectTimestamps) - .add("collectTTLs", collectTTLs) - .toString(); + return MoreObjects.toStringHelper(this) + .add("columns", columns) + .add("columnMapping", columnMapping) + .add("metadata", metadata) + .add("collectTimestamps", collectTimestamps) + .add("collectTTLs", collectTTLs) + .toString(); + } + + public static List<ByteBuffer> rowToJson(List<ByteBuffer> row, ProtocolVersion protocolVersion, ResultSet.ResultMetadata metadata) + { + StringBuilder sb = new StringBuilder("{"); + for (int i = 0; i < metadata.names.size(); i++) + { + if (i > 0) + sb.append(", "); + + ColumnSpecification spec = metadata.names.get(i); + String columnName = spec.name.toString(); + if (!columnName.equals(columnName.toLowerCase(Locale.US))) + columnName = "\"" + columnName + "\""; + + ByteBuffer buffer = row.get(i); + sb.append('"'); + sb.append(Json.quoteAsJsonString(columnName)); + sb.append("\": "); - if (buffer == null) ++ if (buffer == null || !buffer.hasRemaining()) + sb.append("null"); + else + sb.append(spec.type.toJSONString(buffer, protocolVersion)); + } + sb.append("}"); + return Collections.singletonList(UTF8Type.instance.getSerializer().serialize(sb.toString())); } public class ResultSetBuilder --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org