You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2017/02/28 10:18:31 UTC
kylin git commit: KYLIN-2302 push the value in
statement.setMaxRows(10) to storage
Repository: kylin
Updated Branches:
refs/heads/master e875e8704 -> cda4df410
KYLIN-2302 push the value in statement.setMaxRows(10) to storage
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/cda4df41
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/cda4df41
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/cda4df41
Branch: refs/heads/master
Commit: cda4df4106551f17311fde737d349af91790b3da
Parents: e875e87
Author: Hongbin Ma <ma...@apache.org>
Authored: Tue Feb 28 18:18:36 2017 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Tue Feb 28 18:18:36 2017 +0800
----------------------------------------------------------------------
.../org/apache/kylin/storage/StorageContext.java | 16 +++++++++++-----
.../apache/kylin/query/relnode/OLAPLimitRel.java | 2 ++
2 files changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/cda4df41/core-storage/src/main/java/org/apache/kylin/storage/StorageContext.java
----------------------------------------------------------------------
diff --git a/core-storage/src/main/java/org/apache/kylin/storage/StorageContext.java b/core-storage/src/main/java/org/apache/kylin/storage/StorageContext.java
index 4713d71..a3a851f 100644
--- a/core-storage/src/main/java/org/apache/kylin/storage/StorageContext.java
+++ b/core-storage/src/main/java/org/apache/kylin/storage/StorageContext.java
@@ -20,6 +20,7 @@ package org.apache.kylin.storage;
import java.util.concurrent.atomic.AtomicLong;
+import org.apache.kylin.common.debug.BackdoorToggles;
import org.apache.kylin.cube.cuboid.Cuboid;
import org.apache.kylin.metadata.realization.IRealization;
import org.slf4j.Logger;
@@ -35,6 +36,7 @@ public class StorageContext {
private String connUrl;
private int limit = Integer.MAX_VALUE;
+ private boolean overlookOuterLimit = false;
private int offset = 0;
private int finalPushDownLimit = Integer.MAX_VALUE;
private boolean hasSort = false;
@@ -62,7 +64,15 @@ public class StorageContext {
}
public int getLimit() {
- return limit;
+ if (overlookOuterLimit) {
+ return limit;
+ } else {
+ return Math.min(limit, BackdoorToggles.getStatementMaxRows());
+ }
+ }
+
+ public void setOverlookOuterLimit() {
+ this.overlookOuterLimit = true;
}
public void setLimit(int l) {
@@ -81,10 +91,6 @@ public class StorageContext {
this.offset = offset;
}
- public void enableLimit() {
- this.limitEnabled = true;
- }
-
public boolean isLimitEnabled() {
return this.limitEnabled;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/cda4df41/query/src/main/java/org/apache/kylin/query/relnode/OLAPLimitRel.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/relnode/OLAPLimitRel.java b/query/src/main/java/org/apache/kylin/query/relnode/OLAPLimitRel.java
index 8179807..2a248cc 100644
--- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPLimitRel.java
+++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPLimitRel.java
@@ -91,6 +91,8 @@ public class OLAPLimitRel extends SingleRel implements OLAPRel {
}
context.afterLimit = true;
+ } else {
+ this.context.storageContext.setOverlookOuterLimit();
}
}