This is an automated email from the ASF dual-hosted git repository. twalthr pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
commit 446bc8b003c86100a904c66bb90ef2bba73309d2 Author: Timo Walther <[email protected]> AuthorDate: Mon Jul 13 14:28:14 2020 +0200 [hotfix][table-planner-blink] Fix digest for inline structured types with generics --- .../table/planner/plan/schema/StructuredRelDataType.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/plan/schema/StructuredRelDataType.java b/flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/plan/schema/StructuredRelDataType.java index 4593a28..614b310 100644 --- a/flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/plan/schema/StructuredRelDataType.java +++ b/flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/plan/schema/StructuredRelDataType.java @@ -35,6 +35,7 @@ import org.apache.calcite.sql.type.SqlTypeName; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * The {@link RelDataType} representation of a {@link StructuredType}. @@ -98,9 +99,17 @@ public final class StructuredRelDataType extends ObjectSqlType { sb.append(structuredType.asSerializableString()); } // in case of inline structured type we are using a temporary identifier + // that includes both the implementation class plus its children for cases with classes + // that use generics else { sb.append(structuredType.asSummaryString()); - if (structuredType.isNullable()) { + sb.append("("); + sb.append( + fieldList.stream() + .map(field -> field.getType().getFullTypeString()) + .collect(Collectors.joining(", "))); + sb.append(")"); + if (!structuredType.isNullable()) { sb.append(" NOT NULL"); } }
