You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by al...@apache.org on 2022/11/15 20:06:18 UTC
[arrow-datafusion] branch master updated: Remove alias in Union (#4212)
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 4dcf9857c Remove alias in Union (#4212)
4dcf9857c is described below
commit 4dcf9857c0aad3d11050037bd46889a54f83a394
Author: jakevin <ja...@gmail.com>
AuthorDate: Wed Nov 16 04:06:12 2022 +0800
Remove alias in Union (#4212)
---
datafusion/expr/src/logical_plan/builder.rs | 1 -
datafusion/expr/src/logical_plan/plan.rs | 2 --
datafusion/expr/src/utils.rs | 11 ++++-------
datafusion/optimizer/src/filter_push_down.rs | 6 +-----
datafusion/optimizer/src/limit_push_down.rs | 7 +------
datafusion/optimizer/src/projection_push_down.rs | 7 +------
6 files changed, 7 insertions(+), 27 deletions(-)
diff --git a/datafusion/expr/src/logical_plan/builder.rs b/datafusion/expr/src/logical_plan/builder.rs
index 0782302d7..166b6c1d2 100644
--- a/datafusion/expr/src/logical_plan/builder.rs
+++ b/datafusion/expr/src/logical_plan/builder.rs
@@ -958,7 +958,6 @@ pub fn union_with_alias(
Ok(LogicalPlan::Union(Union {
inputs,
schema: union_schema,
- alias,
}))
}
diff --git a/datafusion/expr/src/logical_plan/plan.rs b/datafusion/expr/src/logical_plan/plan.rs
index 6ad643fd1..1a50573fa 100644
--- a/datafusion/expr/src/logical_plan/plan.rs
+++ b/datafusion/expr/src/logical_plan/plan.rs
@@ -1285,8 +1285,6 @@ pub struct Union {
pub inputs: Vec<Arc<LogicalPlan>>,
/// Union schema. Should be the same for all inputs.
pub schema: DFSchemaRef,
- /// Union output relation alias
- pub alias: Option<String>,
}
/// Creates an in memory table.
diff --git a/datafusion/expr/src/utils.rs b/datafusion/expr/src/utils.rs
index 2be9a6465..a026fdbf0 100644
--- a/datafusion/expr/src/utils.rs
+++ b/datafusion/expr/src/utils.rs
@@ -546,13 +546,10 @@ pub fn from_plan(
LogicalPlan::Extension(e) => Ok(LogicalPlan::Extension(Extension {
node: e.node.from_template(expr, inputs),
})),
- LogicalPlan::Union(Union { schema, alias, .. }) => {
- Ok(LogicalPlan::Union(Union {
- inputs: inputs.iter().cloned().map(Arc::new).collect(),
- schema: schema.clone(),
- alias: alias.clone(),
- }))
- }
+ LogicalPlan::Union(Union { schema, .. }) => Ok(LogicalPlan::Union(Union {
+ inputs: inputs.iter().cloned().map(Arc::new).collect(),
+ schema: schema.clone(),
+ })),
LogicalPlan::Distinct(Distinct { .. }) => Ok(LogicalPlan::Distinct(Distinct {
input: Arc::new(inputs[0].clone()),
})),
diff --git a/datafusion/optimizer/src/filter_push_down.rs b/datafusion/optimizer/src/filter_push_down.rs
index 71de72732..eed833cf2 100644
--- a/datafusion/optimizer/src/filter_push_down.rs
+++ b/datafusion/optimizer/src/filter_push_down.rs
@@ -607,11 +607,7 @@ fn optimize(plan: &LogicalPlan, mut state: State) -> Result<LogicalPlan> {
// sort is filter-commutable
push_down(&state, plan)
}
- LogicalPlan::Union(Union {
- inputs: _,
- schema,
- alias: _,
- }) => {
+ LogicalPlan::Union(Union { inputs: _, schema }) => {
// union changing all qualifiers while building logical plan so we need
// to rewrite filters to push unqualified columns to inputs
let projection = schema
diff --git a/datafusion/optimizer/src/limit_push_down.rs b/datafusion/optimizer/src/limit_push_down.rs
index cf58fe35b..2f121b881 100644
--- a/datafusion/optimizer/src/limit_push_down.rs
+++ b/datafusion/optimizer/src/limit_push_down.rs
@@ -172,11 +172,7 @@ fn limit_push_down(
)?))
}
(
- LogicalPlan::Union(Union {
- inputs,
- alias,
- schema,
- }),
+ LogicalPlan::Union(Union { inputs, schema }),
Ancestor::FromLimit {
skip: ancestor_skip,
fetch: Some(ancestor_fetch),
@@ -205,7 +201,6 @@ fn limit_push_down(
.collect::<Result<_>>()?;
Ok(LogicalPlan::Union(Union {
inputs: new_inputs,
- alias: alias.clone(),
schema: schema.clone(),
}))
}
diff --git a/datafusion/optimizer/src/projection_push_down.rs b/datafusion/optimizer/src/projection_push_down.rs
index fcb2296d4..5244bbcdb 100644
--- a/datafusion/optimizer/src/projection_push_down.rs
+++ b/datafusion/optimizer/src/projection_push_down.rs
@@ -392,11 +392,7 @@ fn optimize_plan(
schema: a.schema.clone(),
}))
}
- LogicalPlan::Union(Union {
- inputs,
- schema,
- alias,
- }) => {
+ LogicalPlan::Union(Union { inputs, schema }) => {
// UNION inputs will reference the same column with different identifiers, so we need
// to populate new_required_columns by unqualified column name based on required fields
// from the resulting UNION output
@@ -438,7 +434,6 @@ fn optimize_plan(
Ok(LogicalPlan::Union(Union {
inputs: new_inputs.iter().cloned().map(Arc::new).collect(),
schema: Arc::new(new_schema),
- alias: alias.clone(),
}))
}
LogicalPlan::SubqueryAlias(SubqueryAlias { input, alias, .. }) => {