Skip to content

Commit 830ac65

Browse files
huangxiaopingRDbeliefer
authored andcommitted
[SPARK-54299][SQL] Fix the wrong example query in WindowGroupLimit
### What changes were proposed in this pull request? Fix the wrong example query in `WindowGroupLimit` ### Why are the changes needed? Fix the incorrect comments ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? <!-- No need test ### Was this patch authored or co-authored using generative AI tooling? No Closes #52993 from huangxiaopingRD/SPARK-54299. Authored-by: huangxiaoping <1754789345@qq.com> Signed-off-by: beliefer <beliefer@163.com>
1 parent 26ab773 commit 830ac65

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/InferWindowGroupLimit.scala

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,29 @@ import org.apache.spark.sql.catalyst.trees.TreePattern.{FILTER, WINDOW}
2626
* Inserts a `WindowGroupLimit` below `Window` if the `Window` has rank-like functions
2727
* and the function results are further filtered by limit-like predicates. Example query:
2828
* {{{
29-
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1 WHERE rn = 5
30-
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1 WHERE 5 = rn
31-
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1 WHERE rn < 5
32-
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1 WHERE 5 > rn
33-
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1 WHERE rn <= 5
34-
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1 WHERE 5 >= rn
29+
* SELECT * FROM (
30+
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1
31+
* ) WHERE rn = 5;
32+
*
33+
* SELECT * FROM (
34+
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1
35+
* ) WHERE 5 = rn;
36+
*
37+
* SELECT * FROM (
38+
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1
39+
* ) WHERE rn < 5;
40+
*
41+
* SELECT * FROM (
42+
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1
43+
* ) WHERE 5 > rn;
44+
*
45+
* SELECT * FROM (
46+
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1
47+
* ) WHERE rn <= 5;
48+
*
49+
* SELECT * FROM (
50+
* SELECT *, ROW_NUMBER() OVER(PARTITION BY k ORDER BY a) AS rn FROM Tab1
51+
* ) WHERE 5 >= rn;
3552
* }}}
3653
*/
3754
object InferWindowGroupLimit extends Rule[LogicalPlan] with PredicateHelper {

0 commit comments

Comments
 (0)