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 ddf96ca26 CSE unit test for duplicate field (#2747)
ddf96ca26 is described below
commit ddf96ca26e5dd0a1f92c5ce4ca67afba43fcfff4
Author: Ruihang Xia <[email protected]>
AuthorDate: Sat Jun 18 19:39:36 2022 +0800
CSE unit test for duplicate field (#2747)
Signed-off-by: Ruihang Xia <[email protected]>
---
.../optimizer/src/common_subexpr_eliminate.rs | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/datafusion/optimizer/src/common_subexpr_eliminate.rs
b/datafusion/optimizer/src/common_subexpr_eliminate.rs
index 182c580ee..cc859c1c4 100644
--- a/datafusion/optimizer/src/common_subexpr_eliminate.rs
+++ b/datafusion/optimizer/src/common_subexpr_eliminate.rs
@@ -868,4 +868,25 @@ mod test {
Ok(())
}
+
+ #[test]
+ fn redundant_project_fields() {
+ let table_scan = test_table_scan().unwrap();
+ let affected_id: HashSet<Identifier> =
+ ["c+a".to_string(), "d+a".to_string()].into_iter().collect();
+ let expr_set = [
+ ("c+a".to_string(), (col("c+a"), 1, DataType::UInt32)),
+ ("d+a".to_string(), (col("d+a"), 1, DataType::UInt32)),
+ ]
+ .into_iter()
+ .collect();
+ let project =
+ build_project_plan(table_scan, affected_id.clone(),
&expr_set).unwrap();
+ let project_2 = build_project_plan(project, affected_id,
&expr_set).unwrap();
+
+ let mut field_set = HashSet::new();
+ for field in project_2.schema().fields() {
+ assert!(field_set.insert(field.qualified_name()));
+ }
+ }
}