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/86645af9 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/86645af9 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/86645af9 Branch: refs/heads/KYLIN-2506 Commit: 86645af9ddec2289b330bebb3593c673e8ab2ff6 Parents: 6e248e8 Author: lidongsjtu <lid...@apache.org> Authored: Tue Apr 11 10:46:22 2017 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Tue Apr 11 10:46:22 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/86645af9/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/86645af9/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); }