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

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


The following commit(s) were added to refs/heads/master by this push:
     new 5265f5142f [fix](Nereids) add string and character type (#16044)
5265f5142f is described below

commit 5265f5142f8f6a260646f290c90dae4804b4d378
Author: 谢健 <jianx...@gmail.com>
AuthorDate: Wed Jan 18 17:27:45 2023 +0800

    [fix](Nereids) add string and character type (#16044)
---
 .../src/main/java/org/apache/doris/nereids/types/DataType.java    | 5 +++--
 .../test/java/org/apache/doris/nereids/types/DataTypeTest.java    | 8 ++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DataType.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DataType.java
index a649352a8a..c2fa66638d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DataType.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DataType.java
@@ -244,6 +244,7 @@ public abstract class DataType implements AbstractDataType {
                     default:
                         throw new AnalysisException("Nereids do not support 
type: " + type);
                 }
+            case "character":
             case "char":
                 switch (types.size()) {
                     case 1:
@@ -335,8 +336,6 @@ public abstract class DataType implements AbstractDataType {
             return FloatType.INSTANCE;
         } else if (type == Type.DOUBLE) {
             return DoubleType.INSTANCE;
-        } else if (type == Type.STRING) {
-            return StringType.INSTANCE;
         } else if (type.isNull()) {
             return NullType.INSTANCE;
         } else if (type.isDatetimeV2()) {
@@ -361,6 +360,8 @@ public abstract class DataType implements AbstractDataType {
             return CharType.createCharType(type.getLength());
         } else if (type.getPrimitiveType() == 
org.apache.doris.catalog.PrimitiveType.VARCHAR) {
             return VarcharType.createVarcharType(type.getLength());
+        } else if (type.getPrimitiveType() == 
org.apache.doris.catalog.PrimitiveType.STRING) {
+            return StringType.INSTANCE;
         } else if (type.isDecimalV3()) {
             ScalarType scalarType = (ScalarType) type;
             int precision = scalarType.getScalarPrecision();
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/types/DataTypeTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/types/DataTypeTest.java
index aa63e09f03..9649a04825 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/types/DataTypeTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/types/DataTypeTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.doris.nereids.types;
 
+import org.apache.doris.catalog.Type;
 import org.apache.doris.common.Config;
 
 import org.junit.jupiter.api.Assertions;
@@ -53,6 +54,11 @@ public class DataTypeTest {
         Assertions.assertNotEquals(varcharType1.hashCode(), 
varcharType3.hashCode());
     }
 
+    @Test
+    void testFromPrimitiveType() {
+        Assertions.assertEquals(DataType.fromCatalogType(Type.STRING), 
StringType.INSTANCE);
+    }
+
     @Test
     void testConvertFromString() {
         // boolean
@@ -84,6 +90,8 @@ public class DataTypeTest {
         Assertions.assertEquals(StringType.INSTANCE, 
DataType.convertFromString("string"));
         // char
         Assertions.assertEquals(CharType.createCharType(10), 
DataType.convertFromString("char(10)"));
+        Assertions.assertEquals(CharType.createCharType(10), 
DataType.convertFromString("character(10)"));
+
         // varchar
         Assertions.assertEquals(VarcharType.createVarcharType(10), 
DataType.convertFromString("varchar(10)"));
         // null


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to