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 6d413a4b52 Remove AggregateFunctionDefinition::Name (#10441)
6d413a4b52 is described below
commit 6d413a4b52fcca76c29cba997661d3ce41c49d72
Author: 张林伟 <[email protected]>
AuthorDate: Sun May 12 00:34:32 2024 +0800
Remove AggregateFunctionDefinition::Name (#10441)
---
datafusion/core/src/physical_planner.rs | 8 --------
datafusion/expr/src/expr.rs | 10 ++--------
datafusion/expr/src/expr_schema.rs | 3 ---
datafusion/expr/src/tree_node.rs | 5 +----
datafusion/optimizer/src/analyzer/type_coercion.rs | 3 ---
datafusion/optimizer/src/decorrelate.rs | 3 ---
datafusion/proto/src/logical_plan/to_proto.rs | 6 ------
datafusion/substrait/src/logical_plan/producer.rs | 3 ---
8 files changed, 3 insertions(+), 38 deletions(-)
diff --git a/datafusion/core/src/physical_planner.rs
b/datafusion/core/src/physical_planner.rs
index 132bc3953c..d4a9a949fc 100644
--- a/datafusion/core/src/physical_planner.rs
+++ b/datafusion/core/src/physical_planner.rs
@@ -276,9 +276,6 @@ fn create_physical_name(e: &Expr, is_first_expr: bool) ->
Result<String> {
.collect::<Result<Vec<_>>>()?;
Ok(format!("{}({})", fun.name(), names.join(",")))
}
- AggregateFunctionDefinition::Name(_) => {
- internal_err!("Aggregate function `Expr` with name should be
resolved.")
- }
},
Expr::GroupingSet(grouping_set) => match grouping_set {
GroupingSet::Rollup(exprs) => Ok(format!(
@@ -1947,11 +1944,6 @@ pub fn create_aggregate_expr_with_name_and_maybe_filter(
)?;
(agg_expr, filter, physical_sort_exprs)
}
- AggregateFunctionDefinition::Name(_) => {
- return internal_err!(
- "Aggregate function name should have been resolved"
- )
- }
};
Ok((agg_expr, filter, order_by))
}
diff --git a/datafusion/expr/src/expr.rs b/datafusion/expr/src/expr.rs
index c531d7af17..84e4cb6435 100644
--- a/datafusion/expr/src/expr.rs
+++ b/datafusion/expr/src/expr.rs
@@ -515,9 +515,6 @@ pub enum AggregateFunctionDefinition {
BuiltIn(aggregate_function::AggregateFunction),
/// Resolved to a user defined aggregate function
UDF(Arc<crate::AggregateUDF>),
- /// A aggregation function constructed with name. This variant can not be
executed directly
- /// and instead must be resolved to one of the other variants prior to
physical planning.
- Name(Arc<str>),
}
impl AggregateFunctionDefinition {
@@ -526,7 +523,6 @@ impl AggregateFunctionDefinition {
match self {
AggregateFunctionDefinition::BuiltIn(fun) => fun.name(),
AggregateFunctionDefinition::UDF(udf) => udf.name(),
- AggregateFunctionDefinition::Name(func_name) => func_name.as_ref(),
}
}
}
@@ -1857,8 +1853,7 @@ pub(crate) fn create_name(e: &Expr) -> Result<String> {
null_treatment,
}) => {
let name = match func_def {
- AggregateFunctionDefinition::BuiltIn(..)
- | AggregateFunctionDefinition::Name(..) => {
+ AggregateFunctionDefinition::BuiltIn(..) => {
create_function_name(func_def.name(), *distinct, args)?
}
AggregateFunctionDefinition::UDF(..) => {
@@ -1878,8 +1873,7 @@ pub(crate) fn create_name(e: &Expr) -> Result<String> {
info += &format!(" {}", nt);
}
match func_def {
- AggregateFunctionDefinition::BuiltIn(..)
- | AggregateFunctionDefinition::Name(..) => {
+ AggregateFunctionDefinition::BuiltIn(..) => {
Ok(format!("{}{}", name, info))
}
AggregateFunctionDefinition::UDF(fun) => {
diff --git a/datafusion/expr/src/expr_schema.rs
b/datafusion/expr/src/expr_schema.rs
index ce79f9da64..2c08dbe042 100644
--- a/datafusion/expr/src/expr_schema.rs
+++ b/datafusion/expr/src/expr_schema.rs
@@ -174,9 +174,6 @@ impl ExprSchemable for Expr {
AggregateFunctionDefinition::UDF(fun) => {
Ok(fun.return_type(&data_types)?)
}
- AggregateFunctionDefinition::Name(_) => {
- internal_err!("Function `Expr` with name should be
resolved.")
- }
}
}
Expr::Not(_)
diff --git a/datafusion/expr/src/tree_node.rs b/datafusion/expr/src/tree_node.rs
index 710164eca3..1b3b5e8fcb 100644
--- a/datafusion/expr/src/tree_node.rs
+++ b/datafusion/expr/src/tree_node.rs
@@ -27,7 +27,7 @@ use crate::{Expr, GetFieldAccess};
use datafusion_common::tree_node::{
Transformed, TreeNode, TreeNodeIterator, TreeNodeRecursion,
};
-use datafusion_common::{internal_err, map_until_stop_and_collect, Result};
+use datafusion_common::{map_until_stop_and_collect, Result};
impl TreeNode for Expr {
fn apply_children<F: FnMut(&Self) -> Result<TreeNodeRecursion>>(
@@ -348,9 +348,6 @@ impl TreeNode for Expr {
null_treatment,
)))
}
- AggregateFunctionDefinition::Name(_) => {
- internal_err!("Function `Expr` with name should be
resolved.")
- }
},
)?,
Expr::GroupingSet(grouping_set) => match grouping_set {
diff --git a/datafusion/optimizer/src/analyzer/type_coercion.rs
b/datafusion/optimizer/src/analyzer/type_coercion.rs
index e5c7afa10e..994adf7327 100644
--- a/datafusion/optimizer/src/analyzer/type_coercion.rs
+++ b/datafusion/optimizer/src/analyzer/type_coercion.rs
@@ -358,9 +358,6 @@ impl<'a> TreeNodeRewriter for TypeCoercionRewriter<'a> {
),
)))
}
- AggregateFunctionDefinition::Name(_) => {
- internal_err!("Function `Expr` with name should be
resolved.")
- }
},
Expr::WindowFunction(WindowFunction {
fun,
diff --git a/datafusion/optimizer/src/decorrelate.rs
b/datafusion/optimizer/src/decorrelate.rs
index a6abec9efd..3959223e68 100644
--- a/datafusion/optimizer/src/decorrelate.rs
+++ b/datafusion/optimizer/src/decorrelate.rs
@@ -398,9 +398,6 @@ fn agg_exprs_evaluation_result_on_empty_batch(
AggregateFunctionDefinition::UDF { .. } => {
Transformed::yes(Expr::Literal(ScalarValue::Null))
}
- AggregateFunctionDefinition::Name(_) => {
- Transformed::yes(Expr::Literal(ScalarValue::Null))
- }
},
_ => Transformed::no(expr),
};
diff --git a/datafusion/proto/src/logical_plan/to_proto.rs
b/datafusion/proto/src/logical_plan/to_proto.rs
index 4c29d7551b..ecdbde6faf 100644
--- a/datafusion/proto/src/logical_plan/to_proto.rs
+++ b/datafusion/proto/src/logical_plan/to_proto.rs
@@ -746,12 +746,6 @@ pub fn serialize_expr(
},
))),
},
- AggregateFunctionDefinition::Name(_) => {
- return Err(Error::NotImplemented(
- "Proto serialization error: Trying to serialize a
unresolved function"
- .to_string(),
- ));
- }
},
Expr::ScalarVariable(_, _) => {
diff --git a/datafusion/substrait/src/logical_plan/producer.rs
b/datafusion/substrait/src/logical_plan/producer.rs
index 39b2b0aa16..db5d341bc2 100644
--- a/datafusion/substrait/src/logical_plan/producer.rs
+++ b/datafusion/substrait/src/logical_plan/producer.rs
@@ -733,9 +733,6 @@ pub fn to_substrait_agg_measure(
}
})
}
- AggregateFunctionDefinition::Name(name) => {
- internal_err!("AggregateFunctionDefinition::Name({:?})
should be resolved during `AnalyzerRule`", name)
- }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]