You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2016/11/23 08:19:09 UTC
kylin git commit: KYLIN-2224 fix this issue
Repository: kylin
Updated Branches:
refs/heads/master 53b5a2752 -> 1ec1ffccd
KYLIN-2224 fix this issue
Signed-off-by: Hongbin Ma <ma...@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 <ch...@kyligence.io>
Authored: Wed Nov 23 11:19:04 2016 +0800
Committer: Hongbin Ma <ma...@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);