cloud-fan commented on code in PR #49518:
URL: https://github.com/apache/spark/pull/49518#discussion_r1917528400


##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala:
##########
@@ -1042,6 +1043,75 @@ trait CheckAnalysis extends PredicateHelper with 
LookupCatalog with QueryErrorsB
     if (Utils.isTesting) scrubOutIds(result) else result
   }
 
+  /**
+   * Recursion, according to SQL standard, comes with several limitations:
+   * 1. Recursive term can contain one recursive reference only.
+   * 2. Recursive reference can't be used in some kinds of joins and 
aggregations.

Review Comment:
   how about subquery expressions? Can they contain recursive references? e.g.
   ```
   WITH RECURSION t (
     SELECT 1
     UNION ALL
     SELECT (SELECT max(col) FROM t)
   )
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to