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 2016/03/23 07:59:10 UTC

[21/50] [abbrv] kylin git commit: KYLIN-1122 fixed SQLDigest.isRawQuery derive logic

KYLIN-1122 fixed SQLDigest.isRawQuery derive logic


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

Branch: refs/heads/KYLIN-1122-B2
Commit: 41bb1eea69aed9def03f02d67806269da357c382
Parents: e7cd596
Author: wangxiaoyu <ro...@gmail.com>
Authored: Sun Mar 20 19:20:08 2016 +0800
Committer: wangxiaoyu <ro...@gmail.com>
Committed: Sun Mar 20 19:20:08 2016 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/measure/raw/RawMeasureType.java     | 4 ++--
 .../java/org/apache/kylin/metadata/realization/SQLDigest.java | 7 ++++++-
 .../model_desc/test_kylin_inner_join_model_desc.json          | 3 ---
 .../localmeta/model_desc/test_kylin_left_join_model_desc.json | 3 ---
 .../org/apache/kylin/query/enumerator/OLAPEnumerator.java     | 1 -
 5 files changed, 8 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/41bb1eea/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java b/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
index 4ba1f3e..93fbce3 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
@@ -161,7 +161,7 @@ public class RawMeasureType extends MeasureType<List<ByteArray>> {
 
     public CapabilityResult.CapabilityInfluence influenceCapabilityCheck(Collection<TblColRef> unmatchedDimensions, Collection<FunctionDesc> unmatchedAggregations, SQLDigest digest, MeasureDesc measureDesc) {
         //is raw query
-        if (digest.aggregations.size() != 0 || digest.metricColumns.size() != 0)
+        if (!digest.isRawQuery())
             return null;
 
         TblColRef rawColumn = getRawColumn(measureDesc.getFunction());
@@ -192,7 +192,7 @@ public class RawMeasureType extends MeasureType<List<ByteArray>> {
 
     @Override
     public void adjustSqlDigest(MeasureDesc measureDesc, SQLDigest sqlDigest) {
-        if (sqlDigest.isRawQuery) {
+        if (sqlDigest.isRawQuery()) {
             TblColRef col = this.getRawColumn(measureDesc.getFunction());
             ParameterDesc colParameter = new ParameterDesc();
             colParameter.setType("column");

http://git-wip-us.apache.org/repos/asf/kylin/blob/41bb1eea/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 dbb1ce3..08bfc8c 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
@@ -45,7 +45,7 @@ public class SQLDigest {
     public Collection<FunctionDesc> aggregations;
     public Collection<MeasureDesc> sortMeasures;
     public Collection<OrderEnum> sortOrders;
-    public boolean isRawQuery = false;
+    private boolean isRawQuery = false;
 
     public SQLDigest(String factTable, TupleFilter filter, Collection<JoinDesc> joinDescs, Collection<TblColRef> allColumns, //
             Collection<TblColRef> groupbyColumns, Collection<TblColRef> filterColumns, Collection<TblColRef> aggregatedColumns, Collection<FunctionDesc> aggregateFunnc, Collection<MeasureDesc> sortMeasures, Collection<OrderEnum> sortOrders) {
@@ -59,6 +59,11 @@ public class SQLDigest {
         this.aggregations = aggregateFunnc;
         this.sortMeasures = sortMeasures;
         this.sortOrders = sortOrders;
+        this.isRawQuery = this.groupbyColumns.isEmpty() && this.metricColumns.isEmpty();
+    }
+
+    public boolean isRawQuery() {
+        return isRawQuery;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/kylin/blob/41bb1eea/examples/test_case_data/localmeta/model_desc/test_kylin_inner_join_model_desc.json
----------------------------------------------------------------------
diff --git a/examples/test_case_data/localmeta/model_desc/test_kylin_inner_join_model_desc.json b/examples/test_case_data/localmeta/model_desc/test_kylin_inner_join_model_desc.json
index d96793d..7b8aded 100644
--- a/examples/test_case_data/localmeta/model_desc/test_kylin_inner_join_model_desc.json
+++ b/examples/test_case_data/localmeta/model_desc/test_kylin_inner_join_model_desc.json
@@ -88,9 +88,6 @@
     }
   ],
   "metrics": [
-    "CAL_DT",
-    "LSTG_FORMAT_NAME",
-    "LEAF_CATEG_ID",
     "PRICE",
     "ITEM_COUNT"
   ],

http://git-wip-us.apache.org/repos/asf/kylin/blob/41bb1eea/examples/test_case_data/localmeta/model_desc/test_kylin_left_join_model_desc.json
----------------------------------------------------------------------
diff --git a/examples/test_case_data/localmeta/model_desc/test_kylin_left_join_model_desc.json b/examples/test_case_data/localmeta/model_desc/test_kylin_left_join_model_desc.json
index b0dbc4f..165d0d5 100644
--- a/examples/test_case_data/localmeta/model_desc/test_kylin_left_join_model_desc.json
+++ b/examples/test_case_data/localmeta/model_desc/test_kylin_left_join_model_desc.json
@@ -99,9 +99,6 @@
     }
   ],
   "metrics": [
-    "CAL_DT",
-    "LSTG_FORMAT_NAME",
-    "LEAF_CATEG_ID",
     "PRICE",
     "ITEM_COUNT"
   ],

http://git-wip-us.apache.org/repos/asf/kylin/blob/41bb1eea/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java b/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
index f5db6ae..aa8b2a7 100644
--- a/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
+++ b/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
@@ -177,7 +177,6 @@ public class OLAPEnumerator implements Enumerator<Object[]> {
         if (!sqlDigest.groupbyColumns.isEmpty() || !sqlDigest.metricColumns.isEmpty())
             return;
 
-        sqlDigest.isRawQuery = true;
         // If no group by and metric found, then it's simple query like select ... from ... where ...,
         // But we have no raw data stored, in order to return better results, we hack to output sum of metric column
         logger.info("No group by and aggregation found in this query, will hack some result for better look of output...");