This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/master by this push:
     new 516ad0d2d MINOR: rename optimizer rule to ScalarSubqueryToJoin (#3306)
516ad0d2d is described below

commit 516ad0d2d81daa88f417a1b1e4b8255d2142d0a0
Author: kmitchener <[email protected]>
AuthorDate: Wed Aug 31 09:34:36 2022 -0400

    MINOR: rename optimizer rule to ScalarSubqueryToJoin (#3306)
    
    * rename DecorrelateScalarSubquery to ScalarSubqueryToJoin
    
    * cargo fmt
    
    * fix name and ref
---
 datafusion/core/src/execution/context.rs           |  4 +--
 datafusion/optimizer/src/lib.rs                    |  2 +-
 ...alar_subquery.rs => scalar_subquery_to_join.rs} | 38 +++++++++++-----------
 datafusion/optimizer/tests/integration-test.rs     |  4 +--
 4 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/datafusion/core/src/execution/context.rs 
b/datafusion/core/src/execution/context.rs
index a0dee62de..0b1618146 100644
--- a/datafusion/core/src/execution/context.rs
+++ b/datafusion/core/src/execution/context.rs
@@ -103,12 +103,12 @@ use async_trait::async_trait;
 use chrono::{DateTime, Utc};
 use datafusion_common::ScalarValue;
 use datafusion_expr::TableSource;
-use 
datafusion_optimizer::decorrelate_scalar_subquery::DecorrelateScalarSubquery;
 use datafusion_optimizer::decorrelate_where_exists::DecorrelateWhereExists;
 use datafusion_optimizer::decorrelate_where_in::DecorrelateWhereIn;
 use datafusion_optimizer::filter_null_join_keys::FilterNullJoinKeys;
 use 
datafusion_optimizer::pre_cast_lit_in_comparison::PreCastLitInComparisonExpressions;
 use 
datafusion_optimizer::rewrite_disjunctive_predicate::RewriteDisjunctivePredicate;
+use datafusion_optimizer::scalar_subquery_to_join::ScalarSubqueryToJoin;
 use datafusion_sql::{
     parser::DFParser,
     planner::{ContextProvider, SqlToRel},
@@ -1365,7 +1365,7 @@ impl SessionState {
             Arc::new(PreCastLitInComparisonExpressions::new()),
             Arc::new(DecorrelateWhereExists::new()),
             Arc::new(DecorrelateWhereIn::new()),
-            Arc::new(DecorrelateScalarSubquery::new()),
+            Arc::new(ScalarSubqueryToJoin::new()),
             Arc::new(SubqueryFilterToJoin::new()),
             Arc::new(EliminateFilter::new()),
             Arc::new(CommonSubexprEliminate::new()),
diff --git a/datafusion/optimizer/src/lib.rs b/datafusion/optimizer/src/lib.rs
index 60c450992..8d6da350a 100644
--- a/datafusion/optimizer/src/lib.rs
+++ b/datafusion/optimizer/src/lib.rs
@@ -16,7 +16,6 @@
 // under the License.
 
 pub mod common_subexpr_eliminate;
-pub mod decorrelate_scalar_subquery;
 pub mod decorrelate_where_exists;
 pub mod decorrelate_where_in;
 pub mod eliminate_filter;
@@ -28,6 +27,7 @@ pub mod limit_push_down;
 pub mod optimizer;
 pub mod projection_push_down;
 pub mod reduce_outer_join;
+pub mod scalar_subquery_to_join;
 pub mod simplify_expressions;
 pub mod single_distinct_to_groupby;
 pub mod subquery_filter_to_join;
diff --git a/datafusion/optimizer/src/decorrelate_scalar_subquery.rs 
b/datafusion/optimizer/src/scalar_subquery_to_join.rs
similarity index 95%
rename from datafusion/optimizer/src/decorrelate_scalar_subquery.rs
rename to datafusion/optimizer/src/scalar_subquery_to_join.rs
index 1d6e5d533..31a81b06d 100644
--- a/datafusion/optimizer/src/decorrelate_scalar_subquery.rs
+++ b/datafusion/optimizer/src/scalar_subquery_to_join.rs
@@ -28,9 +28,9 @@ use std::sync::Arc;
 
 /// Optimizer rule for rewriting subquery filters to joins
 #[derive(Default)]
-pub struct DecorrelateScalarSubquery {}
+pub struct ScalarSubqueryToJoin {}
 
-impl DecorrelateScalarSubquery {
+impl ScalarSubqueryToJoin {
     #[allow(missing_docs)]
     pub fn new() -> Self {
         Self {}
@@ -88,7 +88,7 @@ impl DecorrelateScalarSubquery {
     }
 }
 
-impl OptimizerRule for DecorrelateScalarSubquery {
+impl OptimizerRule for ScalarSubqueryToJoin {
     fn optimize(
         &self,
         plan: &LogicalPlan,
@@ -131,7 +131,7 @@ impl OptimizerRule for DecorrelateScalarSubquery {
     }
 
     fn name(&self) -> &str {
-        "decorrelate_scalar_subquery"
+        "scalar_subquery_to_join"
     }
 }
 
@@ -355,7 +355,7 @@ mod tests {
       Projection: #orders.o_custkey, #MAX(orders.o_custkey) AS __value, 
alias=__sq_2 [o_custkey:Int64, __value:Int64;N]
         Aggregate: groupBy=[[#orders.o_custkey]], 
aggr=[[MAX(#orders.o_custkey)]] [o_custkey:Int64, MAX(orders.o_custkey):Int64;N]
           TableScan: orders [o_orderkey:Int64, o_custkey:Int64, 
o_orderstatus:Utf8, o_totalprice:Float64;N]"#;
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -402,7 +402,7 @@ mod tests {
               Projection: #lineitem.l_orderkey, #SUM(lineitem.l_extendedprice) 
AS __value, alias=__sq_1 [l_orderkey:Int64, __value:Float64;N]
                 Aggregate: groupBy=[[#lineitem.l_orderkey]], 
aggr=[[SUM(#lineitem.l_extendedprice)]] [l_orderkey:Int64, 
SUM(lineitem.l_extendedprice):Float64;N]
                   TableScan: lineitem [l_orderkey:Int64, l_partkey:Int64, 
l_suppkey:Int64, l_linenumber:Int32, l_quantity:Float64, 
l_extendedprice:Float64]"#;
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -435,7 +435,7 @@ mod tests {
           Filter: #orders.o_orderkey = Int32(1) [o_orderkey:Int64, 
o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]
             TableScan: orders [o_orderkey:Int64, o_custkey:Int64, 
o_orderstatus:Utf8, o_totalprice:Float64;N]"#;
 
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -464,7 +464,7 @@ mod tests {
         Aggregate: groupBy=[[]], aggr=[[MAX(#orders.o_custkey)]] 
[MAX(orders.o_custkey):Int64;N]
           Filter: #customer.c_custkey = #customer.c_custkey [o_orderkey:Int64, 
o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]
             TableScan: orders [o_orderkey:Int64, o_custkey:Int64, 
o_orderstatus:Utf8, o_totalprice:Float64;N]"#;
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -493,7 +493,7 @@ mod tests {
           Filter: #orders.o_custkey = #orders.o_custkey [o_orderkey:Int64, 
o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]
             TableScan: orders [o_orderkey:Int64, o_custkey:Int64, 
o_orderstatus:Utf8, o_totalprice:Float64;N]"#;
 
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -515,7 +515,7 @@ mod tests {
 
         let expected = r#"only joins on column equality are presently 
supported"#;
 
-        assert_optimizer_err(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimizer_err(&ScalarSubqueryToJoin::new(), &plan, expected);
         Ok(())
     }
 
@@ -536,7 +536,7 @@ mod tests {
             .build()?;
 
         let expected = r#"can't optimize < column comparison"#;
-        assert_optimizer_err(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimizer_err(&ScalarSubqueryToJoin::new(), &plan, expected);
         Ok(())
     }
 
@@ -561,7 +561,7 @@ mod tests {
             .build()?;
 
         let expected = r#"Optimizing disjunctions not supported!"#;
-        assert_optimizer_err(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimizer_err(&ScalarSubqueryToJoin::new(), &plan, expected);
         Ok(())
     }
 
@@ -580,7 +580,7 @@ mod tests {
             .build()?;
 
         let expected = r#"scalar subqueries must have a projection"#;
-        assert_optimizer_err(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimizer_err(&ScalarSubqueryToJoin::new(), &plan, expected);
         Ok(())
     }
 
@@ -606,7 +606,7 @@ mod tests {
 
         let expected = r#""#;
 
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -630,7 +630,7 @@ mod tests {
             .build()?;
 
         let expected = r#"exactly one expression should be projected"#;
-        assert_optimizer_err(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimizer_err(&ScalarSubqueryToJoin::new(), &plan, expected);
         Ok(())
     }
 
@@ -663,7 +663,7 @@ mod tests {
           Aggregate: groupBy=[[#orders.o_custkey]], 
aggr=[[MAX(#orders.o_custkey)]] [o_custkey:Int64, MAX(orders.o_custkey):Int64;N]
             TableScan: orders [o_orderkey:Int64, o_custkey:Int64, 
o_orderstatus:Utf8, o_totalprice:Float64;N]"#;
 
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -696,7 +696,7 @@ mod tests {
           Filter: #customer.c_custkey = #orders.o_custkey [o_orderkey:Int64, 
o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]
             TableScan: orders [o_orderkey:Int64, o_custkey:Int64, 
o_orderstatus:Utf8, o_totalprice:Float64;N]
     TableScan: customer [c_custkey:Int64, c_name:Utf8]"#;
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -724,7 +724,7 @@ mod tests {
         Aggregate: groupBy=[[#sq.a]], aggr=[[MIN(#sq.c)]] [a:UInt32, 
MIN(sq.c):UInt32;N]
           TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"#;
 
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 
@@ -751,7 +751,7 @@ mod tests {
         Aggregate: groupBy=[[]], aggr=[[MAX(#orders.o_custkey)]] 
[MAX(orders.o_custkey):Int64;N]
           TableScan: orders [o_orderkey:Int64, o_custkey:Int64, 
o_orderstatus:Utf8, o_totalprice:Float64;N]"#;
 
-        assert_optimized_plan_eq(&DecorrelateScalarSubquery::new(), &plan, 
expected);
+        assert_optimized_plan_eq(&ScalarSubqueryToJoin::new(), &plan, 
expected);
         Ok(())
     }
 }
diff --git a/datafusion/optimizer/tests/integration-test.rs 
b/datafusion/optimizer/tests/integration-test.rs
index b9d4d3b63..55c38689b 100644
--- a/datafusion/optimizer/tests/integration-test.rs
+++ b/datafusion/optimizer/tests/integration-test.rs
@@ -19,7 +19,6 @@ use arrow::datatypes::{DataType, Field, Schema, SchemaRef};
 use datafusion_common::{DataFusionError, Result};
 use datafusion_expr::{AggregateUDF, LogicalPlan, ScalarUDF, TableSource};
 use datafusion_optimizer::common_subexpr_eliminate::CommonSubexprEliminate;
-use 
datafusion_optimizer::decorrelate_scalar_subquery::DecorrelateScalarSubquery;
 use datafusion_optimizer::decorrelate_where_exists::DecorrelateWhereExists;
 use datafusion_optimizer::decorrelate_where_in::DecorrelateWhereIn;
 use datafusion_optimizer::eliminate_filter::EliminateFilter;
@@ -31,6 +30,7 @@ use datafusion_optimizer::optimizer::Optimizer;
 use datafusion_optimizer::projection_push_down::ProjectionPushDown;
 use datafusion_optimizer::reduce_outer_join::ReduceOuterJoin;
 use 
datafusion_optimizer::rewrite_disjunctive_predicate::RewriteDisjunctivePredicate;
+use datafusion_optimizer::scalar_subquery_to_join::ScalarSubqueryToJoin;
 use datafusion_optimizer::simplify_expressions::SimplifyExpressions;
 use datafusion_optimizer::single_distinct_to_groupby::SingleDistinctToGroupBy;
 use datafusion_optimizer::subquery_filter_to_join::SubqueryFilterToJoin;
@@ -63,7 +63,7 @@ fn test_sql(sql: &str) -> Result<LogicalPlan> {
         Arc::new(SimplifyExpressions::new()),
         Arc::new(DecorrelateWhereExists::new()),
         Arc::new(DecorrelateWhereIn::new()),
-        Arc::new(DecorrelateScalarSubquery::new()),
+        Arc::new(ScalarSubqueryToJoin::new()),
         Arc::new(SubqueryFilterToJoin::new()),
         Arc::new(EliminateFilter::new()),
         Arc::new(CommonSubexprEliminate::new()),

Reply via email to