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

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


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new a0961070f7d [Configurations](multi-catalog) Add 
`enable_parquet_filter_by_min_max` and `enable_orc_filter_by_min_max` Session 
variables. (#35290)
a0961070f7d is described below

commit a0961070f7d5f3b217d0ab008984d5f416c8f80b
Author: Qi Chen <kaka11.c...@gmail.com>
AuthorDate: Tue May 28 14:06:57 2024 +0800

    [Configurations](multi-catalog) Add `enable_parquet_filter_by_min_max` and 
`enable_orc_filter_by_min_max` Session variables. (#35290)
    
    backport #35012 #35320
---
 be/src/vec/exec/format/orc/vorc_reader.cpp         |   5 +-
 be/src/vec/exec/format/orc/vorc_reader.h           |   1 +
 be/src/vec/exec/format/parquet/vparquet_reader.cpp |  18 +-
 be/src/vec/exec/format/parquet/vparquet_reader.h   |   1 +
 .../java/org/apache/doris/qe/SessionVariable.java  |  39 +++
 gensrc/thrift/PaloInternalService.thrift           |   3 +
 .../hive/test_hive_basic_type.out                  | 262 +++++++++++++++++++++
 .../hive/test_hive_basic_type.groovy               |   6 +
 8 files changed, 329 insertions(+), 6 deletions(-)

diff --git a/be/src/vec/exec/format/orc/vorc_reader.cpp 
b/be/src/vec/exec/format/orc/vorc_reader.cpp
index 6bf9bbe7dd4..a188c2e3eb5 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.cpp
+++ b/be/src/vec/exec/format/orc/vorc_reader.cpp
@@ -150,6 +150,8 @@ OrcReader::OrcReader(RuntimeProfile* profile, RuntimeState* 
state,
           _is_hive(params.__isset.slot_name_to_schema_pos),
           _io_ctx(io_ctx),
           _enable_lazy_mat(enable_lazy_mat),
+          _enable_filter_by_min_max(
+                  state == nullptr ? true : 
state->query_options().enable_orc_filter_by_min_max),
           _dict_cols_has_converted(false),
           _unsupported_pushdown_types(unsupported_pushdown_types) {
     TimezoneUtils::find_cctz_time_zone(ctz, _time_zone);
@@ -171,6 +173,7 @@ OrcReader::OrcReader(const TFileScanRangeParams& params, 
const TFileRangeDesc& r
           _file_system(nullptr),
           _io_ctx(io_ctx),
           _enable_lazy_mat(enable_lazy_mat),
+          _enable_filter_by_min_max(true),
           _dict_cols_has_converted(false) {
     _init_system_properties();
     _init_file_description();
@@ -648,7 +651,7 @@ bool static 
build_search_argument(std::vector<OrcPredicate>& predicates, int ind
 
 bool OrcReader::_init_search_argument(
         std::unordered_map<std::string, ColumnValueRangeType>* 
colname_to_value_range) {
-    if (colname_to_value_range->empty()) {
+    if ((!_enable_filter_by_min_max) || colname_to_value_range->empty()) {
         return false;
     }
     std::vector<OrcPredicate> predicates;
diff --git a/be/src/vec/exec/format/orc/vorc_reader.h 
b/be/src/vec/exec/format/orc/vorc_reader.h
index 928c2ee7579..b87ccb823fc 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.h
+++ b/be/src/vec/exec/format/orc/vorc_reader.h
@@ -535,6 +535,7 @@ private:
 
     io::IOContext* _io_ctx;
     bool _enable_lazy_mat = true;
+    bool _enable_filter_by_min_max = true;
 
     std::vector<DecimalScaleParams> _decimal_scale_params;
     size_t _decimal_scale_params_index;
diff --git a/be/src/vec/exec/format/parquet/vparquet_reader.cpp 
b/be/src/vec/exec/format/parquet/vparquet_reader.cpp
index ccdbee91353..a57004e6608 100644
--- a/be/src/vec/exec/format/parquet/vparquet_reader.cpp
+++ b/be/src/vec/exec/format/parquet/vparquet_reader.cpp
@@ -81,7 +81,10 @@ ParquetReader::ParquetReader(RuntimeProfile* profile, const 
TFileScanRangeParams
           _io_ctx(io_ctx),
           _state(state),
           _meta_cache(meta_cache),
-          _enable_lazy_mat(enable_lazy_mat) {
+          _enable_lazy_mat(enable_lazy_mat),
+          _enable_filter_by_min_max(
+                  state == nullptr ? true
+                                   : 
state->query_options().enable_parquet_filter_by_min_max) {
     _init_profile();
     _init_system_properties();
     _init_file_description();
@@ -94,7 +97,10 @@ ParquetReader::ParquetReader(const TFileScanRangeParams& 
params, const TFileRang
           _scan_range(range),
           _io_ctx(io_ctx),
           _state(state),
-          _enable_lazy_mat(enable_lazy_mat) {
+          _enable_lazy_mat(enable_lazy_mat),
+          _enable_filter_by_min_max(
+                  state == nullptr ? true
+                                   : 
state->query_options().enable_parquet_filter_by_min_max) {
     _init_system_properties();
     _init_file_description();
 }
@@ -757,8 +763,9 @@ Status ParquetReader::_process_page_index(const 
tparquet::RowGroup& row_group,
         _statistics.read_rows += row_group.num_rows;
     };
 
-    if (_lazy_read_ctx.has_complex_type || _lazy_read_ctx.conjuncts.empty() ||
-        _colname_to_value_range == nullptr || 
_colname_to_value_range->empty()) {
+    if ((!_enable_filter_by_min_max) || _lazy_read_ctx.has_complex_type ||
+        _lazy_read_ctx.conjuncts.empty() || _colname_to_value_range == nullptr 
||
+        _colname_to_value_range->empty()) {
         read_whole_row_group();
         return Status::OK();
     }
@@ -867,7 +874,8 @@ Status ParquetReader::_process_row_group_filter(const 
tparquet::RowGroup& row_gr
 
 Status ParquetReader::_process_column_stat_filter(const 
std::vector<tparquet::ColumnChunk>& columns,
                                                   bool* filter_group) {
-    if (_colname_to_value_range == nullptr || 
_colname_to_value_range->empty()) {
+    if ((!_enable_filter_by_min_max) || _colname_to_value_range == nullptr ||
+        _colname_to_value_range->empty()) {
         return Status::OK();
     }
     auto& schema_desc = _file_metadata->schema();
diff --git a/be/src/vec/exec/format/parquet/vparquet_reader.h 
b/be/src/vec/exec/format/parquet/vparquet_reader.h
index b46dae1e29c..679b06fa296 100644
--- a/be/src/vec/exec/format/parquet/vparquet_reader.h
+++ b/be/src/vec/exec/format/parquet/vparquet_reader.h
@@ -268,6 +268,7 @@ private:
     // Maybe null if not used
     FileMetaCache* _meta_cache = nullptr;
     bool _enable_lazy_mat = true;
+    bool _enable_filter_by_min_max = true;
     const TupleDescriptor* _tuple_descriptor;
     const RowDescriptor* _row_descriptor;
     const std::unordered_map<std::string, int>* _colname_to_slot_id;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 57b6fe9fecb..840603dc3ff 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -377,6 +377,10 @@ public class SessionVariable implements Serializable, 
Writable {
 
     public static final String ENABLE_ORC_LAZY_MAT = 
"enable_orc_lazy_materialization";
 
+    public static final String ENABLE_PARQUET_FILTER_BY_MIN_MAX = 
"enable_parquet_filter_by_min_max";
+
+    public static final String ENABLE_ORC_FILTER_BY_MIN_MAX = 
"enable_orc_filter_by_min_max";
+
     public static final String INLINE_CTE_REFERENCED_THRESHOLD = 
"inline_cte_referenced_threshold";
 
     public static final String ENABLE_CTE_MATERIALIZE = 
"enable_cte_materialize";
@@ -1208,6 +1212,24 @@ public class SessionVariable implements Serializable, 
Writable {
             needForward = true)
     public boolean enableOrcLazyMat = true;
 
+
+    @VariableMgr.VarAttr(
+            name = ENABLE_PARQUET_FILTER_BY_MIN_MAX,
+            description = {"控制 parquet reader 是否启用 min-max 值过滤。默认为 true。",
+                    "Controls whether to filter by min-max values in parquet 
reader. "
+                            + "The default value is true."},
+            needForward = true)
+    public boolean enableParquetFilterByMinMax = true;
+
+
+    @VariableMgr.VarAttr(
+            name = ENABLE_ORC_FILTER_BY_MIN_MAX,
+            description = {"控制 orc reader 是否启用 min-max 值过滤。默认为 true。",
+                    "Controls whether to filter by min-max values in orc 
reader. "
+                            + "The default value is true."},
+            needForward = true)
+    public boolean enableOrcFilterByMinMax = true;
+
     @VariableMgr.VarAttr(
             name = EXTERNAL_TABLE_ANALYZE_PART_NUM,
             description = {"收集外表统计信息行数时选取的采样分区数,默认-1表示全部分区",
@@ -2148,6 +2170,21 @@ public class SessionVariable implements Serializable, 
Writable {
         this.enableOrcLazyMat = enableOrcLazyMat;
     }
 
+    public boolean isEnableParquetFilterByMinMax() {
+        return enableParquetFilterByMinMax;
+    }
+
+    public void setEnableParquetFilterByMinMax(boolean 
enableParquetFilterByMinMax) {
+        this.enableParquetFilterByMinMax = enableParquetFilterByMinMax;
+    }
+
+    public boolean isEnableOrcFilterByMinMax() {
+        return enableOrcFilterByMinMax;
+    }
+
+    public void setEnableOrcFilterByMinMax(boolean enableOrcFilterByMinMax) {
+        this.enableOrcFilterByMinMax = enableOrcFilterByMinMax;
+    }
 
     /**
      * getInsertVisibleTimeoutMs.
@@ -2587,6 +2624,8 @@ public class SessionVariable implements Serializable, 
Writable {
 
         tResult.setEnableParquetLazyMat(enableParquetLazyMat);
         tResult.setEnableOrcLazyMat(enableOrcLazyMat);
+        tResult.setEnableParquetFilterByMinMax(enableParquetFilterByMinMax);
+        tResult.setEnableOrcFilterByMinMax(enableOrcFilterByMinMax);
 
         tResult.setTruncateCharOrVarcharColumns(truncateCharOrVarcharColumns);
 
diff --git a/gensrc/thrift/PaloInternalService.thrift 
b/gensrc/thrift/PaloInternalService.thrift
index 37449a4d638..4185e8a4276 100644
--- a/gensrc/thrift/PaloInternalService.thrift
+++ b/gensrc/thrift/PaloInternalService.thrift
@@ -257,6 +257,9 @@ struct TQueryOptions {
   90: optional bool enable_inverted_index_compound_inlist = false;
   // For emergency use, skip missing version when reading rowsets
   91: optional bool skip_missing_version = false;
+
+  92: optional bool enable_parquet_filter_by_min_max = true
+  93: optional bool enable_orc_filter_by_min_max = true
 }
 
 
diff --git 
a/regression-test/data/external_table_p0/hive/test_hive_basic_type.out 
b/regression-test/data/external_table_p0/hive/test_hive_basic_type.out
index 94de65a4979..774bc3d24c1 100644
--- a/regression-test/data/external_table_p0/hive/test_hive_basic_type.out
+++ b/regression-test/data/external_table_p0/hive/test_hive_basic_type.out
@@ -262,3 +262,265 @@ true
 123.456
 123.456
 
+-- !2 --
+1      7706    1       155190  17.00   21168.23        0.04    0.02    N       
O       1996-03-13      1996-02-12      1996-03-22      DELIVER IN PERSON       
TRUCK   egular courts above the cn      beijing
+
+-- !3 --
+6374628540732951412    -77     -65     -70     -107    -215    65      0       
-526    -1309   3750    8827    -19795  34647   57042   -1662   -138248 -890685 
-228568 1633079 -2725524        6163040 -10491702       697237  74565050        
127767368       93532213        -209675435      -32116110       -3624917040     
-2927805617     15581947241     21893441661     24075494509     -116822110531   
-59683724667    -146210393388   114424524398    1341560771667   -1638742564263  
520137948334    -2927347587131  7415137351179   -7963937754617  52157548982266  
140803519083304 -294675355729619        -868076759504942        181128508165910 
-91 [...]
+
+-- !4 --
+false  5       5       5       50      5.5     50.5    7295    12/31/10        
5       2010-12-31T12:05:13.600 2010    12
+false  7       7       7       70      7.7     70.7    7297    12/31/10        
7       2010-12-31T12:07:13.710 2010    12
+false  9       9       9       90      9.9     90.89999999999999       7299    
12/31/10        9       2010-12-31T12:09:13.860 2010    12
+true   6       6       6       60      6.6     60.599999999999994      7296    
12/31/10        6       2010-12-31T12:06:13.650 2010    12
+true   8       8       8       80      8.8     80.8    7298    12/31/10        
8       2010-12-31T12:08:13.780 2010    12
+
+-- !5 --
+2      24      15314771        999319712124142303      true    6.009337E8      
4.8177228079770208E16   \N      northern rural  2022-08-30T23:21:08     
407186.2849     phones  int_col 2019-01-01      [2.5954339078494106e+17, 
5.88165568758352e+17, 4.7802599872265741e+17, 6.9266228812515571e+17, 
9.86405645575228e+17]    \N      phones  int_col
+5      59      317349992       998913039814974432      false   5.6584864E8     
9.900861328269033E17    Handling man satisfy firework descent top. Racing 
closed county set-up crown cave. Correctly front duration pure.       \N      
2022-09-02T19:52:57     372765.2493     desktops        tinyint_col     
2021-10-03      [9.9832612525719834e+17, 3.6120761530306432e+17, 
9.9691314965094349e+17, 8.9912907179234752e+17, 1.1955893747098878e+17]        
["CrySxz", "FMXGRcaGbahSVqhp", "oRKqPmhM", "VdODasEdDWFSRIQf"]  desktops        
tinyint_col
+6      62      915699741       999653836472045196      true    4.51937536E8    
8.7961505445021914E17   Tale get speed platform august curved. Ease grass 
neighbour landlord. Baby genetic youth.       \N      2022-08-07T09:30:56     
875620.2176     phones  smallint_col    \N      [9.4235407151618547e+17, 
4.8332499920295616e+17, 9.1670077477898342e+17]        ["zNfbLeFx", 
"GNTJOmWJyRmOK", "hwvfhSQGsaaMEqUrWCK", "cQrQsROKLARA", "nONj", "oepXBFB", 
"IPtUql"]       phones  smallint_col
+
+-- !6 --
+00cwjIryUv     EXHwpeK2Nl      hv2PYEMYMM      eo69nyw4Yv      K6797tgjFg      
LlFNd8Kyy5      wkpLCO3uo1      AIXCj1MfeD      ni0HxZbiUO      6IjRdM8Gqi      
qsTMK6A2eC      1wu7v9OPwW      qavArd9tDc      sU88hZADLj      lyzWlwLOCx      
2022-11-25
+
+-- !9 --
+""     "test"
+
+-- !10 --
+\\N\\N\\N\\N\\N\\N\\N\\N\\Ntesttestaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+
+-- !11 --
+\N     \N      \N      \N      \N      \N      \N      \N      \N              
test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+
+-- !12 --
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+
+-- !13 --
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+
+-- !14 --
+50000
+
+-- !15 --
+
+-- !16 --
+0
+
+-- !17 --
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+
+-- !18 --
+
+-- !19 --
+0
+
+-- !20 --
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+
+-- !21 --
+50000
+
+-- !22 --
+
+-- !23 --
+0
+
+-- !24 --
+\N
+\N
+\N
+\N
+
+-- !25 --
+\N
+\N
+\N
+\N
+
+-- !26 --
+
+-- !27 --
+test   DATETIME(6)     Yes     true    \N      
+
+-- !28 --
+\N
+1970-01-01T07:43:20
+1970-01-01T08:00:00.001
+1970-01-01T08:00:00.003
+2023-04-20T15:51:49
+
+-- !29 --
+test   DATETIME(6)     Yes     true    \N      
+
+-- !30 --
+\N
+1970-01-01T07:43:20
+1970-01-01T08:00:00.000001
+1970-01-01T08:00:00.000003
+2023-04-20T15:51:49
+
+-- !31 --
+test   DATETIME(6)     Yes     true    \N      
+
+-- !32 --
+\N
+1970-01-01T07:59:59
+1970-01-01T08:00
+1970-01-01T08:00
+2023-04-20T15:51:49
+
+-- !7 --
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+
+-- !38 --
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+
+-- !39 --
+50000
+
+-- !40 --
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+3      {"field0": 4, "field1": 5}      6
+
+-- !33 --
+\N     \N      \N      \N      \N      \N      \N      \N      \N              
test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+
+-- !36 --
+\N     \N      \N      \N      \N      \N      \N      \N      \N              
test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+
+-- !41 --
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+\N     \N      \N      \N      \N      \N      \N      \N      \N      \N      
        test            test    
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 [...]
+
+-- !parquet --
+219
+
+-- !parquet1 --
+-7871.416      false
+-7871.416      false
+-7871.416      false
+-7871.416      true
+-7871.416      true
+-7871.416      true
+-7871.416      true
+
+-- !parquet2 --
+123.456
+123.456
+123.456
+123.456
+123.456
+123.456
+123.456
+
+-- !parquet3 --
+123.456
+123.456
+123.456
+123.456
+123.456
+123.456
+123.456
+
+-- !parquet4 --
+-2633.645
+-2633.645
+-2633.645
+-2633.645
+-2633.645
+-2633.645
+-2633.645
+
+-- !parquet5 --
+-7871.416
+-7871.416
+-7871.416
+-7871.416
+-7871.416
+-7871.416
+-7871.416
+
+-- !parquet7 --
+true
+true
+true
+true
+true
+true
+true
+
+-- !parquet8 --
+true
+true
+true
+true
+true
+true
+true
+
+-- !parquet9 --
+116
+
+-- !parquet10 --
+123
+
+-- !parquet11 --
+123.456
+123.456
+123.456
+123.456
+123.456
+123.456
+123.456
diff --git 
a/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy 
b/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy
index dfa9b433bc6..286588d15d4 100644
--- a/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy
+++ b/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy
@@ -18,12 +18,17 @@
 suite("test_hive_basic_type", 
"p0,external,hive,external_docker,external_docker_hive") {
     String enabled = context.config.otherConfigs.get("enableHiveTest")
     if (enabled != null && enabled.equalsIgnoreCase("true")) {
+        for (boolean enable_filter_by_min_max : [true, false]) {
         String catalog_name = "test_hive_basic_type"
         String ex_db_name = "`default`"
         String externalEnvIp = context.config.otherConfigs.get("externalEnvIp")
         String hms_port = context.config.otherConfigs.get("hms_port")
         String hdfs_port = context.config.otherConfigs.get("hdfs_port")
 
+        sql """set enable_parquet_filter_by_min_max = 
${enable_filter_by_min_max};"""
+
+        sql """set enable_orc_filter_by_min_max = 
${enable_filter_by_min_max};"""
+
         sql """drop catalog if exists ${catalog_name} """
 
         sql """CREATE CATALOG ${catalog_name} PROPERTIES (
@@ -144,6 +149,7 @@ suite("test_hive_basic_type", 
"p0,external,hive,external_docker,external_docker_
                        }
                }
         //sql """drop catalog if exists ${catalog_name} """
+       }
     }
 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to