You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by co...@apache.org on 2025/05/30 15:45:06 UTC
(datafusion) branch main updated: Minor: update documentation for PrunableStatistics (#16213)
This is an automated email from the ASF dual-hosted git repository.
comphead pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new 376eb03963 Minor: update documentation for PrunableStatistics (#16213)
376eb03963 is described below
commit 376eb039631163a6e651d612b92221e8b7dad46f
Author: Andrew Lamb <an...@nerdnetworks.org>
AuthorDate: Fri May 30 11:45:00 2025 -0400
Minor: update documentation for PrunableStatistics (#16213)
---
datafusion/common/src/pruning.rs | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/datafusion/common/src/pruning.rs b/datafusion/common/src/pruning.rs
index 79ae840fa5..48750e3c99 100644
--- a/datafusion/common/src/pruning.rs
+++ b/datafusion/common/src/pruning.rs
@@ -129,6 +129,7 @@ pub trait PruningStatistics {
}
/// Prune files based on their partition values.
+///
/// This is used both at planning time and execution time to prune
/// files based on their partition values.
/// This feeds into [`CompositePruningStatistics`] to allow pruning
@@ -137,19 +138,21 @@ pub trait PruningStatistics {
#[derive(Clone)]
pub struct PartitionPruningStatistics {
/// Values for each column for each container.
- /// The outer vectors represent the columns while the inner
- /// vectors represent the containers.
- /// The order must match the order of the partition columns in
- /// [`PartitionPruningStatistics::partition_schema`].
+ ///
+ /// The outer vectors represent the columns while the inner vectors
+ /// represent the containers. The order must match the order of the
+ /// partition columns in [`PartitionPruningStatistics::partition_schema`].
partition_values: Vec<ArrayRef>,
/// The number of containers.
+ ///
/// Stored since the partition values are column-major and if
/// there are no columns we wouldn't know the number of containers.
num_containers: usize,
/// The schema of the partition columns.
- /// This must **not** be the schema of the entire file or table:
- /// it must only be the schema of the partition columns,
- /// in the same order as the values in [`PartitionPruningStatistics::partition_values`].
+ ///
+ /// This must **not** be the schema of the entire file or table: it must
+ /// only be the schema of the partition columns, in the same order as the
+ /// values in [`PartitionPruningStatistics::partition_values`].
partition_schema: SchemaRef,
}
@@ -258,7 +261,16 @@ impl PruningStatistics for PartitionPruningStatistics {
}
/// Prune a set of containers represented by their statistics.
-/// Each [`Statistics`] represents a container (e.g. a file or a partition of files).
+///
+/// Each [`Statistics`] represents a "container" -- some collection of data
+/// that has statistics of its columns.
+///
+/// It is up to the caller to decide what each container represents. For
+/// example, they can come from a file (e.g. [`PartitionedFile`]) or a set of of
+/// files (e.g. [`FileGroup`])
+///
+/// [`PartitionedFile`]: https://docs.rs/datafusion/latest/datafusion/datasource/listing/struct.PartitionedFile.html
+/// [`FileGroup`]: https://docs.rs/datafusion/latest/datafusion/datasource/physical_plan/struct.FileGroup.html
#[derive(Clone)]
pub struct PrunableStatistics {
/// Statistics for each container.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org