This is an automated email from the ASF dual-hosted git repository.
yamamuro pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-2.4 by this push:
new 59e4ae4 [SPARK-34776][SQL][3.0][2.4] Window class should override
producedAttributes
59e4ae4 is described below
commit 59e4ae4149ff93bd64c8b3210c27dc2fbebe2a96
Author: Liang-Chi Hsieh <[email protected]>
AuthorDate: Sat Mar 20 11:26:01 2021 +0900
[SPARK-34776][SQL][3.0][2.4] Window class should override producedAttributes
### What changes were proposed in this pull request?
This patch proposes to override `producedAttributes` of `Window` class.
### Why are the changes needed?
This is a backport of #31897 to branch-3.0/2.4. Unlike original PR, nested
column pruning does not allow pushing through `Window` in branch-3.0/2.4 yet.
But `Window` doesn't override `producedAttributes`. It's wrong and could cause
potential issue. So backport `Window` related change.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
Existing tests.
Closes #31904 from viirya/SPARK-34776-3.0.
Authored-by: Liang-Chi Hsieh <[email protected]>
Signed-off-by: Takeshi Yamamuro <[email protected]>
(cherry picked from commit 828cf76bced1b70769b0453f3e9ba95faaa84e39)
Signed-off-by: Takeshi Yamamuro <[email protected]>
---
.../apache/spark/sql/catalyst/plans/logical/basicLogicalOperators.scala | 2 ++
1 file changed, 2 insertions(+)
diff --git
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicLogicalOperators.scala
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicLogicalOperators.scala
index a0086c1..2fe9cd4 100644
---
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicLogicalOperators.scala
+++
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicLogicalOperators.scala
@@ -621,6 +621,8 @@ case class Window(
override def output: Seq[Attribute] =
child.output ++ windowExpressions.map(_.toAttribute)
+ override def producedAttributes: AttributeSet = windowOutputSet
+
def windowOutputSet: AttributeSet =
AttributeSet(windowExpressions.map(_.toAttribute))
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]