You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tw...@apache.org on 2020/07/14 08:55:59 UTC
[flink] 01/02: [hotfix][table-planner-blink] Fix digest for inline
structured types with generics
This is an automated email from the ASF dual-hosted git repository.
twalthr pushed a commit to branch release-1.11
in repository https://gitbox.apache.org/repos/asf/flink.git
commit bbe65db8b6a4c02f1df969ca7f68e5f61df31cf0
Author: Timo Walther <tw...@apache.org>
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");
}
}