From e8a681c373433df2dca8c5eaf5a4f463b802f42f Mon Sep 17 00:00:00 2001 From: kino <416595168@qq.com> Date: Thu, 28 Jul 2022 17:06:48 +0800 Subject: [PATCH] [hotfix-1097] The null value needle judgment is modified to val.isNullAt(int pos) --- .../chunjun/connector/jdbc/converter/JdbcColumnConverter.java | 2 +- .../com/dtstack/chunjun/converter/AbstractRowConverter.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java b/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java index 6b6648fd33..f7e40ccec1 100644 --- a/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java +++ b/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/converter/JdbcColumnConverter.java @@ -77,7 +77,7 @@ public JdbcColumnConverter(RowType rowType, ChunJunCommonConf commonConf) { wrapIntoNullableExternalConverter( ISerializationConverter serializationConverter, LogicalType type) { return (val, index, statement) -> { - if (((ColumnRowData) val).getField(index) == null) { + if(val == null || val.isNullAt(index)) { statement.setObject(index, null); } else { serializationConverter.serialize(val, index, statement); diff --git a/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java b/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java index 99615653ca..85f750ae29 100644 --- a/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java +++ b/chunjun-core/src/main/java/com/dtstack/chunjun/converter/AbstractRowConverter.java @@ -21,6 +21,7 @@ import com.dtstack.chunjun.conf.ChunJunCommonConf; import com.dtstack.chunjun.conf.FieldConf; import com.dtstack.chunjun.element.AbstractBaseColumn; +import com.dtstack.chunjun.element.column.NullColumn; import com.dtstack.chunjun.element.column.StringColumn; import com.dtstack.chunjun.enums.ColumnType; import com.dtstack.chunjun.util.DateUtil; @@ -91,7 +92,7 @@ protected IDeserializationConverter wrapIntoNullableInternalConverter( IDeserializationConverter IDeserializationConverter) { return val -> { if (val == null) { - return null; + return new NullColumn(); } else { try { return IDeserializationConverter.deserialize(val);