This is an automated email from the ASF dual-hosted git repository.

liugddx pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new cf3d0bba2 [Bugfix]fix clickhouse source connector read Nullable() type 
is not null,example:Nullable(Float64) while value is null the result is 0.0 
(#5080)
cf3d0bba2 is described below

commit cf3d0bba2e64869f9683f5e4ac0df1abed64310e
Author: 阿丙 <[email protected]>
AuthorDate: Fri Jul 14 11:07:46 2023 +0800

    [Bugfix]fix clickhouse source connector read Nullable() type is not 
null,example:Nullable(Float64) while value is null the result is 0.0 (#5080)
---
 .../seatunnel/clickhouse/source/ClickhouseSourceReader.java  | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSourceReader.java
 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSourceReader.java
index 8d3de88ab..bb4d3905e 100644
--- 
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSourceReader.java
+++ 
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/ClickhouseSourceReader.java
@@ -83,10 +83,14 @@ public class ClickhouseSourceReader implements 
SourceReader<SeaTunnelRow, Clickh
                                     Object[] values =
                                             new 
Object[this.rowTypeInfo.getFieldNames().length];
                                     for (int i = 0; i < record.size(); i++) {
-                                        values[i] =
-                                                TypeConvertUtil.valueUnwrap(
-                                                        
this.rowTypeInfo.getFieldType(i),
-                                                        record.getValue(i));
+                                        if 
(record.getValue(i).isNullOrEmpty()) {
+                                            values[i] = null;
+                                        } else {
+                                            values[i] =
+                                                    
TypeConvertUtil.valueUnwrap(
+                                                            
this.rowTypeInfo.getFieldType(i),
+                                                            
record.getValue(i));
+                                        }
                                     }
                                     output.collect(new SeaTunnelRow(values));
                                 });

Reply via email to