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 4580318DB7 for ; Wed, 23 Dec 2015 11:23:09 +0000 (UTC) Received: (qmail 80617 invoked by uid 500); 23 Dec 2015 11:23:09 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 80530 invoked by uid 500); 23 Dec 2015 11:23:09 -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 80367 invoked by uid 99); 23 Dec 2015 11:23:09 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Dec 2015 11:23:09 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id D9586E00D0; Wed, 23 Dec 2015 11:23:08 +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 Date: Wed, 23 Dec 2015 11:23:09 -0000 Message-Id: In-Reply-To: <37448fcfc1c647bab71885e6d20f81eb@git.apache.org> References: <37448fcfc1c647bab71885e6d20f81eb@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/2] cassandra git commit: Assert !reversed in updateBlock and improve test Assert !reversed in updateBlock and improve test Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e7c6e14f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e7c6e14f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e7c6e14f Branch: refs/heads/10903 Commit: e7c6e14fd2662c35310d1b27017aed75640ce002 Parents: bc887ac Author: Sylvain Lebresne Authored: Wed Dec 23 12:13:54 2015 +0100 Committer: Sylvain Lebresne Committed: Wed Dec 23 12:18:38 2015 +0100 ---------------------------------------------------------------------- .../cassandra/db/columniterator/AbstractSSTableIterator.java | 4 ++++ .../org/apache/cassandra/cql3/QueryWithIndexedSSTableTest.java | 4 ++++ 2 files changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e7c6e14f/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java b/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java index f103ee2..8ac3dcb 100644 --- a/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java +++ b/src/java/org/apache/cassandra/db/columniterator/AbstractSSTableIterator.java @@ -443,8 +443,12 @@ abstract class AbstractSSTableIterator implements SliceableUnfilteredRowIterator } // Update the block idx based on the current reader position if we're past the current block. + // This only makes sense for forward iteration (for reverse ones, when we reach the end of a block we + // should seek to the previous one, not update the index state and continue). public void updateBlock() throws IOException { + assert !reversed; + // If we get here with currentBlockIdx < 0, it means setToBlock() has never been called, so it means // we're about to read from the beginning of the partition, but haven't "prepared" the IndexState yet. // Do so by setting us on the first block. http://git-wip-us.apache.org/repos/asf/cassandra/blob/e7c6e14f/test/unit/org/apache/cassandra/cql3/QueryWithIndexedSSTableTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/cql3/QueryWithIndexedSSTableTest.java b/test/unit/org/apache/cassandra/cql3/QueryWithIndexedSSTableTest.java index 00f0ca2..4838392 100644 --- a/test/unit/org/apache/cassandra/cql3/QueryWithIndexedSSTableTest.java +++ b/test/unit/org/apache/cassandra/cql3/QueryWithIndexedSSTableTest.java @@ -65,6 +65,10 @@ public class QueryWithIndexedSSTableTest extends CQLTester assert hasIndexed; assertRowCount(execute("SELECT s FROM %s WHERE k = ?", 0), ROWS); + assertRowCount(execute("SELECT s FROM %s WHERE k = ? ORDER BY t DESC", 0), ROWS); + + assertRowCount(execute("SELECT DISTINCT s FROM %s WHERE k = ?", 0), 1); + assertRowCount(execute("SELECT DISTINCT s FROM %s WHERE k = ? ORDER BY t DESC", 0), 1); } // Creates a random string