This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new 31f0d7b86f3 branch-4.0: [add](test)Add a test case for parquet reader
lazy read struct column. #59777 (#59811)
31f0d7b86f3 is described below
commit 31f0d7b86f3f26be070a110764c6a91d7e929a63
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Jan 13 16:58:25 2026 +0800
branch-4.0: [add](test)Add a test case for parquet reader lazy read struct
column. #59777 (#59811)
Cherry-picked from #59777
Co-authored-by: daidai <[email protected]>
---
.../scripts/create_preinstalled_scripts/run85.hql | 15 ++++++++
.../test_parquet_lazy_read_struct/example.parquet | Bin 0 -> 729024 bytes
.../hive/test_parquet_nested_types.out | 42 +++++++++++++++++++++
.../hive/test_parquet_nested_types.groovy | 10 +++++
4 files changed, 67 insertions(+)
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 00000000000..adb771f626e
--- /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 00000000000..7b4b1f6af13
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 73049b7866f..2afe582f925 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, [...]
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, nu [...]
+-- !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, [...]
@@ -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, [...]
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, nu [...]
+-- !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 d94f909142e..874a4a35b71 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};"""
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]