You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ka...@apache.org on 2017/12/05 02:36:20 UTC
kylin git commit: KYLIN-2604 Non-Int type precise count distinct
measure must set advanced dict
Repository: kylin
Updated Branches:
refs/heads/master 5a6e6d7e3 -> ed319575e
KYLIN-2604 Non-Int type precise count distinct measure must set advanced dict
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ed319575
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ed319575
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ed319575
Branch: refs/heads/master
Commit: ed319575e6da35998e427e9803f69df2b450b872
Parents: 5a6e6d7
Author: kangkaisen <ka...@meituan.com>
Authored: Thu Aug 24 17:49:50 2017 +0800
Committer: kangkaisen <ka...@meituan.com>
Committed: Tue Dec 5 10:35:24 2017 +0800
----------------------------------------------------------------------
webapp/app/js/controllers/cubeEdit.js | 12 +++++++++++-
webapp/app/js/controllers/cubeSchema.js | 20 ++++++++++++++++++++
2 files changed, 31 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/ed319575/webapp/app/js/controllers/cubeEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js
index 99b298c..3cf248f 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -200,6 +200,16 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
return type;
};
+ $scope.isIntMeasure = function (measure) {
+ var column = measure.function.parameter.value;
+ if(column && (typeof column=="string")){
+ var colType = $scope.getColumnType(VdmUtil.removeNameSpace(column), VdmUtil.getNameSpaceAliasName(column));
+ if(colType==="tinyint"||colType==="smallint"||colType==="int"||colType==="integer"){
+ return true;
+ }
+ }
+ return false;
+ };
// ~ Define data
$scope.state = {
@@ -730,7 +740,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
var distinctMeasures = [];
angular.forEach($scope.cubeMetaFrame.measures, function (measure, index) {
- if (measure.function.expression === 'COUNT_DISTINCT' && measure.function.returntype === 'bitmap') {
+ if (measure.function.expression === 'COUNT_DISTINCT' && measure.function.returntype === 'bitmap' && !$scope.isIntMeasure(measure)) {
var measureColumn = measure.function.parameter.value;
distinctMeasures.push(measureColumn);
//keep backward compatibility
http://git-wip-us.apache.org/repos/asf/kylin/blob/ed319575/webapp/app/js/controllers/cubeSchema.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeSchema.js b/webapp/app/js/controllers/cubeSchema.js
index a912c72..590168b 100755
--- a/webapp/app/js/controllers/cubeSchema.js
+++ b/webapp/app/js/controllers/cubeSchema.js
@@ -401,6 +401,26 @@ KylinApp.controller('CubeSchemaCtrl', function ($scope, QueryService, UserServic
}
+ angular.forEach($scope.cubeMetaFrame.measures, function (measure, index) {
+ if (measure.function.expression === 'COUNT_DISTINCT' && measure.function.returntype === 'bitmap' && !$scope.isIntMeasure(measure)) {
+ var measureColumn = measure.function.parameter.value;
+
+ var isColumnExit = false;
+ angular.forEach($scope.cubeMetaFrame.dictionaries, function (dictionaries) {
+ if (!isColumnExit) {
+ //keep backward compatibility
+ if (dictionaries.column == measureColumn || dictionaries.column == VdmUtil.removeNameSpace(measureColumn))
+ isColumnExit = true;
+ }
+ });
+
+ if (!isColumnExit) {
+ errors.push("The non-Int type precise count distinct measure must set advanced cict: " + measureColumn);
+ }
+ }
+ });
+
+
var errorInfo = "";
angular.forEach(errors,function(item){
errorInfo+="\n"+item;