Repository: kylin
Updated Branches:
  refs/heads/2.x-staging 7fdf1fda0 -> 9203b230e


KYLIN-976 Bug fix on HLLCMeasureType


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

Branch: refs/heads/2.x-staging
Commit: 9203b230ea285c6c26b094d1305ce6f493ba7b05
Parents: 7fdf1fd
Author: Li, Yang <yang...@ebay.com>
Authored: Wed Dec 9 15:02:46 2015 +0800
Committer: Li, Yang <yang...@ebay.com>
Committed: Wed Dec 9 15:03:21 2015 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/measure/hllc/HLLCMeasureType.java    | 3 +--
 .../java/org/apache/kylin/query/relnode/OLAPAggregateRel.java  | 6 +++---
 2 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/9203b230/core-metadata/src/main/java/org/apache/kylin/measure/hllc/HLLCMeasureType.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/hllc/HLLCMeasureType.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/hllc/HLLCMeasureType.java
index 5c4d8b4..fffb0d1 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/hllc/HLLCMeasureType.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/hllc/HLLCMeasureType.java
@@ -117,8 +117,7 @@ public class HLLCMeasureType extends 
MeasureType<HyperLogLogPlusCounter> {
 
     @Override
     public Class<?> getRewriteCalciteAggrFunctionClass() {
-        // TODO Auto-generated method stub
-        return null;
+        return HLLDistinctCountAggFunc.class;
     }
 
     public static boolean isCountDistinct(FunctionDesc func) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/9203b230/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
----------------------------------------------------------------------
diff --git 
a/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java 
b/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
index cebfd12..0c53703 100644
--- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
+++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
@@ -302,7 +302,7 @@ public class OLAPAggregateRel extends Aggregate implements 
OLAPRel {
         if (func.isCount()) {
             newAgg = SqlStdOperatorTable.SUM0;
         } else if (func.getMeasureType().getRewriteCalciteAggrFunctionClass() 
!= null) {
-            newAgg = createCustomAggFunction(fieldType, 
func.getMeasureType().getRewriteCalciteAggrFunctionClass());
+            newAgg = createCustomAggFunction(func.getExpression(), fieldType, 
func.getMeasureType().getRewriteCalciteAggrFunctionClass());
         }
 
         // rebuild aggregate call
@@ -310,9 +310,9 @@ public class OLAPAggregateRel extends Aggregate implements 
OLAPRel {
         return newAggCall;
     }
 
-    private SqlAggFunction createCustomAggFunction(RelDataType returnType, 
Class<?> customAggFuncClz) {
+    private SqlAggFunction createCustomAggFunction(String funcName, 
RelDataType returnType, Class<?> customAggFuncClz) {
         RelDataTypeFactory typeFactory = getCluster().getTypeFactory();
-        SqlIdentifier sqlIdentifier = new 
SqlIdentifier(customAggFuncClz.getSimpleName(), new SqlParserPos(1, 1));
+        SqlIdentifier sqlIdentifier = new SqlIdentifier(funcName, new 
SqlParserPos(1, 1));
         AggregateFunction aggFunction = 
AggregateFunctionImpl.create(customAggFuncClz);
         List<RelDataType> argTypes = new ArrayList<RelDataType>();
         List<SqlTypeFamily> typeFamilies = new ArrayList<SqlTypeFamily>();

Reply via email to