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 e46b9b3b2560fb..148650303efda4 100644 --- a/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp +++ b/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp @@ -520,11 +520,19 @@ Status ScalarColumnReader::_read_nested_column(ColumnPtr& doris_column, DataType filtered_def_levels.reserve(_def_levels.size()); const uint8_t* filter_map_data = current_filter_map->filter_map_data(); - - for (size_t i = 0; i < _rep_levels.size(); i++) { - if (filter_map_data[i]) { - filtered_rep_levels.push_back(_rep_levels[i]); - filtered_def_levels.push_back(_def_levels[i]); + if (_nested_filter_map_data) { + for (size_t i = 0; i < _rep_levels.size(); i++) { + if (filter_map_data[i]) { + filtered_rep_levels.push_back(_rep_levels[i]); + filtered_def_levels.push_back(_def_levels[i]); + } + } + } else { + for (size_t i = 0; i < _rep_levels.size(); i++) { + if (filter_map_data[_filter_map_index - _rep_levels.size() + i]) { + filtered_rep_levels.push_back(_rep_levels[i]); + filtered_def_levels.push_back(_def_levels[i]); + } } } diff --git a/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_scripts/run85.hql b/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_scripts/run85.hql new file mode 100644 index 00000000000000..adb771f626ee64 --- /dev/null +++ b/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_scripts/run85.hql @@ -0,0 +1,15 @@ +use `multi_catalog`; + +CREATE TABLE test_parquet_lazy_read_struct( + id INT, + name STRING, + col STRUCT< + a: INT, + b: STRING, + c: STRUCT< + aa: INT + > + > +) +STORED AS PARQUET +LOCATION '/user/doris/preinstalled_data/parquet_table/test_parquet_lazy_read_struct'; diff --git a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/parquet_table/test_parquet_lazy_read_struct/example.parquet b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/parquet_table/test_parquet_lazy_read_struct/example.parquet new file mode 100644 index 00000000000000..7b4b1f6af13a8e Binary files /dev/null and b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/parquet_table/test_parquet_lazy_read_struct/example.parquet differ diff --git a/regression-test/data/external_table_p0/hive/test_parquet_nested_types.out b/regression-test/data/external_table_p0/hive/test_parquet_nested_types.out index 73049b7866ff53..2afe582f92577a 100644 --- a/regression-test/data/external_table_p0/hive/test_parquet_nested_types.out +++ b/regression-test/data/external_table_p0/hive/test_parquet_nested_types.out @@ -491,6 +491,27 @@ 1 [1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5] 3 [6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10] +-- !test_parquet_lazy_read_struct_q1 -- +1 1 1 1 1 + +-- !test_parquet_lazy_read_struct_q2 -- +19990 19990 19990 19990 19990 + +-- !test_parquet_lazy_read_struct_q3 -- +999 999 999 999 999 + +-- !test_parquet_lazy_read_struct_q4 -- +10000 10000 10000 10000 10000 + +-- !test_parquet_lazy_read_struct_q5 -- +6667 6667 6667 6667 6667 + +-- !test_parquet_lazy_read_struct_q6 -- +1 1 1 1 1 + +-- !test_parquet_lazy_read_struct_q7 -- +19999 19999 19999 19999 19999 + -- !nested_cross_page1_parquet_q1 -- [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5] @@ -983,3 +1004,24 @@ 1 [1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5, 1, null, 3, 4, 5] 3 [6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10, 6, null, 8, null, 10] +-- !test_parquet_lazy_read_struct_q1 -- +1 1 1 1 1 + +-- !test_parquet_lazy_read_struct_q2 -- +19990 19990 19990 19990 19990 + +-- !test_parquet_lazy_read_struct_q3 -- +999 999 999 999 999 + +-- !test_parquet_lazy_read_struct_q4 -- +10000 10000 10000 10000 10000 + +-- !test_parquet_lazy_read_struct_q5 -- +6667 6667 6667 6667 6667 + +-- !test_parquet_lazy_read_struct_q6 -- +1 1 1 1 1 + +-- !test_parquet_lazy_read_struct_q7 -- +19999 19999 19999 19999 19999 + diff --git a/regression-test/suites/external_table_p0/hive/test_parquet_nested_types.groovy b/regression-test/suites/external_table_p0/hive/test_parquet_nested_types.groovy index d94f909142e94d..874a4a35b714ea 100644 --- a/regression-test/suites/external_table_p0/hive/test_parquet_nested_types.groovy +++ b/regression-test/suites/external_table_p0/hive/test_parquet_nested_types.groovy @@ -203,6 +203,16 @@ suite("test_parquet_nested_types", "p0,external,hive,external_docker,external_do ORDER BY id """ + order_qt_test_parquet_lazy_read_struct_q1 """ select count(id),count(name),count(col),count(struct_element(col,"a")), count(struct_element(struct_element(col,"c"),"aa")) from test_parquet_lazy_read_struct where id = 1 """ + order_qt_test_parquet_lazy_read_struct_q2 """ select count(id),count(name),count(col) ,count(struct_element(col,"a")), count(struct_element(struct_element(col,"c"),"aa")) from test_parquet_lazy_read_struct where id > 10 """ + order_qt_test_parquet_lazy_read_struct_q3 """ select count(id),count(name),count(col), count(struct_element(col,"a")), count(struct_element(struct_element(col,"c"),"aa")) from test_parquet_lazy_read_struct where id < 1000 """ + order_qt_test_parquet_lazy_read_struct_q4 """ select count(id),count(name),count(col), count(struct_element(col,"a")), count(struct_element(struct_element(col,"c"),"aa")) from test_parquet_lazy_read_struct where id %2 = 1 """ + order_qt_test_parquet_lazy_read_struct_q5 """ select count(id),count(name),count(col),count(struct_element(col,"a")), count(struct_element(struct_element(col,"c"),"aa")) from test_parquet_lazy_read_struct where id %3 = 1 """ + order_qt_test_parquet_lazy_read_struct_q6 """ select count(id),count(name),count(col), count(struct_element(col,"a")), count(struct_element(struct_element(col,"c"),"aa")) from test_parquet_lazy_read_struct where name = 'name_100' """ + order_qt_test_parquet_lazy_read_struct_q7 """ select count(id),count(name),count(col),count(struct_element(col,"a")), count(struct_element(struct_element(col,"c"),"aa")) from test_parquet_lazy_read_struct where name != 'name_100' """ + + + sql """drop catalog ${catalog_name};""" } }