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

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


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 263746b04b7 [fix](paimon) fix crash when enable cache with paimon 
deletion vector(#39877) (#39875)
263746b04b7 is described below

commit 263746b04b7dc61e4fc66b701827d0f103ef8147
Author: Mingyu Chen <morning...@163.com>
AuthorDate: Sat Aug 24 17:58:20 2024 +0800

    [fix](paimon) fix crash when enable cache with paimon deletion 
vector(#39877) (#39875)
    
    bp #39877
---
 be/src/vec/exec/format/table/iceberg_reader.cpp    |    6 +-
 be/src/vec/exec/format/table/iceberg_reader.h      |    2 +-
 be/src/vec/exec/format/table/paimon_reader.cpp     |    5 +-
 be/src/vec/exec/format/table/paimon_reader.h       |    2 +-
 be/src/vec/exec/format/table/table_format_reader.h |    2 +-
 .../format/table/transactional_hive_reader.cpp     |    3 +-
 .../exec/format/table/transactional_hive_reader.h  |    2 +-
 be/src/vec/exec/scan/vfile_scanner.cpp             |    6 +-
 .../paimon/test_paimon_catalog.out                 | 1158 ++++++++++++++++++++
 .../paimon/test_paimon_catalog.groovy              |    9 +-
 10 files changed, 1179 insertions(+), 16 deletions(-)

diff --git a/be/src/vec/exec/format/table/iceberg_reader.cpp 
b/be/src/vec/exec/format/table/iceberg_reader.cpp
index d321fc016f4..424ef5d7bf4 100644
--- a/be/src/vec/exec/format/table/iceberg_reader.cpp
+++ b/be/src/vec/exec/format/table/iceberg_reader.cpp
@@ -157,7 +157,7 @@ Status IcebergTableReader::get_columns(
     return _file_format_reader->get_columns(name_to_type, missing_cols);
 }
 
-Status IcebergTableReader::init_row_filters(const TFileRangeDesc& range) {
+Status IcebergTableReader::init_row_filters(const TFileRangeDesc& range, 
io::IOContext* io_ctx) {
     // We get the count value by doris's be, so we don't need to read the 
delete file
     if (_push_down_agg_type == TPushAggOp::type::COUNT && 
_remaining_push_down_count > 0) {
         return Status::OK();
@@ -548,7 +548,7 @@ Status IcebergParquetReader::init_reader(
     _gen_new_colname_to_value_range();
     parquet_reader->set_table_to_file_col_map(_table_col_to_file_col);
     parquet_reader->iceberg_sanitize(_all_required_col_names);
-    RETURN_IF_ERROR(init_row_filters(_range));
+    RETURN_IF_ERROR(init_row_filters(_range, _io_ctx));
     return parquet_reader->init_reader(
             _all_required_col_names, _not_in_file_col_names, 
&_new_colname_to_value_range,
             conjuncts, tuple_descriptor, row_descriptor, colname_to_slot_id,
@@ -621,7 +621,7 @@ Status IcebergOrcReader::init_reader(
     _gen_file_col_names();
     _gen_new_colname_to_value_range();
     orc_reader->set_table_col_to_file_col(_table_col_to_file_col);
-    RETURN_IF_ERROR(init_row_filters(_range));
+    RETURN_IF_ERROR(init_row_filters(_range, _io_ctx));
     return orc_reader->init_reader(&_all_required_col_names, 
&_new_colname_to_value_range,
                                    conjuncts, false, tuple_descriptor, 
row_descriptor,
                                    not_single_slot_filter_conjuncts, 
slot_id_to_filter_conjuncts);
diff --git a/be/src/vec/exec/format/table/iceberg_reader.h 
b/be/src/vec/exec/format/table/iceberg_reader.h
index 07fc1baf90f..a4ecbe9e360 100644
--- a/be/src/vec/exec/format/table/iceberg_reader.h
+++ b/be/src/vec/exec/format/table/iceberg_reader.h
@@ -80,7 +80,7 @@ public:
                        int64_t push_down_count);
     ~IcebergTableReader() override = default;
 
-    Status init_row_filters(const TFileRangeDesc& range) final;
+    Status init_row_filters(const TFileRangeDesc& range, io::IOContext* 
io_ctx) final;
 
     Status get_next_block(Block* block, size_t* read_rows, bool* eof) final;
 
diff --git a/be/src/vec/exec/format/table/paimon_reader.cpp 
b/be/src/vec/exec/format/table/paimon_reader.cpp
index 7bb6c5e844a..47a956fd601 100644
--- a/be/src/vec/exec/format/table/paimon_reader.cpp
+++ b/be/src/vec/exec/format/table/paimon_reader.cpp
@@ -38,7 +38,7 @@ PaimonReader::PaimonReader(std::unique_ptr<GenericReader> 
file_format_reader,
             ADD_CHILD_TIMER(_profile, "DeleteFileReadTime", paimon_profile);
 }
 
-Status PaimonReader::init_row_filters(const TFileRangeDesc& range) {
+Status PaimonReader::init_row_filters(const TFileRangeDesc& range, 
io::IOContext* io_ctx) {
     const auto& table_desc = range.table_format_params.paimon_params;
     if (!table_desc.__isset.deletion_file) {
         return Status::OK();
@@ -80,7 +80,8 @@ Status PaimonReader::init_row_filters(const TFileRangeDesc& 
range) {
     Slice result(buf.data(), bytes_read);
     {
         SCOPED_TIMER(_paimon_profile.delete_files_read_time);
-        RETURN_IF_ERROR(delete_file_reader->read_at(deletion_file.offset, 
result, &bytes_read));
+        RETURN_IF_ERROR(
+                delete_file_reader->read_at(deletion_file.offset, result, 
&bytes_read, io_ctx));
     }
     if (bytes_read != deletion_file.length + 4) {
         return Status::IOError(
diff --git a/be/src/vec/exec/format/table/paimon_reader.h 
b/be/src/vec/exec/format/table/paimon_reader.h
index c5e3a24db70..518275ff585 100644
--- a/be/src/vec/exec/format/table/paimon_reader.h
+++ b/be/src/vec/exec/format/table/paimon_reader.h
@@ -31,7 +31,7 @@ public:
                  RuntimeState* state, const TFileScanRangeParams& params);
     ~PaimonReader() override = default;
 
-    Status init_row_filters(const TFileRangeDesc& range) final;
+    Status init_row_filters(const TFileRangeDesc& range, io::IOContext* 
io_ctx) final;
 
 protected:
     struct PaimonProfile {
diff --git a/be/src/vec/exec/format/table/table_format_reader.h 
b/be/src/vec/exec/format/table/table_format_reader.h
index 7660a443712..5a102a7665e 100644
--- a/be/src/vec/exec/format/table/table_format_reader.h
+++ b/be/src/vec/exec/format/table/table_format_reader.h
@@ -64,7 +64,7 @@ public:
 
     bool fill_all_columns() const override { return 
_file_format_reader->fill_all_columns(); }
 
-    virtual Status init_row_filters(const TFileRangeDesc& range) = 0;
+    virtual Status init_row_filters(const TFileRangeDesc& range, 
io::IOContext* io_ctx) = 0;
 
 protected:
     void _collect_profile_before_close() override {
diff --git a/be/src/vec/exec/format/table/transactional_hive_reader.cpp 
b/be/src/vec/exec/format/table/transactional_hive_reader.cpp
index a5756e687e9..bc4262b7451 100644
--- a/be/src/vec/exec/format/table/transactional_hive_reader.cpp
+++ b/be/src/vec/exec/format/table/transactional_hive_reader.cpp
@@ -90,7 +90,8 @@ Status TransactionalHiveReader::get_columns(
     return _file_format_reader->get_columns(name_to_type, missing_cols);
 }
 
-Status TransactionalHiveReader::init_row_filters(const TFileRangeDesc& range) {
+Status TransactionalHiveReader::init_row_filters(const TFileRangeDesc& range,
+                                                 io::IOContext* io_ctx) {
     std::string data_file_path = _range.path;
     // the path in _range is remove the namenode prefix,
     // and the file_path in delete file is full path, so we should add it back.
diff --git a/be/src/vec/exec/format/table/transactional_hive_reader.h 
b/be/src/vec/exec/format/table/transactional_hive_reader.h
index 81f472728b4..a24fee18694 100644
--- a/be/src/vec/exec/format/table/transactional_hive_reader.h
+++ b/be/src/vec/exec/format/table/transactional_hive_reader.h
@@ -89,7 +89,7 @@ public:
                             io::IOContext* io_ctx);
     ~TransactionalHiveReader() override = default;
 
-    Status init_row_filters(const TFileRangeDesc& range) override;
+    Status init_row_filters(const TFileRangeDesc& range, io::IOContext* 
io_ctx) override;
 
     Status get_next_block(Block* block, size_t* read_rows, bool* eof) override;
 
diff --git a/be/src/vec/exec/scan/vfile_scanner.cpp 
b/be/src/vec/exec/scan/vfile_scanner.cpp
index 4d36263a0e4..3a87a502ebe 100644
--- a/be/src/vec/exec/scan/vfile_scanner.cpp
+++ b/be/src/vec/exec/scan/vfile_scanner.cpp
@@ -859,7 +859,7 @@ Status VFileScanner::_get_next_reader() {
                 std::unique_ptr<PaimonParquetReader> paimon_reader =
                         
PaimonParquetReader::create_unique(std::move(parquet_reader), _profile,
                                                            _state, *_params);
-                RETURN_IF_ERROR(paimon_reader->init_row_filters(range));
+                RETURN_IF_ERROR(paimon_reader->init_row_filters(range, 
_io_ctx.get()));
                 _cur_reader = std::move(paimon_reader);
             } else {
                 bool hive_parquet_use_column_names = true;
@@ -907,7 +907,7 @@ Status VFileScanner::_get_next_reader() {
                         _file_col_names, _colname_to_value_range, 
_push_down_conjuncts,
                         _real_tuple_desc, _default_val_row_desc.get(),
                         &_not_single_slot_filter_conjuncts, 
&_slot_id_to_filter_conjuncts);
-                RETURN_IF_ERROR(tran_orc_reader->init_row_filters(range));
+                RETURN_IF_ERROR(tran_orc_reader->init_row_filters(range, 
_io_ctx.get()));
                 _cur_reader = std::move(tran_orc_reader);
             } else if (range.__isset.table_format_params &&
                        range.table_format_params.table_format_type == 
"iceberg") {
@@ -929,7 +929,7 @@ Status VFileScanner::_get_next_reader() {
                         &_not_single_slot_filter_conjuncts, 
&_slot_id_to_filter_conjuncts);
                 std::unique_ptr<PaimonOrcReader> paimon_reader = 
PaimonOrcReader::create_unique(
                         std::move(orc_reader), _profile, _state, *_params);
-                RETURN_IF_ERROR(paimon_reader->init_row_filters(range));
+                RETURN_IF_ERROR(paimon_reader->init_row_filters(range, 
_io_ctx.get()));
                 _cur_reader = std::move(paimon_reader);
             } else {
                 bool hive_orc_use_column_names = true;
diff --git 
a/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out 
b/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out
index 1e20a4a1180..f3b44964915 100644
--- a/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out
+++ b/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out
@@ -1157,3 +1157,1161 @@ bbb
 
 -- !c109 --
 
+-- !all --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_1 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_2 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_3 --
+
+-- !predict_like_4 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_5 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !c1 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !c2 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c3 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c4 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c5 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c6 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c7 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c8 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c9 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c10 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c11 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c12 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c13 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c14 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c15 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c16 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c18 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c101 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !all --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_1 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_2 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_3 --
+
+-- !predict_like_4 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_5 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !c1 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !c2 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c3 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c4 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c5 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c6 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c7 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c8 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c9 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c10 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c11 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c12 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c13 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c14 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c15 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c16 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c18 --
+
+-- !c101 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !c19 --
+1      2       a       b       c
+11     22      aa      bb      cc
+
+-- !c20 --
+1      2       a       b       c
+
+-- !c21 --
+1      2       a       b       c
+
+-- !c22 --
+
+-- !c23 --
+1      [1111, 2222, 3333]      {"a_test":1}
+2      [4444, 5555, 6666]      {"b_test":0, "bbb":1}
+3      [7777, 8888, 9999]      {"c_test":1, "ccc":0}
+
+-- !c24 --
+1      [1111, 2222, 3333]      {"a_test":1}
+
+-- !c25 --
+\N     \N      \N      false
+\N     false   true    \N
+true   \N      \N      \N
+
+-- !c26 --
+3333
+6666
+9999
+
+-- !c27 --
+\N     [1, null, null] [1, null, null, null]   [4, null, null] [null, null]    
[null, 12, 13]  [null, 15]      [null, null]    [18, 19, 20]    [21.11, 22, 22] 
[null]  [null]  [null, null, "2023-10-24"]      ["13str", "arr_string"] 
["14varchar", "arr_varcha"]     [null, null]    [null, null]    [null, null, 
null]      [null, null]    {1:null, 0:null}        {1:null, 0:null}        
{1:null, 2:null}        {1:6, 0:null}   {1:7}   {0:null, 1:20}  {1:null}        
{1:null}        {0:21.11, 1:22.22}      {1:23.333}      {0:24.44, 1:null}       
{1:null, 4:"2023-02-03"}        {0:"byte_string"}       {0:"aa", [...]
+1      [1, 0]  [1, 2, 3]       [4, 5, 6]       [7, 8, 9]       [10, 11, 12, 
13]        [14, 15]        [16, 17]        [18, 19, 20]    [21.11, 22, 22] 
[23.333]        [24.44] ["2020-02-02", "2023-10-24"]    ["13str", "arr_string"] 
["14varchar", "arr_varcha"]     ["a", "b"]      [1, 0, 1]       ["aaaa", "bbb"] 
["2023-10-24 16:10:40.529000", "2023-10-24 16:10:40.529000"]    {1:0, 0:1}      
{0:2, 1:3}      {1:4, 0:5}      {1:6, 0:9}      {1:7}   {0:19, 1:20}    {1:21}  
{1:22}  {0:21.11, 1:22.22}      {1:23.333}      {0:24.44, 1:25.55}      
{1:"2021-02-03", 4:"2023-02-03"}        {0:"byte_string"}       {0:"aa", 
1:"bb"} [...]
+2      [1, null, 0]    [1, null, 2, 3] [4, 5, 6]       [null, null]    [null, 
12, 13]  [14, 15]        [null, null]    [18, 19, 20]    [21.11, 22, 22] 
[23.333]        [null, 24.44]   ["2020-02-02", null, "2023-10-24"]      
["13str", "arr_string"] ["14varchar", "arr_varcha"]     ["a", "b"]      [1, 0, 
1]       ["aaaa", "bbb", null, null]     ["2023-10-24 18:19:51.670000", null, 
"2023-10-24 18:19:51.670000"]      {1:null, 0:null}        {1:null, 0:null}     
   {1:4, 2:null}   {1:6, 0:9}      {1:7}   {0:19, 1:20}    {1:21}  {1:22}  
{0:21.11, 1:22.22}      {1:23.333}      {0:24.44, 1:25.55}      {1:nu [...]
+
+-- !c28 --
+0
+0
+1
+
+-- !c29 --
+1
+1
+1
+
+-- !c30 --
+4
+4
+4
+
+-- !c31 --
+\N
+\N
+7
+
+-- !c32 --
+10
+12
+12
+
+-- !c33 --
+14
+14
+15
+
+-- !c34 --
+\N
+\N
+16
+
+-- !c35 --
+18
+18
+18
+
+-- !c36 --
+21.11
+21.11
+21.11
+
+-- !c37 --
+\N
+23.333
+23.333
+
+-- !c38 --
+\N
+24.44
+24.44
+
+-- !c39 --
+2023-10-24
+2023-10-24
+2023-10-24
+
+-- !c40 --
+2
+2
+2
+
+-- !c41 --
+2
+2
+2
+
+-- !c42 --
+2
+2
+2
+
+-- !c43 --
+\N
+true
+true
+
+-- !c44 --
+2
+3
+4
+
+-- !c45 --
+\N
+2023-10-24T16:10:40.529
+2023-10-24T18:19:51.670
+
+-- !c46 --
+\N
+\N
+1
+
+-- !c47 --
+\N
+\N
+2
+
+-- !c48 --
+\N
+\N
+5
+
+-- !c49 --
+\N
+9
+9
+
+-- !c50 --
+7
+7
+7
+
+-- !c51 --
+\N
+19
+19
+
+-- !c52 --
+\N
+\N
+\N
+
+-- !c53 --
+\N
+\N
+\N
+
+-- !c54 --
+21.11
+21.11
+21.11
+
+-- !c55 --
+\N
+\N
+\N
+
+-- !c56 --
+24.44
+24.44
+24.44
+
+-- !c57 --
+\N
+\N
+\N
+
+-- !c58 --
+byte_string
+byte_string
+byte_string
+
+-- !c59 --
+aa
+aa
+aa
+
+-- !c60 --
+k
+k
+k
+
+-- !c61 --
+true
+true
+true
+
+-- !c62 --
+bbb
+bbb
+bbb
+
+-- !c63 --
+2023-10-24T16:10:40.532
+2023-10-24T18:19:51.672
+2023-10-24T18:20:16.600
+
+-- !c64 --
+\N
+\N
+1
+
+-- !c65 --
+3
+3
+3
+
+-- !c66 --
+4
+4
+4
+
+-- !c67 --
+\N
+\N
+6
+
+-- !c68 --
+\N
+\N
+7
+
+-- !c69 --
+19
+19
+19
+
+-- !c70 --
+21
+21
+21
+
+-- !c71 --
+\N
+22
+22
+
+-- !c72 --
+21.11
+21.11
+21.11
+
+-- !c73 --
+23.333
+23.333
+23.333
+
+-- !c74 --
+24.44
+24.44
+24.44
+
+-- !c75 --
+2021-02-03
+2021-02-03
+2021-02-03
+
+-- !c76 --
+byte_string
+byte_string
+byte_string
+
+-- !c77 --
+aa
+aa
+aa
+
+-- !c78 --
+\N
+o
+o
+
+-- !c79 --
+\N
+\N
+true
+
+-- !c80 --
+bbb
+bbb
+bbb
+
+-- !c81 --
+\N
+2023-10-24T16:10:40.533
+2023-10-24T18:19:51.673
+
+-- !c82 --
+1
+1
+1
+
+-- !c83 --
+3
+3
+3
+
+-- !c84 --
+4
+4
+4
+
+-- !c85 --
+6
+6
+6
+
+-- !c85 --
+7
+7
+7
+
+-- !c86 --
+19
+19
+19
+
+-- !c86 --
+\N
+\N
+21
+
+-- !c89 --
+22
+22
+22
+
+-- !c90 --
+21.11
+21.11
+21.11
+
+-- !c91 --
+23.333
+23.333
+23.333
+
+-- !c92 --
+24.44
+24.44
+24.44
+
+-- !c93 --
+2021-02-03
+2021-02-03
+2021-02-03
+
+-- !c94 --
+byte_string
+byte_string
+byte_string
+
+-- !c95 --
+aa
+aa
+aa
+
+-- !c96 --
+o
+o
+o
+
+-- !c97 --
+true
+true
+true
+
+-- !c98 --
+bbb
+bbb
+bbb
+
+-- !c99 --
+\N
+2023-10-24T16:10:40.533
+2023-10-24T18:19:51.673
+
+-- !c100 --
+1      [[0, 1, 1], [0, 1, 1], [1, 1, 1]]       [["3", "7", "a"], ["0", "e", 
"2"], ["b", "4", "5"]]     [["77", "83", "1c"], ["af", "f0", "0b"], ["be", 
"d2", "7b"]]    
[["4a3aee3c345936f7a6eeb5307fc79d5f9ee3ae3a5e58edcfd4d40ec3d27353bf7b15a2eb6b6011e9ddf2c2cd1d6d50d6cc20",
 
"00cb283c1a2bb2f3f244f89eafb79effd8aea55d5e68ce9d707250a3b47b65c0ea2b591b7145a56c801b9e6bda853e2f0581",
 
"ae8fbe21e20f32a486757b5254faea09906bf451e096cc7d33b5a6fb56995c1601e7469a674f5e8475a2b86d2a69e02f9438"],
 ["6827f8e65869d476a9e2fdfa03 [...]
+2      [[0, 0, 0], [1, 0, 0], [0, 1, 1]]       [["a", "5", "f"], ["7", "2", 
"3"], ["1", "b", "f"]]     [["11", "a8", "e3"], ["f4", "ee", "c3"], ["0f", 
"c6", "05"]]    
[["b723869515b24e9fbb54503f8a7584f083479998766213b784a9c530cbc0376bd5035054c657437251b85fa3dd41a0483776",
 
"ee780d81d3e9faa36aad06522a09cf9b18e00614c991d2c079243dcc7190f3dd6559e75e2c1992270272d9a9c01e950c7bd4",
 
"6e825a52cdae65786801caae53182956c80f88a48fa258a90d2c93302023c78b83f1dce758615a74731c9eef993a8c1dc4ad"],
 ["2ae97869372970f7ad7d0007a1 [...]
+3      [[1, 0, 0], [1, 0, 1], [1, 0, 1]]       [["c", "6", "4"], ["1", "e", 
"7"], ["7", "1", "d"]]     [["50", "a9", "b0"], ["02", "bf", "3a"], ["0a", 
"1d", "9a"]]    
[["2df05ba6ce8661f0fb9bc88386a1ba67188e3e99a4142a0703e1cd8bdf041fbc20131e50bea2a9891498c638ebac842d3d46",
 
"f6fecf3a4263ed8d4c5b63e4b3d9f4084b83835d9fba2046bf48d0a8068f2044c48271a1e9726741a09badea72c37cf18de3",
 
"d23af3266db4eda12673f5c451d36343ba1cea00fbfeeff2165de40e834778eb96a1199cb523dd394b4f08824f6af2a7d894"],
 ["dc00e9b27b9540e170caf93805 [...]
+
+-- !c102 --
+1      {"c_boolean":1, "c_tinyint":1, "c_smallint":2, "c_int":3, "c_bigint":4, 
"c_float":5.1, "c_double":6.2, "c_decimal":7.30, "c_char":"6", "c_varchar":"9", 
"c_binary":"a", "c_varbinary":"bbbb", "c_date":"2020-01-01", 
"c_timestamp":"2020-01-01 00:00:00.000000", "c_array":[1, 2, 3], 
"c_map":{"a":1, "b":2}, "c_row":{"c_int":3, "c_float":4.1, "c_varchar":"5"}}
+2      {"c_boolean":1, "c_tinyint":5, "c_smallint":6, "c_int":7, "c_bigint":8, 
"c_float":10.2, "c_double":11.4, "c_decimal":12.60, "c_char":"7", 
"c_varchar":"10", "c_binary":"c", "c_varbinary":"dddd", "c_date":"2021-06-15", 
"c_timestamp":"2021-06-15 06:00:00.000000", "c_array":[4, 5, 6], 
"c_map":{"a":6, "b":7}, "c_row":{"c_int":8, "c_float":9.2, "c_varchar":"10"}}
+3      {"c_boolean":1, "c_tinyint":9, "c_smallint":10, "c_int":11, 
"c_bigint":12, "c_float":13.3, "c_double":14.6, "c_decimal":15.90, 
"c_char":"8", "c_varchar":"11", "c_binary":"e", "c_varbinary":"ffff", 
"c_date":"2022-12-31", "c_timestamp":"2022-12-31 12:59:59.000000", 
"c_array":[7, 8, 9], "c_map":{"a":11, "b":12}, "c_row":{"c_int":13, 
"c_float":14.3, "c_varchar":"15"}}
+
+-- !c103 --
+1      {"c_boolean":1, "c_tinyint":1, "c_smallint":2, "c_int":3, "c_bigint":4, 
"c_float":5.1, "c_double":6.2, "c_decimal":7.30, "c_char":"6", "c_varchar":"9", 
"c_binary":"a", "c_varbinary":"bbbb", "c_date":"2020-01-01", 
"c_timestamp":"2020-01-01 00:00:00.000000", "c_array":[1, 2, 3], 
"c_map":{"a":1, "b":2}, "c_row":{"c_int":3, "c_float":4.1, "c_varchar":"5"}}
+2      {"c_boolean":1, "c_tinyint":5, "c_smallint":6, "c_int":7, "c_bigint":8, 
"c_float":10.2, "c_double":11.4, "c_decimal":12.60, "c_char":"7", 
"c_varchar":"10", "c_binary":"c", "c_varbinary":"dddd", "c_date":"2021-06-15", 
"c_timestamp":"2021-06-15 06:00:00.000000", "c_array":[4, 5, 6], 
"c_map":{"a":6, "b":7}, "c_row":{"c_int":8, "c_float":9.2, "c_varchar":"10"}}
+3      {"c_boolean":1, "c_tinyint":9, "c_smallint":10, "c_int":11, 
"c_bigint":12, "c_float":13.3, "c_double":14.6, "c_decimal":15.90, 
"c_char":"8", "c_varchar":"11", "c_binary":"e", "c_varbinary":"ffff", 
"c_date":"2022-12-31", "c_timestamp":"2022-12-31 12:59:59.000000", 
"c_array":[7, 8, 9], "c_map":{"a":11, "b":12}, "c_row":{"c_int":13, 
"c_float":14.3, "c_varchar":"15"}}
+
+-- !c104 --
+2      2_2
+3      3_1
+4      4_1
+
+-- !c105 --
+2      2_2
+3      3_1
+4      4_1
+
+-- !c106 --
+1      a
+
+-- !c107 --
+
+-- !c108 --
+1
+
+-- !c109 --
+
+-- !all --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_1 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_2 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_3 --
+
+-- !predict_like_4 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !predict_like_5 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !c1 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !c2 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c3 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c4 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c5 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c6 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c7 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c8 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c9 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c10 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c11 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c12 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c13 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c14 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c15 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c16 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c18 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+
+-- !c101 --
+1      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-08-13T09:32:38.530
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-08-14T08:32:52.821
+
+-- !all --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_1 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_2 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_3 --
+
+-- !predict_like_4 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !predict_like_5 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !c1 --
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !c2 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c3 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c4 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c5 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c6 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c7 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c8 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c9 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c10 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c11 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c12 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c13 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c14 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c15 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c16 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+
+-- !c18 --
+
+-- !c101 --
+2      2       3       4       5       6       7       8       9.1     10.1    
11.10   2020-02-02      13str   14varchar       a       true    aaaa    
2023-12-21T10:02:32.747
+10     20      30      40      50      60      70      80      90.1    100.1   
110.10  2020-03-02      130str  140varchar      b       false   bbbb    
2023-12-21T10:02:37.527
+
+-- !c19 --
+1      2       a       b       c
+11     22      aa      bb      cc
+
+-- !c20 --
+1      2       a       b       c
+
+-- !c21 --
+1      2       a       b       c
+
+-- !c22 --
+
+-- !c23 --
+1      [1111, 2222, 3333]      {"a_test":1}
+2      [4444, 5555, 6666]      {"b_test":0, "bbb":1}
+3      [7777, 8888, 9999]      {"c_test":1, "ccc":0}
+
+-- !c24 --
+1      [1111, 2222, 3333]      {"a_test":1}
+
+-- !c25 --
+\N     \N      \N      false
+\N     false   true    \N
+true   \N      \N      \N
+
+-- !c26 --
+3333
+6666
+9999
+
+-- !c27 --
+\N     [1, null, null] [1, null, null, null]   [4, null, null] [null, null]    
[null, 12, 13]  [null, 15]      [null, null]    [18, 19, 20]    [21.11, 22, 22] 
[null]  [null]  [null, null, "2023-10-24"]      ["13str", "arr_string"] 
["14varchar", "arr_varcha"]     [null, null]    [null, null]    [null, null, 
null]      [null, null]    {1:null, 0:null}        {1:null, 0:null}        
{1:null, 2:null}        {1:6, 0:null}   {1:7}   {0:null, 1:20}  {1:null}        
{1:null}        {0:21.11, 1:22.22}      {1:23.333}      {0:24.44, 1:null}       
{1:null, 4:"2023-02-03"}        {0:"byte_string"}       {0:"aa", [...]
+1      [1, 0]  [1, 2, 3]       [4, 5, 6]       [7, 8, 9]       [10, 11, 12, 
13]        [14, 15]        [16, 17]        [18, 19, 20]    [21.11, 22, 22] 
[23.333]        [24.44] ["2020-02-02", "2023-10-24"]    ["13str", "arr_string"] 
["14varchar", "arr_varcha"]     ["a", "b"]      [1, 0, 1]       ["aaaa", "bbb"] 
["2023-10-24 16:10:40.529000", "2023-10-24 16:10:40.529000"]    {1:0, 0:1}      
{0:2, 1:3}      {1:4, 0:5}      {1:6, 0:9}      {1:7}   {0:19, 1:20}    {1:21}  
{1:22}  {0:21.11, 1:22.22}      {1:23.333}      {0:24.44, 1:25.55}      
{1:"2021-02-03", 4:"2023-02-03"}        {0:"byte_string"}       {0:"aa", 
1:"bb"} [...]
+2      [1, null, 0]    [1, null, 2, 3] [4, 5, 6]       [null, null]    [null, 
12, 13]  [14, 15]        [null, null]    [18, 19, 20]    [21.11, 22, 22] 
[23.333]        [null, 24.44]   ["2020-02-02", null, "2023-10-24"]      
["13str", "arr_string"] ["14varchar", "arr_varcha"]     ["a", "b"]      [1, 0, 
1]       ["aaaa", "bbb", null, null]     ["2023-10-24 18:19:51.670000", null, 
"2023-10-24 18:19:51.670000"]      {1:null, 0:null}        {1:null, 0:null}     
   {1:4, 2:null}   {1:6, 0:9}      {1:7}   {0:19, 1:20}    {1:21}  {1:22}  
{0:21.11, 1:22.22}      {1:23.333}      {0:24.44, 1:25.55}      {1:nu [...]
+
+-- !c28 --
+0
+0
+1
+
+-- !c29 --
+1
+1
+1
+
+-- !c30 --
+4
+4
+4
+
+-- !c31 --
+\N
+\N
+7
+
+-- !c32 --
+10
+12
+12
+
+-- !c33 --
+14
+14
+15
+
+-- !c34 --
+\N
+\N
+16
+
+-- !c35 --
+18
+18
+18
+
+-- !c36 --
+21.11
+21.11
+21.11
+
+-- !c37 --
+\N
+23.333
+23.333
+
+-- !c38 --
+\N
+24.44
+24.44
+
+-- !c39 --
+2023-10-24
+2023-10-24
+2023-10-24
+
+-- !c40 --
+2
+2
+2
+
+-- !c41 --
+2
+2
+2
+
+-- !c42 --
+2
+2
+2
+
+-- !c43 --
+\N
+true
+true
+
+-- !c44 --
+2
+3
+4
+
+-- !c45 --
+\N
+2023-10-24T16:10:40.529
+2023-10-24T18:19:51.670
+
+-- !c46 --
+\N
+\N
+1
+
+-- !c47 --
+\N
+\N
+2
+
+-- !c48 --
+\N
+\N
+5
+
+-- !c49 --
+\N
+9
+9
+
+-- !c50 --
+7
+7
+7
+
+-- !c51 --
+\N
+19
+19
+
+-- !c52 --
+\N
+\N
+\N
+
+-- !c53 --
+\N
+\N
+\N
+
+-- !c54 --
+21.11
+21.11
+21.11
+
+-- !c55 --
+\N
+\N
+\N
+
+-- !c56 --
+24.44
+24.44
+24.44
+
+-- !c57 --
+\N
+\N
+\N
+
+-- !c58 --
+byte_string
+byte_string
+byte_string
+
+-- !c59 --
+aa
+aa
+aa
+
+-- !c60 --
+k
+k
+k
+
+-- !c61 --
+true
+true
+true
+
+-- !c62 --
+bbb
+bbb
+bbb
+
+-- !c63 --
+2023-10-24T16:10:40.532
+2023-10-24T18:19:51.672
+2023-10-24T18:20:16.600
+
+-- !c64 --
+\N
+\N
+1
+
+-- !c65 --
+3
+3
+3
+
+-- !c66 --
+4
+4
+4
+
+-- !c67 --
+\N
+\N
+6
+
+-- !c68 --
+\N
+\N
+7
+
+-- !c69 --
+19
+19
+19
+
+-- !c70 --
+21
+21
+21
+
+-- !c71 --
+\N
+22
+22
+
+-- !c72 --
+21.11
+21.11
+21.11
+
+-- !c73 --
+23.333
+23.333
+23.333
+
+-- !c74 --
+24.44
+24.44
+24.44
+
+-- !c75 --
+2021-02-03
+2021-02-03
+2021-02-03
+
+-- !c76 --
+byte_string
+byte_string
+byte_string
+
+-- !c77 --
+aa
+aa
+aa
+
+-- !c78 --
+\N
+o
+o
+
+-- !c79 --
+\N
+\N
+true
+
+-- !c80 --
+bbb
+bbb
+bbb
+
+-- !c81 --
+\N
+2023-10-24T16:10:40.533
+2023-10-24T18:19:51.673
+
+-- !c82 --
+1
+1
+1
+
+-- !c83 --
+3
+3
+3
+
+-- !c84 --
+4
+4
+4
+
+-- !c85 --
+6
+6
+6
+
+-- !c85 --
+7
+7
+7
+
+-- !c86 --
+19
+19
+19
+
+-- !c86 --
+\N
+\N
+21
+
+-- !c89 --
+22
+22
+22
+
+-- !c90 --
+21.11
+21.11
+21.11
+
+-- !c91 --
+23.333
+23.333
+23.333
+
+-- !c92 --
+24.44
+24.44
+24.44
+
+-- !c93 --
+2021-02-03
+2021-02-03
+2021-02-03
+
+-- !c94 --
+byte_string
+byte_string
+byte_string
+
+-- !c95 --
+aa
+aa
+aa
+
+-- !c96 --
+o
+o
+o
+
+-- !c97 --
+true
+true
+true
+
+-- !c98 --
+bbb
+bbb
+bbb
+
+-- !c99 --
+\N
+2023-10-24T16:10:40.533
+2023-10-24T18:19:51.673
+
+-- !c100 --
+1      [[0, 1, 1], [0, 1, 1], [1, 1, 1]]       [["3", "7", "a"], ["0", "e", 
"2"], ["b", "4", "5"]]     [["77", "83", "1c"], ["af", "f0", "0b"], ["be", 
"d2", "7b"]]    
[["4a3aee3c345936f7a6eeb5307fc79d5f9ee3ae3a5e58edcfd4d40ec3d27353bf7b15a2eb6b6011e9ddf2c2cd1d6d50d6cc20",
 
"00cb283c1a2bb2f3f244f89eafb79effd8aea55d5e68ce9d707250a3b47b65c0ea2b591b7145a56c801b9e6bda853e2f0581",
 
"ae8fbe21e20f32a486757b5254faea09906bf451e096cc7d33b5a6fb56995c1601e7469a674f5e8475a2b86d2a69e02f9438"],
 ["6827f8e65869d476a9e2fdfa03 [...]
+2      [[0, 0, 0], [1, 0, 0], [0, 1, 1]]       [["a", "5", "f"], ["7", "2", 
"3"], ["1", "b", "f"]]     [["11", "a8", "e3"], ["f4", "ee", "c3"], ["0f", 
"c6", "05"]]    
[["b723869515b24e9fbb54503f8a7584f083479998766213b784a9c530cbc0376bd5035054c657437251b85fa3dd41a0483776",
 
"ee780d81d3e9faa36aad06522a09cf9b18e00614c991d2c079243dcc7190f3dd6559e75e2c1992270272d9a9c01e950c7bd4",
 
"6e825a52cdae65786801caae53182956c80f88a48fa258a90d2c93302023c78b83f1dce758615a74731c9eef993a8c1dc4ad"],
 ["2ae97869372970f7ad7d0007a1 [...]
+3      [[1, 0, 0], [1, 0, 1], [1, 0, 1]]       [["c", "6", "4"], ["1", "e", 
"7"], ["7", "1", "d"]]     [["50", "a9", "b0"], ["02", "bf", "3a"], ["0a", 
"1d", "9a"]]    
[["2df05ba6ce8661f0fb9bc88386a1ba67188e3e99a4142a0703e1cd8bdf041fbc20131e50bea2a9891498c638ebac842d3d46",
 
"f6fecf3a4263ed8d4c5b63e4b3d9f4084b83835d9fba2046bf48d0a8068f2044c48271a1e9726741a09badea72c37cf18de3",
 
"d23af3266db4eda12673f5c451d36343ba1cea00fbfeeff2165de40e834778eb96a1199cb523dd394b4f08824f6af2a7d894"],
 ["dc00e9b27b9540e170caf93805 [...]
+
+-- !c102 --
+1      {"c_boolean":1, "c_tinyint":1, "c_smallint":2, "c_int":3, "c_bigint":4, 
"c_float":5.1, "c_double":6.2, "c_decimal":7.30, "c_char":"6", "c_varchar":"9", 
"c_binary":"a", "c_varbinary":"bbbb", "c_date":"2020-01-01", 
"c_timestamp":"2020-01-01 00:00:00.000000", "c_array":[1, 2, 3], 
"c_map":{"a":1, "b":2}, "c_row":{"c_int":3, "c_float":4.1, "c_varchar":"5"}}
+2      {"c_boolean":1, "c_tinyint":5, "c_smallint":6, "c_int":7, "c_bigint":8, 
"c_float":10.2, "c_double":11.4, "c_decimal":12.60, "c_char":"7", 
"c_varchar":"10", "c_binary":"c", "c_varbinary":"dddd", "c_date":"2021-06-15", 
"c_timestamp":"2021-06-15 06:00:00.000000", "c_array":[4, 5, 6], 
"c_map":{"a":6, "b":7}, "c_row":{"c_int":8, "c_float":9.2, "c_varchar":"10"}}
+3      {"c_boolean":1, "c_tinyint":9, "c_smallint":10, "c_int":11, 
"c_bigint":12, "c_float":13.3, "c_double":14.6, "c_decimal":15.90, 
"c_char":"8", "c_varchar":"11", "c_binary":"e", "c_varbinary":"ffff", 
"c_date":"2022-12-31", "c_timestamp":"2022-12-31 12:59:59.000000", 
"c_array":[7, 8, 9], "c_map":{"a":11, "b":12}, "c_row":{"c_int":13, 
"c_float":14.3, "c_varchar":"15"}}
+
+-- !c103 --
+1      {"c_boolean":1, "c_tinyint":1, "c_smallint":2, "c_int":3, "c_bigint":4, 
"c_float":5.1, "c_double":6.2, "c_decimal":7.30, "c_char":"6", "c_varchar":"9", 
"c_binary":"a", "c_varbinary":"bbbb", "c_date":"2020-01-01", 
"c_timestamp":"2020-01-01 00:00:00.000000", "c_array":[1, 2, 3], 
"c_map":{"a":1, "b":2}, "c_row":{"c_int":3, "c_float":4.1, "c_varchar":"5"}}
+2      {"c_boolean":1, "c_tinyint":5, "c_smallint":6, "c_int":7, "c_bigint":8, 
"c_float":10.2, "c_double":11.4, "c_decimal":12.60, "c_char":"7", 
"c_varchar":"10", "c_binary":"c", "c_varbinary":"dddd", "c_date":"2021-06-15", 
"c_timestamp":"2021-06-15 06:00:00.000000", "c_array":[4, 5, 6], 
"c_map":{"a":6, "b":7}, "c_row":{"c_int":8, "c_float":9.2, "c_varchar":"10"}}
+3      {"c_boolean":1, "c_tinyint":9, "c_smallint":10, "c_int":11, 
"c_bigint":12, "c_float":13.3, "c_double":14.6, "c_decimal":15.90, 
"c_char":"8", "c_varchar":"11", "c_binary":"e", "c_varbinary":"ffff", 
"c_date":"2022-12-31", "c_timestamp":"2022-12-31 12:59:59.000000", 
"c_array":[7, 8, 9], "c_map":{"a":11, "b":12}, "c_row":{"c_int":13, 
"c_float":14.3, "c_varchar":"15"}}
+
+-- !c104 --
+2      2_2
+3      3_1
+4      4_1
+
+-- !c105 --
+2      2_2
+3      3_1
+4      4_1
+
+-- !c106 --
+1      a
+
+-- !c107 --
+
+-- !c108 --
+1
+
+-- !c109 --
+
diff --git 
a/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy 
b/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy
index 3b278c7e450..41afb02e0f9 100644
--- a/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy
+++ b/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy
@@ -193,8 +193,9 @@ suite("test_paimon_catalog", 
"p0,external,doris,external_docker,external_docker_
             );"""
             sql """use `${catalog_name}`.`db1`"""
 
-            def test_cases = { String force ->
+            def test_cases = { String force, String cache ->
                 sql """ set force_jni_scanner=${force} """
+                sql """ set enable_file_cache=${cache} """
                 qt_all_type("all_table")
                 qt_all_type("all_table_with_parquet")
 
@@ -290,8 +291,10 @@ suite("test_paimon_catalog", 
"p0,external,doris,external_docker,external_docker_
                 qt_c109 c109
             }
 
-            test_cases("false")
-            test_cases("true")
+            test_cases("false", "false")
+            test_cases("false", "true")
+            test_cases("true", "false")
+            test_cases("true", "true")
             sql """ set force_jni_scanner=false; """
 
             // test view from jion paimon


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


Reply via email to