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

morningman pushed a commit to branch tpch500
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/tpch500 by this push:
     new 2989931fe72 [tmp] add external table nullable config
2989931fe72 is described below

commit 2989931fe72fb04ebbdf2aae231cbac0938251b4
Author: morningman <[email protected]>
AuthorDate: Mon Dec 18 14:52:26 2023 +0800

    [tmp] add external table nullable config
---
 be/src/vec/core/decimal_comparison.h                         |  2 +-
 be/src/vec/exec/format/parquet/vparquet_column_reader.cpp    | 12 ++++++------
 .../src/main/java/org/apache/doris/common/Config.java        |  3 +++
 .../org/apache/doris/catalog/external/HMSExternalTable.java  |  3 ++-
 4 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/be/src/vec/core/decimal_comparison.h 
b/be/src/vec/core/decimal_comparison.h
index 16877583695..a24b85bc7fd 100644
--- a/be/src/vec/core/decimal_comparison.h
+++ b/be/src/vec/core/decimal_comparison.h
@@ -241,7 +241,7 @@ private:
     }
 
     template <bool scale_left, bool scale_right>
-    static Int8 apply(A a, B b, CompareInt scale [[maybe_unused]]) {
+    static UInt8 apply(A a, B b, CompareInt scale [[maybe_unused]]) {
         CompareInt x = a;
         CompareInt y = b;
 
diff --git a/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp 
b/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp
index d6f7d746bcd..79bd8eadeb5 100644
--- a/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp
+++ b/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp
@@ -285,7 +285,7 @@ Status ScalarColumnReader::_read_values(size_t num_values, 
ColumnPtr& doris_colu
         }
     } else {
         if (_chunk_reader->max_def_level() > 0) {
-            return Status::Corruption("Not nullable column has null values in 
parquet file");
+            // return Status::Corruption("Not nullable column has null values 
in parquet file");
         }
         data_column = doris_column->assume_mutable();
     }
@@ -371,7 +371,7 @@ Status ScalarColumnReader::_read_nested_column(ColumnPtr& 
doris_column, DataType
         map_data_column = &(nullable_column->get_null_map_data());
     } else {
         if (_field_schema->is_nullable) {
-            return Status::Corruption("Not nullable column has null values in 
parquet file");
+            // return Status::Corruption("Not nullable column has null values 
in parquet file");
         }
         data_column = doris_column->assume_mutable();
     }
@@ -605,7 +605,7 @@ Status ArrayColumnReader::read_column_data(ColumnPtr& 
doris_column, DataTypePtr&
         data_column = nullable_column->get_nested_column_ptr();
     } else {
         if (_field_schema->is_nullable) {
-            return Status::Corruption("Not nullable column has null values in 
parquet file");
+            // return Status::Corruption("Not nullable column has null values 
in parquet file");
         }
         data_column = doris_column->assume_mutable();
     }
@@ -651,7 +651,7 @@ Status MapColumnReader::read_column_data(ColumnPtr& 
doris_column, DataTypePtr& t
         data_column = nullable_column->get_nested_column_ptr();
     } else {
         if (_field_schema->is_nullable) {
-            return Status::Corruption("Not nullable column has null values in 
parquet file");
+            // return Status::Corruption("Not nullable column has null values 
in parquet file");
         }
         data_column = doris_column->assume_mutable();
     }
@@ -714,7 +714,7 @@ Status StructColumnReader::read_column_data(ColumnPtr& 
doris_column, DataTypePtr
         data_column = nullable_column->get_nested_column_ptr();
     } else {
         if (_field_schema->is_nullable) {
-            return Status::Corruption("Not nullable column has null values in 
parquet file");
+            // return Status::Corruption("Not nullable column has null values 
in parquet file");
         }
         data_column = doris_column->assume_mutable();
     }
@@ -759,4 +759,4 @@ Status StructColumnReader::read_column_data(ColumnPtr& 
doris_column, DataTypePtr
     return Status::OK();
 }
 
-}; // namespace doris::vectorized
\ No newline at end of file
+}; // namespace doris::vectorized
diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java 
b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
index 9421364b482..41f8bfa3cbb 100644
--- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
+++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
@@ -2324,4 +2324,7 @@ public class Config extends ConfigBase {
     @ConfField(description = {"是否开启通过http接口获取log文件的功能",
             "Whether to enable the function of getting log files through http 
interface"})
     public static boolean enable_get_log_file_api = false;
+
+    @ConfField
+    public static boolean external_table_column_nullable = true;
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java
 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java
index b284b4d60ec..3607de2af16 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java
@@ -25,6 +25,7 @@ import org.apache.doris.catalog.PrimitiveType;
 import org.apache.doris.catalog.ScalarType;
 import org.apache.doris.catalog.Type;
 import org.apache.doris.common.AnalysisException;
+import org.apache.doris.common.Config;
 import org.apache.doris.datasource.HMSExternalCatalog;
 import org.apache.doris.datasource.hive.HiveMetaStoreCache;
 import org.apache.doris.datasource.hive.PooledHiveMetaStoreClient;
@@ -433,7 +434,7 @@ public class HMSExternalTable extends ExternalTable {
             for (FieldSchema field : schema) {
                 tmpSchema.add(new 
Column(field.getName().toLowerCase(Locale.ROOT),
                         
HiveMetaStoreClientHelper.hiveTypeToDorisType(field.getType()), true, null,
-                        true, field.getComment(), true, -1));
+                        Config.external_table_column_nullable, 
field.getComment(), true, -1));
             }
             columns = tmpSchema;
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to