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/04/17 11:44:07 UTC
[07/17] kylin git commit: KYLIN-2539 bug fix
KYLIN-2539 bug fix
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/c4b1d4a5
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/c4b1d4a5
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/c4b1d4a5
Branch: refs/heads/2.0.x-hbase0.98
Commit: c4b1d4a5a4e11f8c50b9957e38eba71d18bc6143
Parents: fac8285
Author: lidongsjtu <li...@apache.org>
Authored: Tue Apr 11 10:46:22 2017 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Tue Apr 11 13:01:28 2017 +0800
----------------------------------------------------------------------
.../apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java | 4 ----
.../main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java | 5 +++++
2 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/c4b1d4a5/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
----------------------------------------------------------------------
diff --git a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
index abac33a..08a3843 100644
--- a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
+++ b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
@@ -38,7 +38,6 @@ import org.apache.kylin.dict.lookup.LookupStringTable;
import org.apache.kylin.measure.MeasureType;
import org.apache.kylin.metadata.filter.ColumnTupleFilter;
import org.apache.kylin.metadata.filter.CompareTupleFilter;
-import org.apache.kylin.metadata.filter.FilterOptimizeTransformer;
import org.apache.kylin.metadata.filter.LogicalTupleFilter;
import org.apache.kylin.metadata.filter.TupleFilter;
import org.apache.kylin.metadata.filter.TupleFilter.FilterOperatorEnum;
@@ -149,9 +148,6 @@ public abstract class GTCubeStorageQueryBase implements IStorageQuery {
// set query deadline
context.setDeadline(cubeInstance);
- // optimize the filter, the optimization has to be segment-irrelevant
- new FilterOptimizeTransformer().transform(filterD);
-
logger.info("Cuboid identified: cube={}, cuboidId={}, groupsD={}, filterD={}, limitPushdown={}, storageAggr={}", cubeInstance.getName(), cuboid.getId(), groupsD, filterColumnD, context.getFinalPushDownLimit(), context.isNeedStorageAggregation());
return new GTCubeStorageQueryRequest(cuboid, dimensionsD, groupsD, metrics, filterD, context);
http://git-wip-us.apache.org/repos/asf/kylin/blob/c4b1d4a5/query/src/main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java b/query/src/main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java
index d3d78a0..3fba1ee 100755
--- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java
+++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java
@@ -60,6 +60,7 @@ import org.apache.kylin.metadata.filter.CompareTupleFilter;
import org.apache.kylin.metadata.filter.ConstantTupleFilter;
import org.apache.kylin.metadata.filter.DynamicTupleFilter;
import org.apache.kylin.metadata.filter.ExtractTupleFilter;
+import org.apache.kylin.metadata.filter.FilterOptimizeTransformer;
import org.apache.kylin.metadata.filter.LogicalTupleFilter;
import org.apache.kylin.metadata.filter.TupleFilter;
import org.apache.kylin.metadata.filter.TupleFilter.FilterOperatorEnum;
@@ -325,6 +326,10 @@ public class OLAPFilterRel extends Filter implements OLAPRel {
TupleFilter filter = this.condition.accept(visitor);
context.filter = TupleFilter.and(context.filter, filter);
+
+ // optimize the filter, the optimization has to be segment-irrelevant
+ new FilterOptimizeTransformer().transform(context.filter);
+
context.filterColumns.addAll(visitor.columnsInFilter);
}