Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D3F2B1063C for ; Tue, 24 Sep 2013 13:58:25 +0000 (UTC) Received: (qmail 79148 invoked by uid 500); 24 Sep 2013 13:58:24 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 78947 invoked by uid 500); 24 Sep 2013 13:58:24 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 78939 invoked by uid 99); 24 Sep 2013 13:58:23 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Sep 2013 13:58:23 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id D7FA5908768; Tue, 24 Sep 2013 13:58:22 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: slebresne@apache.org To: commits@cassandra.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: git commit: Send correct metadata on SELECT COUNT Date: Tue, 24 Sep 2013 13:58:22 +0000 (UTC) Updated Branches: refs/heads/cassandra-2.0 7c6e5525a -> 38ae1beef Send correct metadata on SELECT COUNT patch by slebresne; reviewed by iamaleksey for CASSANDRA-6080 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/38ae1bee Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/38ae1bee Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/38ae1bee Branch: refs/heads/cassandra-2.0 Commit: 38ae1beef6cbe42447bfc0c113e0f39b1442ca73 Parents: 7c6e552 Author: Sylvain Lebresne Authored: Tue Sep 24 15:57:40 2013 +0200 Committer: Sylvain Lebresne Committed: Tue Sep 24 15:57:40 2013 +0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/cql3/ResultSet.java | 11 +++++++---- .../cassandra/cql3/statements/SelectStatement.java | 4 +++- 3 files changed, 11 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ae1bee/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 1bdb6a8..de51837 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * Improve memory usage of metadata min/max column names (CASSANDRA-6077) * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081) * Fix insertion of collections with CAS (CASSANDRA-6069) + * Correctly send metadata on SELECT COUNT (CASSANDRA-6080) Merged from 1.2: * Allow where clause conditions to be in parenthesis (CASSANDRA-6037) * Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916) http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ae1bee/src/java/org/apache/cassandra/cql3/ResultSet.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/ResultSet.java b/src/java/org/apache/cassandra/cql3/ResultSet.java index d15c7d0..e4f27f9 100644 --- a/src/java/org/apache/cassandra/cql3/ResultSet.java +++ b/src/java/org/apache/cassandra/cql3/ResultSet.java @@ -102,13 +102,16 @@ public class ResultSet return makeCountResult(ksName, cfName, count, alias); } - public static ResultSet makeCountResult(String ksName, String cfName, long count, ColumnIdentifier alias) + public static ResultSet.Metadata makeCountMetadata(String ksName, String cfName, ColumnIdentifier alias) { ColumnSpecification spec = new ColumnSpecification(ksName, cfName, alias == null ? COUNT_COLUMN : alias, LongType.instance); - Metadata newMetadata = new Metadata(Collections.singletonList(spec)); - List> newRows = Collections.singletonList(Collections.singletonList(ByteBufferUtil.bytes(count))); + return new Metadata(Collections.singletonList(spec)); + } - return new ResultSet(newMetadata, newRows); + public static ResultSet makeCountResult(String ksName, String cfName, long count, ColumnIdentifier alias) + { + List> newRows = Collections.singletonList(Collections.singletonList(ByteBufferUtil.bytes(count))); + return new ResultSet(makeCountMetadata(ksName, cfName, alias), newRows); } public CqlResult toThriftResult() http://git-wip-us.apache.org/repos/asf/cassandra/blob/38ae1bee/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java index ff6d4d3..85e9cbc 100644 --- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java @@ -104,7 +104,9 @@ public class SelectStatement implements CQLStatement public ResultSet.Metadata getResultMetadata() { - return selection.getResultMetadata(); + return parameters.isCount + ? ResultSet.makeCountMetadata(keyspace(), columnFamily(), parameters.countAlias) + : selection.getResultMetadata(); } public int getBoundsTerms()