shaofengshi closed pull request #226: KYLIN-3547 add boolean DataTypeOrder
URL: https://github.com/apache/kylin/pull/226
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

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 2fe1667cd5..7580ad0202 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 boolean isDecimal() {
         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 091e2ae7e1..44921786d0 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 @@
     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 @@ else if (type.isFloat() || type.isDouble())
             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 @@ public Long toComparable(String s) {
                 return DateFormat.stringToMillis(s);
         }
     }
-    
+
+    private static class BooleanOrder extends DataTypeOrder {
+        @Override
+        public String toComparable(String s) {
+            return s;
+        }
+    }
 }


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to