This is an automated email from the ASF dual-hosted git repository.
jayzhan 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 d00a085d5a chore: Move `CoalesceBatches` from core to optimizer crate
(#13283)
d00a085d5a is described below
commit d00a085d5a5acde73a7667e8c73b5f0077d8a960
Author: Jonathan Chen <[email protected]>
AuthorDate: Thu Nov 7 19:41:07 2024 -0500
chore: Move `CoalesceBatches` from core to optimizer crate (#13283)
* move coalesce batches
* small fix
---
datafusion/core/src/physical_optimizer/mod.rs | 2 +-
.../src}/coalesce_batches.rs | 20 ++++++++++----------
datafusion/physical-optimizer/src/lib.rs | 1 +
3 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/datafusion/core/src/physical_optimizer/mod.rs
b/datafusion/core/src/physical_optimizer/mod.rs
index fe799a2305..a9f6f30dc1 100644
--- a/datafusion/core/src/physical_optimizer/mod.rs
+++ b/datafusion/core/src/physical_optimizer/mod.rs
@@ -21,7 +21,7 @@
//! "Repartition" or "Sortedness"
//!
//! [`ExecutionPlan`]: crate::physical_plan::ExecutionPlan
-pub mod coalesce_batches;
+
pub mod enforce_distribution;
pub mod enforce_sorting;
pub mod join_selection;
diff --git a/datafusion/core/src/physical_optimizer/coalesce_batches.rs
b/datafusion/physical-optimizer/src/coalesce_batches.rs
similarity index 88%
rename from datafusion/core/src/physical_optimizer/coalesce_batches.rs
rename to datafusion/physical-optimizer/src/coalesce_batches.rs
index 2f834813ed..5cf2c877c6 100644
--- a/datafusion/core/src/physical_optimizer/coalesce_batches.rs
+++ b/datafusion/physical-optimizer/src/coalesce_batches.rs
@@ -18,19 +18,19 @@
//! CoalesceBatches optimizer that groups batches together rows
//! in bigger batches to avoid overhead with small batches
+use crate::PhysicalOptimizerRule;
+
use std::sync::Arc;
-use crate::{
- config::ConfigOptions,
- error::Result,
- physical_plan::{
- coalesce_batches::CoalesceBatchesExec, filter::FilterExec,
joins::HashJoinExec,
- repartition::RepartitionExec, Partitioning,
- },
+use datafusion_common::config::ConfigOptions;
+use datafusion_common::error::Result;
+use datafusion_physical_expr::Partitioning;
+use datafusion_physical_plan::{
+ coalesce_batches::CoalesceBatchesExec, filter::FilterExec,
joins::HashJoinExec,
+ repartition::RepartitionExec, ExecutionPlan,
};
use datafusion_common::tree_node::{Transformed, TransformedResult, TreeNode};
-use datafusion_physical_optimizer::PhysicalOptimizerRule;
/// Optimizer rule that introduces CoalesceBatchesExec to avoid overhead with
small batches that
/// are produced by highly selective filters
@@ -46,9 +46,9 @@ impl CoalesceBatches {
impl PhysicalOptimizerRule for CoalesceBatches {
fn optimize(
&self,
- plan: Arc<dyn crate::physical_plan::ExecutionPlan>,
+ plan: Arc<dyn ExecutionPlan>,
config: &ConfigOptions,
- ) -> Result<Arc<dyn crate::physical_plan::ExecutionPlan>> {
+ ) -> Result<Arc<dyn ExecutionPlan>> {
if !config.execution.coalesce_batches {
return Ok(plan);
}
diff --git a/datafusion/physical-optimizer/src/lib.rs
b/datafusion/physical-optimizer/src/lib.rs
index 9a4e4f8524..5d0ccde9f8 100644
--- a/datafusion/physical-optimizer/src/lib.rs
+++ b/datafusion/physical-optimizer/src/lib.rs
@@ -19,6 +19,7 @@
#![deny(clippy::clone_on_ref_ptr)]
pub mod aggregate_statistics;
+pub mod coalesce_batches;
pub mod combine_partial_final_agg;
pub mod limit_pushdown;
pub mod limited_distinct_aggregation;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]