diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java index d7e11db914..2f06c1d7f7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java @@ -104,7 +104,7 @@ public class MapType extends DataType { @Override public String toSql() { - return "MAP<" + keyType.toSql() + ", " + valueType.toSql() + ">"; + return "MAP<" + keyType.toSql() + "," + valueType.toSql() + ">"; } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StringType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StringType.java index 9e13096385..935716e42b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StringType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StringType.java @@ -43,7 +43,7 @@ public class StringType extends CharacterType { @Override public String simpleString() { - return "string"; + return "text"; } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructField.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructField.java index 73533fc0a5..e095f25aa6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructField.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructField.java @@ -19,6 +19,7 @@ package org.apache.doris.nereids.types; import org.apache.doris.nereids.util.Utils; +import java.util.Locale; import java.util.Objects; /** @@ -38,7 +39,7 @@ public class StructField { * @param nullable Indicates if values of this field can be `null` values */ public StructField(String name, DataType dataType, boolean nullable, String comment) { - this.name = Objects.requireNonNull(name, "name should not be null"); + this.name = Objects.requireNonNull(name, "name should not be null").toLowerCase(Locale.ROOT); this.dataType = Objects.requireNonNull(dataType, "dataType should not be null"); this.nullable = nullable; this.comment = Objects.requireNonNull(comment, "comment should not be null"); @@ -82,7 +83,7 @@ public class StructField { public String toSql() { return name + ":" + dataType.toSql() - + (nullable ? " " : " NOT NULL") + + (nullable ? "" : " NOT NULL") + (comment.isEmpty() ? "" : " COMMENT " + comment); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java index 0e53874b2d..ef7dd06165 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java @@ -119,11 +119,11 @@ public class StructType extends DataType { @Override public String toSql() { - return "STRUCT<" + fields.stream().map(StructField::toSql).collect(Collectors.joining(", ")) + ">"; + return "STRUCT<" + fields.stream().map(StructField::toSql).collect(Collectors.joining(",")) + ">"; } @Override public String toString() { - return "STRUCT<" + fields.stream().map(StructField::toString).collect(Collectors.joining(", ")) + ">"; + return "STRUCT<" + fields.stream().map(StructField::toString).collect(Collectors.joining(",")) + ">"; } } 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 c0dfe19d04..9f19d815c8 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 @@ -564,7 +564,7 @@ public class DataTypeTest { Assertions.assertEquals("decimal", DecimalV2Type.SYSTEM_DEFAULT.simpleString()); Assertions.assertEquals("char", new CharType(10).simpleString()); Assertions.assertEquals("varchar", VarcharType.SYSTEM_DEFAULT.simpleString()); - Assertions.assertEquals("string", StringType.INSTANCE.simpleString()); + Assertions.assertEquals("text", StringType.INSTANCE.simpleString()); Assertions.assertEquals("date", DateType.INSTANCE.simpleString()); Assertions.assertEquals("datetime", DateTimeType.INSTANCE.simpleString()); } diff --git a/regression-test/suites/query_p0/show/test_nested_complex_switch.groovy b/regression-test/suites/query_p0/show/test_nested_complex_switch.groovy index 5639d52ddb..af39d8a9c3 100644 --- a/regression-test/suites/query_p0/show/test_nested_complex_switch.groovy +++ b/regression-test/suites/query_p0/show/test_nested_complex_switch.groovy @@ -170,17 +170,17 @@ suite("test_nested_complex_switch", "query") { // struct test { sql sql_s_s - exception "java.sql.SQLException: errCode = 2, detailMessage = Unsupported field type: STRUCT for STRUCT" + exception "java.sql.SQLException: errCode = 2, detailMessage = Unsupported" } test { sql sql_s_a - exception "java.sql.SQLException: errCode = 2, detailMessage = Unsupported field type: ARRAY for STRUCT" + exception "java.sql.SQLException: errCode = 2, detailMessage = Unsupported" } test { sql sql_s_m - exception "java.sql.SQLException: errCode = 2, detailMessage = Unsupported field type: MAP for STRUCT" + exception "java.sql.SQLException: errCode = 2, detailMessage = Unsupported" } } finally {