You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2018/09/11 10:05:41 UTC

[kylin] branch master updated: KYLIN-3547 Add DataTpyeOrder boolean

This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new 91fb3c1  KYLIN-3547 Add DataTpyeOrder boolean
91fb3c1 is described below

commit 91fb3c1c0d719e2883e5328352af6395abc054db
Author: Yichen Zhou <zh...@gmail.com>
AuthorDate: Tue Sep 11 17:54:20 2018 +0800

    KYLIN-3547 Add DataTpyeOrder boolean
---
 .../java/org/apache/kylin/metadata/datatype/DataType.java     |  4 ++++
 .../org/apache/kylin/metadata/datatype/DataTypeOrder.java     | 11 ++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
index 2fe1667..7580ad0 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
@@ -314,6 +314,10 @@ public class DataType implements Serializable {
         return name.equals("decimal");
     }
 
+    public boolean isBoolean() {
+        return name.equals("boolean");
+    }
+
     public String getName() {
         return name;
     }
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeOrder.java b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeOrder.java
index 091e2ae..4492178 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeOrder.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeOrder.java
@@ -36,6 +36,7 @@ abstract public class DataTypeOrder implements Comparator<String> {
     public static final DataTypeOrder DECIMAL_ORDER = new DecimalOrder();
     public static final DataTypeOrder DATETIME_ORDER = new DateTimeOrder();
     public static final DataTypeOrder STRING_ORDER = new StringOrder();
+    public static final DataTypeOrder BOOLEAN_ORDER = new BooleanOrder();
 
     // package private, access via DataType.getOrder()
     static DataTypeOrder getInstance(DataType type) throws IllegalArgumentException {
@@ -49,6 +50,8 @@ abstract public class DataTypeOrder implements Comparator<String> {
             return DOUBLE_ORDER;
         else if (type.isDecimal())
             return DECIMAL_ORDER;
+        else if (type.isBoolean())
+            return BOOLEAN_ORDER;
         else
             throw new IllegalArgumentException("Unsupported data type " + type);
     }
@@ -151,5 +154,11 @@ abstract public class DataTypeOrder implements Comparator<String> {
                 return DateFormat.stringToMillis(s);
         }
     }
-    
+
+    private static class BooleanOrder extends DataTypeOrder {
+        @Override
+        public String toComparable(String s) {
+            return s;
+        }
+    }
 }