Repository: kylin
Updated Branches:
  refs/heads/yang21-hbase1.x b0bb09d17 -> 822be4708 (forced update)


bug fix: if outer query does not have aggr, join columns with subquery should 
not be added to groupbycolumns


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/44d4fe8c
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/44d4fe8c
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/44d4fe8c

Branch: refs/heads/yang21-hbase1.x
Commit: 44d4fe8c590dd2f7822acce40715832cc7a08432
Parents: cfd78bb
Author: Hongbin Ma <mahong...@apache.org>
Authored: Fri Nov 4 08:59:12 2016 +0800
Committer: Hongbin Ma <mahong...@apache.org>
Committed: Fri Nov 4 08:59:12 2016 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/metadata/realization/SQLDigest.java    | 9 +++++++++
 .../kylin/storage/gtrecord/GTCubeStorageQueryBase.java      | 7 +------
 2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/44d4fe8c/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
index 3aa39e4..e60d785 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
@@ -70,6 +70,15 @@ public class SQLDigest {
         //the reason to choose aggregations rather than metricColumns is 
because the former is set earlier at implOLAP
     }
 
+    public void includeSubqueryJoinParticipants() {
+        if (this.isRawQuery) {
+            this.allColumns.addAll(this.subqueryJoinParticipants);
+        } else {
+            this.groupbyColumns.addAll(this.subqueryJoinParticipants);
+            this.allColumns.addAll(this.subqueryJoinParticipants);
+        }
+    }
+
     @Override
     public String toString() {
         return "fact table " + this.factTable + "," + //

http://git-wip-us.apache.org/repos/asf/kylin/blob/44d4fe8c/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 86d66af..7dc6afa 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
@@ -75,12 +75,7 @@ public abstract class GTCubeStorageQueryBase implements 
IStorageQuery {
     public ITupleIterator search(StorageContext context, SQLDigest sqlDigest, 
TupleInfo returnTupleInfo) {
 
         //deal with participant columns in subquery join
-        if (sqlDigest.isRawQuery) {
-            sqlDigest.allColumns.addAll(sqlDigest.subqueryJoinParticipants);
-        } else {
-            
sqlDigest.groupbyColumns.addAll(sqlDigest.subqueryJoinParticipants);
-            sqlDigest.allColumns.addAll(sqlDigest.subqueryJoinParticipants);
-        }
+        sqlDigest.includeSubqueryJoinParticipants();
 
         //cope with queries with no aggregations
         RawQueryLastHacker.hackNoAggregations(sqlDigest, cubeDesc);

Reply via email to