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/17 10:57:19 UTC
[kylin] 08/15: KYLIN-3547 Add DataTpyeOrder boolean
This is an automated email from the ASF dual-hosted git repository.
shaofengshi pushed a commit to branch 2.5.0-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 484958a228028e407b21a15591af48b04c49f638
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 3dd1ed9..efc4784 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
@@ -313,6 +313,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;
+ }
+ }
}