This is an automated email from the ASF dual-hosted git repository.
gaojun2048 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 98b9168d5 [Feature][Connector-V2][SeaTunnelSchema] Improve code
structure (#3384)
98b9168d5 is described below
commit 98b9168d5ab42696b672c220ae090abd9382c97e
Author: Tyrantlucifer <[email protected]>
AuthorDate: Fri Nov 11 10:36:48 2022 +0800
[Feature][Connector-V2][SeaTunnelSchema] Improve code structure (#3384)
---
.../seatunnel/common/schema/SeaTunnelSchema.java | 39 +++++++++++-----------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git
a/seatunnel-connectors-v2/connector-common/src/main/java/org/apache/seatunnel/connectors/seatunnel/common/schema/SeaTunnelSchema.java
b/seatunnel-connectors-v2/connector-common/src/main/java/org/apache/seatunnel/connectors/seatunnel/common/schema/SeaTunnelSchema.java
index 10b73c7c4..59068fdfe 100644
---
a/seatunnel-connectors-v2/connector-common/src/main/java/org/apache/seatunnel/connectors/seatunnel/common/schema/SeaTunnelSchema.java
+++
b/seatunnel-connectors-v2/connector-common/src/main/java/org/apache/seatunnel/connectors/seatunnel/common/schema/SeaTunnelSchema.java
@@ -150,25 +150,26 @@ public class SeaTunnelSchema implements Serializable {
switch (sqlType) {
case ARRAY:
SeaTunnelDataType<?> dataType = parseTypeByString(genericType);
- if (BasicType.STRING_TYPE.equals(dataType)) {
- return ArrayType.STRING_ARRAY_TYPE;
- } else if (BasicType.BOOLEAN_TYPE.equals(dataType)) {
- return ArrayType.BOOLEAN_ARRAY_TYPE;
- } else if (BasicType.BYTE_TYPE.equals(dataType)) {
- return ArrayType.BYTE_ARRAY_TYPE;
- } else if (BasicType.SHORT_TYPE.equals(dataType)) {
- return ArrayType.SHORT_ARRAY_TYPE;
- } else if (BasicType.INT_TYPE.equals(dataType)) {
- return ArrayType.INT_ARRAY_TYPE;
- } else if (BasicType.LONG_TYPE.equals(dataType)) {
- return ArrayType.LONG_ARRAY_TYPE;
- } else if (BasicType.FLOAT_TYPE.equals(dataType)) {
- return ArrayType.FLOAT_ARRAY_TYPE;
- } else if (BasicType.DOUBLE_TYPE.equals(dataType)) {
- return ArrayType.DOUBLE_ARRAY_TYPE;
- } else {
- String errorMsg = String.format("Array type not support
this genericType [%s]", genericType);
- throw new RuntimeException(errorMsg);
+ switch(dataType.getSqlType()) {
+ case STRING:
+ return ArrayType.STRING_ARRAY_TYPE;
+ case BOOLEAN:
+ return ArrayType.BOOLEAN_ARRAY_TYPE;
+ case TINYINT:
+ return ArrayType.BYTE_ARRAY_TYPE;
+ case SMALLINT:
+ return ArrayType.SHORT_ARRAY_TYPE;
+ case INT:
+ return ArrayType.INT_ARRAY_TYPE;
+ case BIGINT:
+ return ArrayType.LONG_ARRAY_TYPE;
+ case FLOAT:
+ return ArrayType.FLOAT_ARRAY_TYPE;
+ case DOUBLE:
+ return ArrayType.DOUBLE_ARRAY_TYPE;
+ default:
+ String errorMsg = String.format("Array type not
support this genericType [%s]", genericType);
+ throw new UnsupportedOperationException(errorMsg);
}
case MAP:
return new MapType<>(parseTypeByString(keyGenericType),
parseTypeByString(valueGenericType));