Github user gaborgsomogyi commented on a diff in the pull request:
https://github.com/apache/spark/pull/20045#discussion_r158298350
--- Diff:
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala
---
@@ -246,13 +246,23 @@ class ExpressionParserSuite extends PlanTest {
// Basic window testing.
assertEqual("foo(*) over w1", UnresolvedWindowExpression(func,
WindowSpecReference("w1")))
assertEqual("foo(*) over ()", windowed())
+ assertEqual("foo(*) over (partition by a)", windowed(Seq('a)))
assertEqual("foo(*) over (partition by a, b)", windowed(Seq('a, 'b)))
+ assertEqual("foo(*) over (distribute by a)", windowed(Seq('a)))
assertEqual("foo(*) over (distribute by a, b)", windowed(Seq('a, 'b)))
+ assertEqual("foo(*) over (cluster by a)", windowed(Seq('a)))
assertEqual("foo(*) over (cluster by a, b)", windowed(Seq('a, 'b)))
- assertEqual("foo(*) over (order by a desc, b asc)",
windowed(Seq.empty, Seq('a.desc, 'b.asc )))
- assertEqual("foo(*) over (sort by a desc, b asc)", windowed(Seq.empty,
Seq('a.desc, 'b.asc )))
+ assertEqual("foo(*) over (order by a)", windowed(Seq.empty,
Seq('a.asc)))
+ assertEqual("foo(*) over (order by a desc, b asc)",
windowed(Seq.empty, Seq('a.desc, 'b.asc)))
+ assertEqual("foo(*) over (sort by a)", windowed(Seq.empty,
Seq('a.asc)))
+ assertEqual("foo(*) over (sort by a desc, b asc)", windowed(Seq.empty,
Seq('a.desc, 'b.asc)))
assertEqual("foo(*) over (partition by a, b order by c)",
windowed(Seq('a, 'b), Seq('c.asc)))
assertEqual("foo(*) over (distribute by a, b sort by c)",
windowed(Seq('a, 'b), Seq('c.asc)))
--- End diff --
(distribute by a order by c) is a possibility in order to be conform with
the pattern you followed.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]