@@ -96,25 +96,25 @@ statement ok
9696set datafusion.explain.analyze_level = summary;
9797
9898query TT
99- EXPLAIN ANALYZE SELECT id, value AS v, name FROM (SELECT * FROM test_parquet UNION ALL SELECT * FROM test_parquet) ORDER BY v DESC LIMIT 3;
99+ EXPLAIN ANALYZE SELECT id, value AS v, name FROM (SELECT * FROM test_parquet UNION ALL SELECT * FROM test_parquet LIMIT 6 ) ORDER BY v DESC LIMIT 3;
100100----
101101Plan with Metrics
102- 01)SortPreservingMergeExec: [v@1 DESC], fetch=3 , metrics=[output_rows=3, elapsed_compute=<slt:ignore>, output_bytes=72.0 B]
103- 02)--SortExec: TopK(fetch=3), expr=[v@1 DESC], preserve_partitioning=[true], filter=[v @1 IS NULL OR v@1 > 800 ], metrics=[output_rows=6, elapsed_compute=<slt:ignore>, output_bytes=144 .0 B]
104- 03)----ProjectionExec: expr=[id@0 as id, value@1 as v, name@2 as name], metrics=[output_rows=20 , elapsed_compute=<slt:ignore>, output_bytes=772 .0 B]
105- 04)------UnionExec, metrics=[output_rows=20 , elapsed_compute=<slt:ignore>, output_bytes=772 .0 B]
106- 05)--------DataSourceExec: file_groups={1 group: [[WORKSPACE_ROOT/datafusion/sqllogictest/test_files/scratch/dynamic_filter_pushdown_config/test_data.parquet]]}, projection=[id, value, name], file_type=parquet, predicate=DynamicFilter [ value@1 IS NULL OR value@1 > 800 ], pruning_predicate=value_null_count@0 > 0 OR value_null_count@0 != row_count@2 AND value_max@1 > 800 , required_guarantees=[], metrics=[output_rows=10 , elapsed_compute=<slt:ignore>, output_bytes=386 .0 B, files_ranges_pruned_statistics=1 total → 1 matched, row_groups_pruned_statistics=1 total → 1 matched, row_groups_pruned_bloom_filter=1 total → 1 matched, page_index_rows_pruned=0 total → 0 matched, bytes_scanned=325, metadata_load_time=<slt:ignore>, scan_efficiency_ratio=28% (325/1.16 K)]
107- 06)--------DataSourceExec: file_groups={1 group: [[WORKSPACE_ROOT/datafusion/sqllogictest/test_files/scratch/dynamic_filter_pushdown_config/test_data.parquet]]}, projection=[id, value, name], file_type=parquet, predicate=DynamicFilter [ value@1 IS NULL OR value@1 > 800 ], pruning_predicate=value_null_count@0 > 0 OR value_null_count@0 != row_count@2 AND value_max@1 > 800 , required_guarantees=[], metrics=[output_rows=10 , elapsed_compute=<slt:ignore>, output_bytes=386 .0 B, files_ranges_pruned_statistics=1 total → 1 matched, row_groups_pruned_statistics=1 total → 1 matched, row_groups_pruned_bloom_filter=1 total → 1 matched, page_index_rows_pruned=0 total → 0 matched, bytes_scanned=325, metadata_load_time=<slt:ignore>, scan_efficiency_ratio=28% (325/1.16 K)]
102+ 01)SortExec: TopK(fetch=3), expr= [v@1 DESC], preserve_partitioning=[false], filter=[v@1 IS NULL OR v@1 > 400] , metrics=[output_rows=3, elapsed_compute=<slt:ignore>, output_bytes=72.0 B]
103+ 02)--ProjectionExec: expr=[id@0 as id, value @1 as v, name@2 as name ], metrics=[output_rows=6, elapsed_compute=<slt:ignore>, output_bytes=226 .0 B]
104+ 03)----CoalescePartitionsExec: fetch=6, metrics=[output_rows=6 , elapsed_compute=<slt:ignore>, output_bytes=226 .0 B]
105+ 04)------UnionExec, metrics=[output_rows=12 , elapsed_compute=<slt:ignore>, output_bytes=452 .0 B]
106+ 05)--------DataSourceExec: file_groups={1 group: [[WORKSPACE_ROOT/datafusion/sqllogictest/test_files/scratch/dynamic_filter_pushdown_config/test_data.parquet]]}, projection=[id, value, name], limit=6, file_type=parquet, predicate=DynamicFilter [ value@1 IS NULL OR value@1 > 400 ], pruning_predicate=value_null_count@0 > 0 OR value_null_count@0 != row_count@2 AND value_max@1 > 400 , required_guarantees=[], metrics=[output_rows=6 , elapsed_compute=<slt:ignore>, output_bytes=226 .0 B, files_ranges_pruned_statistics=1 total → 1 matched, row_groups_pruned_statistics=1 total → 1 matched, row_groups_pruned_bloom_filter=1 total → 1 matched, page_index_rows_pruned=0 total → 0 matched, bytes_scanned=325, metadata_load_time=<slt:ignore>, scan_efficiency_ratio=28% (325/1.16 K)]
107+ 06)--------DataSourceExec: file_groups={1 group: [[WORKSPACE_ROOT/datafusion/sqllogictest/test_files/scratch/dynamic_filter_pushdown_config/test_data.parquet]]}, projection=[id, value, name], limit=6, file_type=parquet, predicate=DynamicFilter [ value@1 IS NULL OR value@1 > 400 ], pruning_predicate=value_null_count@0 > 0 OR value_null_count@0 != row_count@2 AND value_max@1 > 400 , required_guarantees=[], metrics=[output_rows=6 , elapsed_compute=<slt:ignore>, output_bytes=226 .0 B, files_ranges_pruned_statistics=1 total → 1 matched, row_groups_pruned_statistics=1 total → 1 matched, row_groups_pruned_bloom_filter=1 total → 1 matched, page_index_rows_pruned=0 total → 0 matched, bytes_scanned=325, metadata_load_time=<slt:ignore>, scan_efficiency_ratio=28% (325/1.16 K)]
108108
109109statement ok
110110set datafusion.explain.analyze_level = dev;
111111
112112query IIT
113- SELECT id, value AS v, name FROM (SELECT * FROM test_parquet UNION ALL SELECT * FROM test_parquet) ORDER BY v DESC LIMIT 3;
113+ SELECT id, value AS v, name FROM (SELECT * FROM test_parquet UNION ALL SELECT * FROM test_parquet LIMIT 6 ) ORDER BY v DESC LIMIT 3;
114114----
115- 10 1000 j
116- 10 1000 j
117- 9 900 i
115+ 6 600 f
116+ 5 500 e
117+ 4 400 d
118118
119119# Disable TopK dynamic filter pushdown
120120statement ok
0 commit comments