File tree Expand file tree Collapse file tree
datafusion/physical-plan/src/operator_statistics Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4545//! 2. [`ProjectionStatisticsProvider`] - column mapping through projections
4646//! 3. [`PassthroughStatisticsProvider`] - passthrough for cardinality-preserving operators
4747//! 4. [`AggregateStatisticsProvider`] - NDV-based GROUP BY cardinality estimation
48- //! 5. [`JoinStatisticsProvider`] - NDV-based join output estimation (hash, sort-merge, cross); nested-loop delegates to built-in
48+ //! 5. [`JoinStatisticsProvider`] - NDV-based join output estimation (hash, sort-merge, cross)
4949//! 6. [`LimitStatisticsProvider`] - caps output at the fetch limit (local and global)
5050//! 7. [`UnionStatisticsProvider`] - sums input row counts
5151//! 8. [`DefaultStatisticsProvider`] - fallback to `partition_statistics(None)`
@@ -745,9 +745,6 @@ impl StatisticsProvider for AggregateStatisticsProvider {
745745/// across all join key columns (assuming independence between keys),
746746/// falling back to the Cartesian product when any key lacks NDV on both sides.
747747/// For cross joins, uses the exact Cartesian product.
748- /// Nested-loop joins delegate to the built-in `partition_statistics` since an
749- /// arbitrary `JoinFilter` can be highly selective and the Cartesian product
750- /// would overestimate.
751748///
752749/// The base inner-join estimate is then adjusted for the join type:
753750/// - Semi joins: capped at the preserved-side row count
You can’t perform that action at this time.
0 commit comments