Repository: kylin Updated Branches: refs/heads/master 53b5a2752 -> 1ec1ffccd
KYLIN-2224 fix this issue Signed-off-by: Hongbin Ma <mahong...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1ec1ffcc Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1ec1ffcc Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1ec1ffcc Branch: refs/heads/master Commit: 1ec1ffccd787036cbc89d0a549adcbb0469cb1ec Parents: 53b5a27 Author: Cheng Wang <cheng.w...@kyligence.io> Authored: Wed Nov 23 11:19:04 2016 +0800 Committer: Hongbin Ma <mahong...@apache.org> Committed: Wed Nov 23 11:46:35 2016 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/kylin/cube/RawQueryLastHacker.java | 5 +++-- .../kylin/storage/gtrecord/GTCubeStorageQueryBase.java | 2 +- .../apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/1ec1ffcc/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java b/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java index 50c644e..b0a4823 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java @@ -24,6 +24,7 @@ import org.apache.kylin.metadata.model.MeasureDesc; import org.apache.kylin.metadata.model.ParameterDesc; import org.apache.kylin.metadata.model.TblColRef; import org.apache.kylin.metadata.realization.SQLDigest; +import org.apache.kylin.metadata.tuple.TupleInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,7 +32,7 @@ public class RawQueryLastHacker { private static final Logger logger = LoggerFactory.getLogger(RawQueryLastHacker.class); - public static void hackNoAggregations(SQLDigest sqlDigest, CubeDesc cubeDesc) { + public static void hackNoAggregations(SQLDigest sqlDigest, CubeDesc cubeDesc, TupleInfo tupleInfo) { if (!sqlDigest.isRawQuery) { return; } @@ -45,7 +46,7 @@ public class RawQueryLastHacker { boolean isSelectAll = sqlDigest.allColumns.isEmpty() || sqlDigest.allColumns.equals(sqlDigest.filterColumns); for (TblColRef col : cubeDesc.listAllColumns()) { if (cubeDesc.listDimensionColumnsIncludingDerived().contains(col) || isSelectAll) { - if (col.getTable().equals(sqlDigest.factTable)) + if (tupleInfo.hasColumn(col)) sqlDigest.allColumns.add(col); } } http://git-wip-us.apache.org/repos/asf/kylin/blob/1ec1ffcc/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 24dd2fb..9c74cca 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 @@ -77,7 +77,7 @@ public abstract class GTCubeStorageQueryBase implements IStorageQuery { sqlDigest.includeSubqueryJoinParticipants(); //cope with queries with no aggregations - RawQueryLastHacker.hackNoAggregations(sqlDigest, cubeDesc); + RawQueryLastHacker.hackNoAggregations(sqlDigest, cubeDesc, returnTupleInfo); // Customized measure taking effect: e.g. allow custom measures to help raw queries notifyBeforeStorageQuery(sqlDigest); http://git-wip-us.apache.org/repos/asf/kylin/blob/1ec1ffcc/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java ---------------------------------------------------------------------- diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java index 3c73dc6..9af0faf 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java @@ -46,10 +46,10 @@ import org.apache.kylin.cube.RawQueryLastHacker; import org.apache.kylin.cube.cuboid.Cuboid; import org.apache.kylin.cube.kv.RowConstants; import org.apache.kylin.cube.model.CubeDesc; +import org.apache.kylin.cube.model.CubeDesc.DeriveInfo; import org.apache.kylin.cube.model.HBaseColumnDesc; import org.apache.kylin.cube.model.HBaseMappingDesc; import org.apache.kylin.cube.model.RowKeyDesc; -import org.apache.kylin.cube.model.CubeDesc.DeriveInfo; import org.apache.kylin.dict.lookup.LookupStringTable; import org.apache.kylin.measure.MeasureType; import org.apache.kylin.metadata.filter.ColumnTupleFilter; @@ -98,12 +98,12 @@ public class CubeStorageQuery implements IStorageQuery { @Override public ITupleIterator search(StorageContext context, SQLDigest sqlDigest, TupleInfo returnTupleInfo) { - + //deal with participant columns in subquery join sqlDigest.includeSubqueryJoinParticipants(); - + //cope with queries with no aggregations - RawQueryLastHacker.hackNoAggregations(sqlDigest, cubeDesc); + RawQueryLastHacker.hackNoAggregations(sqlDigest, cubeDesc, returnTupleInfo); // Customized measure taking effect: e.g. allow custom measures to help raw queries notifyBeforeStorageQuery(sqlDigest);