Merge branch cassandra-3.1 into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f8153a1d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f8153a1d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f8153a1d Branch: refs/heads/trunk Commit: f8153a1d6b30dd7bdc66c136d5c2e3ec434a9acb Parents: 4901af6 e3113c9 Author: Benjamin Lerer <b.le...@gmail.com> Authored: Thu Nov 26 17:52:52 2015 +0100 Committer: Benjamin Lerer <b.le...@gmail.com> Committed: Thu Nov 26 17:52:52 2015 +0100 ---------------------------------------------------------------------- CHANGES.txt | 3 + NEWS.txt | 10 +++ .../cql3/statements/SelectStatement.java | 91 ++++++++++++++------ .../apache/cassandra/db/filter/DataLimits.java | 20 +++-- .../operations/SelectOrderByTest.java | 41 +++++++++ 5 files changed, 129 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8153a1d/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 41609cf,5ea2b45..83212d7 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,17 -1,9 +1,20 @@@ +3.2 + * Make compression ratio much more accurate (CASSANDRA-10225) + * Optimize building of Clustering object when only one is created (CASSANDRA-10409) + * Make index building pluggable (CASSANDRA-10681) + * Add sstable flush observer (CASSANDRA-10678) + * Improve NTS endpoints calculation (CASSANDRA-10200) + * Improve performance of the folderSize function (CASSANDRA-10677) + * Add support for type casting in selection clause (CASSANDRA-10310) + * Added graphing option to cassandra-stress (CASSANDRA-7918) + * Abort in-progress queries that time out (CASSANDRA-7392) + * Add transparent data encryption core classes (CASSANDRA-9945) + + 3.1 Merged from 3.0: -======= + * Fix SELECT statement with IN restrictions on partition key, + ORDER BY and LIMIT (CASSANDRA-10729) * Improve stress performance over 1k threads (CASSANDRA-7217) * Wait for migration responses to complete before bootstrapping (CASSANDRA-10731) * Unable to create a function with argument of type Inet (CASSANDRA-10741) http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8153a1d/NEWS.txt ---------------------------------------------------------------------- diff --cc NEWS.txt index 2ccc27d,02a9525..c71ff1a --- a/NEWS.txt +++ b/NEWS.txt @@@ -13,18 -13,15 +13,28 @@@ restore snapshots created with the prev 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. +3.2 +=== + +New features +------------ + + - Support for type casting has been added to the selection clause. + +Upgrading +--------- + - The compression ratio metrics computation has been modified to be more accurate. + ++ + 3.0.1 + ===== + + Upgrading + --------- + - The return value of SelectStatement::getLimit as been changed from DataLimits + to int. + + 3.0 === http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8153a1d/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/cql3/statements/SelectStatement.java index 03dca2d,a9bb121..cec8bcb --- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java @@@ -375,22 -391,23 +391,23 @@@ public class SelectStatement implement public ResultMessage.Rows executeInternal(QueryState state, QueryOptions options) throws RequestExecutionException, RequestValidationException { int nowInSec = FBUtilities.nowInSeconds(); - ReadQuery query = getQuery(options, nowInSec); + int userLimit = getLimit(options); + ReadQuery query = getQuery(options, nowInSec, userLimit); int pageSize = getPageSize(options); - try (ReadOrderGroup orderGroup = query.startOrderGroup()) + try (ReadExecutionController executionController = query.executionController()) { if (pageSize <= 0 || query.limits().count() <= pageSize) { - try (PartitionIterator data = query.executeInternal(orderGroup)) + try (PartitionIterator data = query.executeInternal(executionController)) { - return processResults(data, options, nowInSec); + return processResults(data, options, nowInSec, userLimit); } } else { QueryPager pager = query.getPager(options.getPagingState(), options.getProtocolVersion()); - return execute(Pager.forInternalQuery(pager, executionController), options, pageSize, nowInSec); - return execute(Pager.forInternalQuery(pager, orderGroup), options, pageSize, nowInSec, userLimit); ++ return execute(Pager.forInternalQuery(pager, executionController), options, pageSize, nowInSec, userLimit); } } }