This is an automated email from the ASF dual-hosted git repository.
linwei 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 9f8b731827 Give `OptimizerRule::try_optimize` default implementation
and cleanup duplicated custom implementations (#11059)
9f8b731827 is described below
commit 9f8b731827edfffb7ec67d5515d88dffdba5b240
Author: 张林伟 <[email protected]>
AuthorDate: Sat Jun 22 21:18:35 2024 +0800
Give `OptimizerRule::try_optimize` default implementation and cleanup
duplicated custom implementations (#11059)
---
datafusion-examples/examples/rewrite_expr.rs | 8 -----
.../core/tests/user_defined/user_defined_plan.rs | 10 +------
.../optimizer/src/common_subexpr_eliminate.rs | 10 +------
.../src/decorrelate_predicate_subquery.rs | 8 -----
datafusion/optimizer/src/eliminate_cross_join.rs | 8 -----
.../optimizer/src/eliminate_duplicated_expr.rs | 10 +------
datafusion/optimizer/src/eliminate_filter.rs | 10 +------
.../optimizer/src/eliminate_group_by_constant.rs | 10 +------
datafusion/optimizer/src/eliminate_join.rs | 10 +------
datafusion/optimizer/src/eliminate_limit.rs | 10 +------
datafusion/optimizer/src/eliminate_nested_union.rs | 10 +------
datafusion/optimizer/src/eliminate_one_union.rs | 10 +------
datafusion/optimizer/src/eliminate_outer_join.rs | 10 +------
.../optimizer/src/extract_equijoin_predicate.rs | 9 +-----
datafusion/optimizer/src/filter_null_join_keys.rs | 10 +------
.../optimizer/src/optimize_projections/mod.rs | 8 -----
datafusion/optimizer/src/optimizer.rs | 34 ++++------------------
.../optimizer/src/propagate_empty_relation.rs | 10 +------
datafusion/optimizer/src/push_down_filter.rs | 8 -----
datafusion/optimizer/src/push_down_limit.rs | 10 +------
.../optimizer/src/replace_distinct_aggregate.rs | 10 +------
.../optimizer/src/rewrite_disjunctive_predicate.rs | 9 ------
.../optimizer/src/scalar_subquery_to_join.rs | 8 -----
.../src/simplify_expressions/simplify_exprs.rs | 10 +------
.../optimizer/src/single_distinct_to_groupby.rs | 8 -----
.../optimizer/src/unwrap_cast_in_comparison.rs | 8 -----
26 files changed, 22 insertions(+), 244 deletions(-)
diff --git a/datafusion-examples/examples/rewrite_expr.rs
b/datafusion-examples/examples/rewrite_expr.rs
index 556687a46a..06286d5d66 100644
--- a/datafusion-examples/examples/rewrite_expr.rs
+++ b/datafusion-examples/examples/rewrite_expr.rs
@@ -131,14 +131,6 @@ impl OptimizerRule for MyOptimizerRule {
"my_optimizer_rule"
}
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- unreachable!()
- }
-
fn apply_order(&self) -> Option<ApplyOrder> {
Some(ApplyOrder::BottomUp)
}
diff --git a/datafusion/core/tests/user_defined/user_defined_plan.rs
b/datafusion/core/tests/user_defined/user_defined_plan.rs
index c5654ded88..13e67de3df 100644
--- a/datafusion/core/tests/user_defined/user_defined_plan.rs
+++ b/datafusion/core/tests/user_defined/user_defined_plan.rs
@@ -323,15 +323,6 @@ impl QueryPlanner for TopKQueryPlanner {
struct TopKOptimizerRule {}
impl OptimizerRule for TopKOptimizerRule {
- // Example rewrite pass to insert a user defined LogicalPlanNode
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- unreachable!()
- }
-
fn name(&self) -> &str {
"topk"
}
@@ -344,6 +335,7 @@ impl OptimizerRule for TopKOptimizerRule {
true
}
+ // Example rewrite pass to insert a user defined LogicalPlanNode
fn rewrite(
&self,
plan: LogicalPlan,
diff --git a/datafusion/optimizer/src/common_subexpr_eliminate.rs
b/datafusion/optimizer/src/common_subexpr_eliminate.rs
index 7f4093ba11..5f54354df4 100644
--- a/datafusion/optimizer/src/common_subexpr_eliminate.rs
+++ b/datafusion/optimizer/src/common_subexpr_eliminate.rs
@@ -29,7 +29,7 @@ use datafusion_common::tree_node::{
Transformed, TreeNode, TreeNodeRecursion, TreeNodeRewriter,
TreeNodeVisitor,
};
use datafusion_common::{
- internal_datafusion_err, internal_err, qualified_name, Column, DFSchema,
Result,
+ internal_datafusion_err, qualified_name, Column, DFSchema, Result,
};
use datafusion_expr::expr::Alias;
use datafusion_expr::logical_plan::tree_node::unwrap_arc;
@@ -562,14 +562,6 @@ impl ConsecutiveWindowExprs {
}
impl OptimizerRule for CommonSubexprEliminate {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called CommonSubexprEliminate::rewrite")
- }
-
fn supports_rewrite(&self) -> bool {
true
}
diff --git a/datafusion/optimizer/src/decorrelate_predicate_subquery.rs
b/datafusion/optimizer/src/decorrelate_predicate_subquery.rs
index e5e97b693c..81d6dc863a 100644
--- a/datafusion/optimizer/src/decorrelate_predicate_subquery.rs
+++ b/datafusion/optimizer/src/decorrelate_predicate_subquery.rs
@@ -123,14 +123,6 @@ impl DecorrelatePredicateSubquery {
}
impl OptimizerRule for DecorrelatePredicateSubquery {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called
DecorrelatePredicateSubquery::rewrite")
- }
-
fn supports_rewrite(&self) -> bool {
true
}
diff --git a/datafusion/optimizer/src/eliminate_cross_join.rs
b/datafusion/optimizer/src/eliminate_cross_join.rs
index 9d871c50ad..6d6f84373a 100644
--- a/datafusion/optimizer/src/eliminate_cross_join.rs
+++ b/datafusion/optimizer/src/eliminate_cross_join.rs
@@ -77,14 +77,6 @@ impl EliminateCrossJoin {
///
/// This fix helps to improve the performance of TPCH Q19. issue#78
impl OptimizerRule for EliminateCrossJoin {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateCrossJoin::rewrite")
- }
-
fn supports_rewrite(&self) -> bool {
true
}
diff --git a/datafusion/optimizer/src/eliminate_duplicated_expr.rs
b/datafusion/optimizer/src/eliminate_duplicated_expr.rs
index 3dbfc750e8..e9d091d52b 100644
--- a/datafusion/optimizer/src/eliminate_duplicated_expr.rs
+++ b/datafusion/optimizer/src/eliminate_duplicated_expr.rs
@@ -20,7 +20,7 @@
use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result};
+use datafusion_common::Result;
use datafusion_expr::logical_plan::LogicalPlan;
use datafusion_expr::{Aggregate, Expr, Sort};
use indexmap::IndexSet;
@@ -63,14 +63,6 @@ impl Hash for SortExprWrapper {
}
}
impl OptimizerRule for EliminateDuplicatedExpr {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateDuplicatedExpr::rewrite")
- }
-
fn apply_order(&self) -> Option<ApplyOrder> {
Some(ApplyOrder::TopDown)
}
diff --git a/datafusion/optimizer/src/eliminate_filter.rs
b/datafusion/optimizer/src/eliminate_filter.rs
index 97f2349421..7c873b411d 100644
--- a/datafusion/optimizer/src/eliminate_filter.rs
+++ b/datafusion/optimizer/src/eliminate_filter.rs
@@ -18,7 +18,7 @@
//! [`EliminateFilter`] replaces `where false` or `where null` with an empty
relation.
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result, ScalarValue};
+use datafusion_common::{Result, ScalarValue};
use datafusion_expr::logical_plan::tree_node::unwrap_arc;
use datafusion_expr::{EmptyRelation, Expr, Filter, LogicalPlan};
@@ -41,14 +41,6 @@ impl EliminateFilter {
}
impl OptimizerRule for EliminateFilter {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateFilter::rewrite")
- }
-
fn name(&self) -> &str {
"eliminate_filter"
}
diff --git a/datafusion/optimizer/src/eliminate_group_by_constant.rs
b/datafusion/optimizer/src/eliminate_group_by_constant.rs
index 5d9a1193fd..c7869d9e4d 100644
--- a/datafusion/optimizer/src/eliminate_group_by_constant.rs
+++ b/datafusion/optimizer/src/eliminate_group_by_constant.rs
@@ -20,7 +20,7 @@ use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result};
+use datafusion_common::Result;
use datafusion_expr::{Aggregate, Expr, LogicalPlan, LogicalPlanBuilder,
Volatility};
/// Optimizer rule that removes constant expressions from `GROUP BY` clause
@@ -82,14 +82,6 @@ impl OptimizerRule for EliminateGroupByConstant {
}
}
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateGroupByConstant::rewrite")
- }
-
fn name(&self) -> &str {
"eliminate_group_by_constant"
}
diff --git a/datafusion/optimizer/src/eliminate_join.rs
b/datafusion/optimizer/src/eliminate_join.rs
index fea87e7587..c5115c87a0 100644
--- a/datafusion/optimizer/src/eliminate_join.rs
+++ b/datafusion/optimizer/src/eliminate_join.rs
@@ -19,7 +19,7 @@
use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result, ScalarValue};
+use datafusion_common::{Result, ScalarValue};
use datafusion_expr::JoinType::Inner;
use datafusion_expr::{
logical_plan::{EmptyRelation, LogicalPlan},
@@ -38,14 +38,6 @@ impl EliminateJoin {
}
impl OptimizerRule for EliminateJoin {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateJoin::rewrite")
- }
-
fn name(&self) -> &str {
"eliminate_join"
}
diff --git a/datafusion/optimizer/src/eliminate_limit.rs
b/datafusion/optimizer/src/eliminate_limit.rs
index bdb821bf3a..b0a75fa47c 100644
--- a/datafusion/optimizer/src/eliminate_limit.rs
+++ b/datafusion/optimizer/src/eliminate_limit.rs
@@ -19,7 +19,7 @@
use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result};
+use datafusion_common::Result;
use datafusion_expr::logical_plan::{tree_node::unwrap_arc, EmptyRelation,
LogicalPlan};
/// Optimizer rule to replace `LIMIT 0` or `LIMIT` whose ancestor LIMIT's skip
is
@@ -40,14 +40,6 @@ impl EliminateLimit {
}
impl OptimizerRule for EliminateLimit {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateLimit::rewrite")
- }
-
fn name(&self) -> &str {
"eliminate_limit"
}
diff --git a/datafusion/optimizer/src/eliminate_nested_union.rs
b/datafusion/optimizer/src/eliminate_nested_union.rs
index aa6f2b4975..09407aed53 100644
--- a/datafusion/optimizer/src/eliminate_nested_union.rs
+++ b/datafusion/optimizer/src/eliminate_nested_union.rs
@@ -19,7 +19,7 @@
use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result};
+use datafusion_common::Result;
use datafusion_expr::expr_rewriter::coerce_plan_expr_for_schema;
use datafusion_expr::{Distinct, LogicalPlan, Union};
use std::sync::Arc;
@@ -36,14 +36,6 @@ impl EliminateNestedUnion {
}
impl OptimizerRule for EliminateNestedUnion {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateNestedUnion::rewrite")
- }
-
fn name(&self) -> &str {
"eliminate_nested_union"
}
diff --git a/datafusion/optimizer/src/eliminate_one_union.rs
b/datafusion/optimizer/src/eliminate_one_union.rs
index 7763e7d3b7..edf6b72d7e 100644
--- a/datafusion/optimizer/src/eliminate_one_union.rs
+++ b/datafusion/optimizer/src/eliminate_one_union.rs
@@ -17,7 +17,7 @@
//! [`EliminateOneUnion`] eliminates single element `Union`
use crate::{OptimizerConfig, OptimizerRule};
-use datafusion_common::{internal_err, tree_node::Transformed, Result};
+use datafusion_common::{tree_node::Transformed, Result};
use datafusion_expr::logical_plan::{tree_node::unwrap_arc, LogicalPlan, Union};
use crate::optimizer::ApplyOrder;
@@ -34,14 +34,6 @@ impl EliminateOneUnion {
}
impl OptimizerRule for EliminateOneUnion {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateOneUnion::rewrite")
- }
-
fn name(&self) -> &str {
"eliminate_one_union"
}
diff --git a/datafusion/optimizer/src/eliminate_outer_join.rs
b/datafusion/optimizer/src/eliminate_outer_join.rs
index c3c5d80922..ccc637a0eb 100644
--- a/datafusion/optimizer/src/eliminate_outer_join.rs
+++ b/datafusion/optimizer/src/eliminate_outer_join.rs
@@ -17,7 +17,7 @@
//! [`EliminateOuterJoin`] converts `LEFT/RIGHT/FULL` joins to `INNER` joins
use crate::{OptimizerConfig, OptimizerRule};
-use datafusion_common::{internal_err, Column, DFSchema, Result};
+use datafusion_common::{Column, DFSchema, Result};
use datafusion_expr::logical_plan::{Join, JoinType, LogicalPlan};
use datafusion_expr::{Expr, Filter, Operator};
@@ -60,14 +60,6 @@ impl EliminateOuterJoin {
/// Attempt to eliminate outer joins.
impl OptimizerRule for EliminateOuterJoin {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called EliminateOuterJoin::rewrite")
- }
-
fn name(&self) -> &str {
"eliminate_outer_join"
}
diff --git a/datafusion/optimizer/src/extract_equijoin_predicate.rs
b/datafusion/optimizer/src/extract_equijoin_predicate.rs
index 237c003524..87d205139e 100644
--- a/datafusion/optimizer/src/extract_equijoin_predicate.rs
+++ b/datafusion/optimizer/src/extract_equijoin_predicate.rs
@@ -19,8 +19,8 @@
use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
+use datafusion_common::DFSchema;
use datafusion_common::Result;
-use datafusion_common::{internal_err, DFSchema};
use datafusion_expr::utils::split_conjunction_owned;
use datafusion_expr::utils::{can_hash, find_valid_equijoin_key_pair};
use datafusion_expr::{BinaryExpr, Expr, ExprSchemable, Join, LogicalPlan,
Operator};
@@ -49,13 +49,6 @@ impl ExtractEquijoinPredicate {
}
impl OptimizerRule for ExtractEquijoinPredicate {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called ExtractEquijoinPredicate::rewrite")
- }
fn supports_rewrite(&self) -> bool {
true
}
diff --git a/datafusion/optimizer/src/filter_null_join_keys.rs
b/datafusion/optimizer/src/filter_null_join_keys.rs
index ecd1901abe..381713662f 100644
--- a/datafusion/optimizer/src/filter_null_join_keys.rs
+++ b/datafusion/optimizer/src/filter_null_join_keys.rs
@@ -20,7 +20,7 @@
use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result};
+use datafusion_common::Result;
use datafusion_expr::utils::conjunction;
use datafusion_expr::{
logical_plan::Filter, logical_plan::JoinType, Expr, ExprSchemable,
LogicalPlan,
@@ -35,14 +35,6 @@ use std::sync::Arc;
pub struct FilterNullJoinKeys {}
impl OptimizerRule for FilterNullJoinKeys {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called FilterNullJoinKeys::rewrite")
- }
-
fn supports_rewrite(&self) -> bool {
true
}
diff --git a/datafusion/optimizer/src/optimize_projections/mod.rs
b/datafusion/optimizer/src/optimize_projections/mod.rs
index 50b2b1efad..2fbf77523b 100644
--- a/datafusion/optimizer/src/optimize_projections/mod.rs
+++ b/datafusion/optimizer/src/optimize_projections/mod.rs
@@ -70,14 +70,6 @@ impl OptimizeProjections {
}
impl OptimizerRule for OptimizeProjections {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called OptimizeProjections::rewrite")
- }
-
fn name(&self) -> &str {
"optimize_projections"
}
diff --git a/datafusion/optimizer/src/optimizer.rs
b/datafusion/optimizer/src/optimizer.rs
index 7a3ea6ed4c..14e5ac141e 100644
--- a/datafusion/optimizer/src/optimizer.rs
+++ b/datafusion/optimizer/src/optimizer.rs
@@ -83,9 +83,11 @@ pub trait OptimizerRule {
)]
fn try_optimize(
&self,
- plan: &LogicalPlan,
- config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>>;
+ _plan: &LogicalPlan,
+ _config: &dyn OptimizerConfig,
+ ) -> Result<Option<LogicalPlan>> {
+ internal_err!("Should have called rewrite")
+ }
/// A human readable name for this optimizer rule
fn name(&self) -> &str;
@@ -100,7 +102,7 @@ pub trait OptimizerRule {
/// Does this rule support rewriting owned plans (rather than by
reference)?
fn supports_rewrite(&self) -> bool {
- false
+ true
}
/// Try to rewrite `plan` to an optimized form, returning
`Transformed::yes`
@@ -667,14 +669,6 @@ mod tests {
struct BadRule {}
impl OptimizerRule for BadRule {
- fn try_optimize(
- &self,
- _: &LogicalPlan,
- _: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- unreachable!()
- }
-
fn name(&self) -> &str {
"bad rule"
}
@@ -696,14 +690,6 @@ mod tests {
struct GetTableScanRule {}
impl OptimizerRule for GetTableScanRule {
- fn try_optimize(
- &self,
- _: &LogicalPlan,
- _: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- unreachable!()
- }
-
fn name(&self) -> &str {
"get table_scan rule"
}
@@ -741,14 +727,6 @@ mod tests {
}
impl OptimizerRule for RotateProjectionRule {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- unreachable!()
- }
-
fn name(&self) -> &str {
"rotate_projection"
}
diff --git a/datafusion/optimizer/src/propagate_empty_relation.rs
b/datafusion/optimizer/src/propagate_empty_relation.rs
index dfcfc313ef..6d7521dac7 100644
--- a/datafusion/optimizer/src/propagate_empty_relation.rs
+++ b/datafusion/optimizer/src/propagate_empty_relation.rs
@@ -21,7 +21,7 @@ use std::sync::Arc;
use datafusion_common::tree_node::Transformed;
use datafusion_common::JoinType;
-use datafusion_common::{internal_err, plan_err, Result};
+use datafusion_common::{plan_err, Result};
use datafusion_expr::logical_plan::tree_node::unwrap_arc;
use datafusion_expr::logical_plan::LogicalPlan;
use datafusion_expr::{EmptyRelation, Projection, Union};
@@ -41,14 +41,6 @@ impl PropagateEmptyRelation {
}
impl OptimizerRule for PropagateEmptyRelation {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called PropagateEmptyRelation::rewrite")
- }
-
fn name(&self) -> &str {
"propagate_empty_relation"
}
diff --git a/datafusion/optimizer/src/push_down_filter.rs
b/datafusion/optimizer/src/push_down_filter.rs
index 89bcd6085c..013e74c8fc 100644
--- a/datafusion/optimizer/src/push_down_filter.rs
+++ b/datafusion/optimizer/src/push_down_filter.rs
@@ -593,14 +593,6 @@ fn infer_join_predicates(
}
impl OptimizerRule for PushDownFilter {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called PushDownFilter::rewrite")
- }
-
fn name(&self) -> &str {
"push_down_filter"
}
diff --git a/datafusion/optimizer/src/push_down_limit.rs
b/datafusion/optimizer/src/push_down_limit.rs
index 6723672ff4..cd2e0b6f5b 100644
--- a/datafusion/optimizer/src/push_down_limit.rs
+++ b/datafusion/optimizer/src/push_down_limit.rs
@@ -24,7 +24,7 @@ use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Result};
+use datafusion_common::Result;
use datafusion_expr::logical_plan::tree_node::unwrap_arc;
use datafusion_expr::logical_plan::{Join, JoinType, Limit, LogicalPlan};
@@ -43,14 +43,6 @@ impl PushDownLimit {
/// Push down Limit.
impl OptimizerRule for PushDownLimit {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called PushDownLimit::rewrite")
- }
-
fn supports_rewrite(&self) -> bool {
true
}
diff --git a/datafusion/optimizer/src/replace_distinct_aggregate.rs
b/datafusion/optimizer/src/replace_distinct_aggregate.rs
index b32a886353..fcd33be618 100644
--- a/datafusion/optimizer/src/replace_distinct_aggregate.rs
+++ b/datafusion/optimizer/src/replace_distinct_aggregate.rs
@@ -20,7 +20,7 @@ use crate::optimizer::{ApplyOrder, ApplyOrder::BottomUp};
use crate::{OptimizerConfig, OptimizerRule};
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, Column, Result};
+use datafusion_common::{Column, Result};
use datafusion_expr::expr_rewriter::normalize_cols;
use datafusion_expr::utils::expand_wildcard;
use datafusion_expr::{col, AggregateExt, LogicalPlanBuilder};
@@ -157,14 +157,6 @@ impl OptimizerRule for ReplaceDistinctWithAggregate {
}
}
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called
ReplaceDistinctWithAggregate::rewrite")
- }
-
fn name(&self) -> &str {
"replace_distinct_aggregate"
}
diff --git a/datafusion/optimizer/src/rewrite_disjunctive_predicate.rs
b/datafusion/optimizer/src/rewrite_disjunctive_predicate.rs
index ba865fa1e9..897afda267 100644
--- a/datafusion/optimizer/src/rewrite_disjunctive_predicate.rs
+++ b/datafusion/optimizer/src/rewrite_disjunctive_predicate.rs
@@ -19,7 +19,6 @@
use crate::optimizer::ApplyOrder;
use crate::{OptimizerConfig, OptimizerRule};
-use datafusion_common::internal_err;
use datafusion_common::tree_node::Transformed;
use datafusion_common::Result;
use datafusion_expr::expr::BinaryExpr;
@@ -133,14 +132,6 @@ impl RewriteDisjunctivePredicate {
}
impl OptimizerRule for RewriteDisjunctivePredicate {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called
RewriteDisjunctivePredicate::rewrite")
- }
-
fn name(&self) -> &str {
"rewrite_disjunctive_predicate"
}
diff --git a/datafusion/optimizer/src/scalar_subquery_to_join.rs
b/datafusion/optimizer/src/scalar_subquery_to_join.rs
index 279eca9c91..0333cc8dde 100644
--- a/datafusion/optimizer/src/scalar_subquery_to_join.rs
+++ b/datafusion/optimizer/src/scalar_subquery_to_join.rs
@@ -69,14 +69,6 @@ impl ScalarSubqueryToJoin {
}
impl OptimizerRule for ScalarSubqueryToJoin {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called ScalarSubqueryToJoin::rewrite")
- }
-
fn supports_rewrite(&self) -> bool {
true
}
diff --git a/datafusion/optimizer/src/simplify_expressions/simplify_exprs.rs
b/datafusion/optimizer/src/simplify_expressions/simplify_exprs.rs
index d15d12b690..e650d4c09c 100644
--- a/datafusion/optimizer/src/simplify_expressions/simplify_exprs.rs
+++ b/datafusion/optimizer/src/simplify_expressions/simplify_exprs.rs
@@ -20,7 +20,7 @@
use std::sync::Arc;
use datafusion_common::tree_node::Transformed;
-use datafusion_common::{internal_err, DFSchema, DFSchemaRef, DataFusionError,
Result};
+use datafusion_common::{DFSchema, DFSchemaRef, DataFusionError, Result};
use datafusion_expr::execution_props::ExecutionProps;
use datafusion_expr::logical_plan::LogicalPlan;
use datafusion_expr::simplify::SimplifyContext;
@@ -48,14 +48,6 @@ use super::ExprSimplifier;
pub struct SimplifyExpressions {}
impl OptimizerRule for SimplifyExpressions {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called SimplifyExpressions::rewrite")
- }
-
fn name(&self) -> &str {
"simplify_expressions"
}
diff --git a/datafusion/optimizer/src/single_distinct_to_groupby.rs
b/datafusion/optimizer/src/single_distinct_to_groupby.rs
index 4c98b9398a..b3562b7065 100644
--- a/datafusion/optimizer/src/single_distinct_to_groupby.rs
+++ b/datafusion/optimizer/src/single_distinct_to_groupby.rs
@@ -123,14 +123,6 @@ fn contains_grouping_set(expr: &[Expr]) -> bool {
}
impl OptimizerRule for SingleDistinctToGroupBy {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called SingleDistinctToGroupBy::rewrite")
- }
-
fn name(&self) -> &str {
"single_distinct_aggregation_to_group_by"
}
diff --git a/datafusion/optimizer/src/unwrap_cast_in_comparison.rs
b/datafusion/optimizer/src/unwrap_cast_in_comparison.rs
index 07a946c1ad..fb18518fd2 100644
--- a/datafusion/optimizer/src/unwrap_cast_in_comparison.rs
+++ b/datafusion/optimizer/src/unwrap_cast_in_comparison.rs
@@ -82,14 +82,6 @@ impl UnwrapCastInComparison {
}
impl OptimizerRule for UnwrapCastInComparison {
- fn try_optimize(
- &self,
- _plan: &LogicalPlan,
- _config: &dyn OptimizerConfig,
- ) -> Result<Option<LogicalPlan>> {
- internal_err!("Should have called UnwrapCastInComparison::rewrite")
- }
-
fn name(&self) -> &str {
"unwrap_cast_in_comparison"
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]