This is an automated email from the ASF dual-hosted git repository.
wenchen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new 7a0bf9e61bcf [SPARK-53127][SQL][FOLLOWUP] Clean up golden files for
and add comments for LIMIT ALL in rCTEs
7a0bf9e61bcf is described below
commit 7a0bf9e61bcfcbfea57b2001b6e38846f00be882
Author: pavle-martinovic_data <[email protected]>
AuthorDate: Sun Sep 28 09:53:59 2025 +0800
[SPARK-53127][SQL][FOLLOWUP] Clean up golden files for and add comments for
LIMIT ALL in rCTEs
### What changes were proposed in this pull request?
- Clean up golden files to remove isUnlimitedRecursion from stringArgs in
the case it is false, as most golden files don't need it.
- Add comments to explain the need to handle LIMIT ALL in a special way for
recursive CTEs.
### Why are the changes needed?
Code clean up.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Regenerated golden files.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #52468 from
Pajaraja/pavle-martinovic_data/LimitAllCommentsAndRefactor.
Lead-authored-by: pavle-martinovic_data <[email protected]>
Co-authored-by: Wenchen Fan <[email protected]>
Signed-off-by: Wenchen Fan <[email protected]>
---
.../sql/catalyst/analysis/ApplyLimitAll.scala | 8 ++
.../sql/catalyst/plans/logical/cteOperators.scala | 7 ++
.../analyzer-results/collations-aliases.sql.out | 4 +-
.../sql-tests/analyzer-results/cte-command.sql.out | 10 +-
.../sql-tests/analyzer-results/cte-nested.sql.out | 64 +++++-----
.../analyzer-results/cte-nonlegacy.sql.out | 38 +++---
.../analyzer-results/cte-recursion.sql.out | 140 ++++++++++-----------
.../sql-tests/analyzer-results/cte.sql.out | 90 ++++++-------
.../double-quoted-identifiers-enabled.sql.out | 4 +-
.../analyzer-results/group-by-alias.sql.out | 4 +-
.../analyzer-results/group-by-all.sql.out | 4 +-
.../analyzer-results/group-by-ordinal.sql.out | 4 +-
.../analyzer-results/identifier-clause.sql.out | 6 +-
.../analyzer-results/join-lateral.sql.out | 4 +-
.../analyzer-results/listagg-collations.sql.out | 10 +-
.../sql-tests/analyzer-results/listagg.sql.out | 24 ++--
.../analyzer-results/non-excludable-rule.sql.out | 2 +-
.../postgreSQL/window_part3.sql.out | 8 +-
.../analyzer-results/postgreSQL/with.sql.out | 110 ++++++++--------
.../analyzer-results/sql-session-variables.sql.out | 2 +-
.../sql-tests/analyzer-results/sql-udf.sql.out | 4 +-
.../subquery/exists-subquery/exists-cte.sql.out | 16 +--
.../in-subquery/in-multiple-columns.sql.out | 4 +-
.../subquery/in-subquery/in-with-cte.sql.out | 64 +++++-----
.../scalar-subquery/scalar-subquery-select.sql.out | 20 +--
.../sql-tests/analyzer-results/thetasketch.sql.out | 6 +-
.../sql-tests/analyzer-results/transform.sql.out | 4 +-
.../sql-tests/analyzer-results/using-join.sql.out | 4 +-
28 files changed, 340 insertions(+), 325 deletions(-)
diff --git
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ApplyLimitAll.scala
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ApplyLimitAll.scala
index 51500c956b6d..0a4bdbfe3e14 100644
---
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ApplyLimitAll.scala
+++
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ApplyLimitAll.scala
@@ -20,6 +20,14 @@ package org.apache.spark.sql.catalyst.analysis
import org.apache.spark.sql.catalyst.plans.logical.{Aggregate, BaseEvalPython,
CTERelationRef, Filter, Join, LimitAll, LogicalPlan, Offset, Project,
SubqueryAlias, Union, Window}
import org.apache.spark.sql.catalyst.rules.Rule
+/**
+ * Limit All is usually a no-op operation in spark, used for compatibility
with other database
+ * systems. However, in the case of recursive CTEs there is a default value
(controlled by a flag)
+ * of the maximum number of rows that a recursive CTE may return, which can be
overridden by a Limit
+ * operator above the UnionLoop node. Since this is a case where a Limit
operator actually increases
+ * the number of rows a node should return, Limit All stops being a no-op node
semantically, and
+ * should be used to enable unlimited looping in recursive CTEs.
+ */
object ApplyLimitAll extends Rule[LogicalPlan] {
private def applyLimitAllToPlan(plan: LogicalPlan, isInLimitAll: Boolean =
false): LogicalPlan = {
plan match {
diff --git
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/cteOperators.scala
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/cteOperators.scala
index 373f8b3b98d2..4b915ec60b77 100644
---
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/cteOperators.scala
+++
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/cteOperators.scala
@@ -186,6 +186,8 @@ object CTERelationDef {
* @param statsOpt The optional statistics inferred from the
corresponding CTE
* definition.
* @param recursive If this is a recursive reference.
+ * @param isUnlimitedRecursion If the node is a (non-recursive) reference to a
recursive CTE that
+ * should be executed without a limit to the
number of rows it returns.
*/
case class CTERelationRef(
cteId: Long,
@@ -201,6 +203,11 @@ case class CTERelationRef(
override lazy val resolved: Boolean = _resolved
+ override def stringArgs: Iterator[Any] = {
+ // We omit the false value of isUnlimitedRecursion in golden files.
+ if (isUnlimitedRecursion) super.stringArgs else
super.stringArgs.toArray.init.iterator
+ }
+
override def newInstance(): LogicalPlan = {
// CTERelationRef inherits the output attributes from a query, which may
contain duplicated
// attributes, for queries like `SELECT a, a FROM t`. It's important to
keep the duplicated
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/collations-aliases.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/collations-aliases.sql.out
index b10cf5298440..454682e392be 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/collations-aliases.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/collations-aliases.sql.out
@@ -183,7 +183,7 @@ WithCTE
: +- Relation
spark_catalog.default.t1[s#x,utf8_binary#x,utf8_lcase#x] parquet
+- Project [concat_ws(' ' collate UTF8_LCASE, utf8_lcase, utf8_lcase)#x]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [concat_ws(' ' collate UTF8_LCASE,
utf8_lcase, utf8_lcase)#x], false, false, false
+ +- CTERelationRef xxxx, true, [concat_ws(' ' collate UTF8_LCASE,
utf8_lcase, utf8_lcase)#x], false, false
-- !query
@@ -232,7 +232,7 @@ Project [scalar-subquery#x [] AS scalarsubquery()#x]
: +- LocalLimit 1
: +- Project [concat_ws(' ' collate UTF8_LCASE, utf8_lcase,
utf8_lcase)#x]
: +- SubqueryAlias cte
-: +- CTERelationRef xxxx, true, [concat_ws(' ' collate
UTF8_LCASE, utf8_lcase, utf8_lcase)#x], false, false, false
+: +- CTERelationRef xxxx, true, [concat_ws(' ' collate
UTF8_LCASE, utf8_lcase, utf8_lcase)#x], false, false
+- OneRowRelation
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-command.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-command.sql.out
index 48bbd2d2f982..cfdb327c75bc 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-command.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-command.sql.out
@@ -10,7 +10,7 @@ CreateDataSourceTableAsSelectCommand
`spark_catalog`.`default`.`cte_tbl`, ErrorI
: +- OneRowRelation
+- Project [col#x]
+- SubqueryAlias s
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -32,7 +32,7 @@ CreateViewCommand `cte_view`, WITH s AS (SELECT 42 AS col)
SELECT * FROM s, fals
: +- OneRowRelation
+- Project [col#x]
+- SubqueryAlias s
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -49,7 +49,7 @@ Project [col#x]
: +- OneRowRelation
+- Project [col#x]
+- SubqueryAlias s
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -65,7 +65,7 @@ InsertIntoHadoopFsRelationCommand file:[not included in
comparison]/{warehouse_d
: +- OneRowRelation
+- Project [col#x]
+- SubqueryAlias S
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -88,7 +88,7 @@ InsertIntoHadoopFsRelationCommand file:[not included in
comparison]/{warehouse_d
: +- OneRowRelation
+- Project [col#x]
+- SubqueryAlias s
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out
index 43bc4bb77fdd..3c48bd406eed 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out
@@ -15,10 +15,10 @@ WithCTE
: +- SubqueryAlias t
: +- Project [1#x]
: +- SubqueryAlias t2
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -37,7 +37,7 @@ Aggregate [max(c#x) AS max(c)#x]
: +- OneRowRelation
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -54,7 +54,7 @@ Project [scalar-subquery#x [] AS scalarsubquery()#x]
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- OneRowRelation
@@ -140,10 +140,10 @@ WithCTE
: +- SubqueryAlias t2
: +- Project [2#x]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [2#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [2#x], false, false, 1
+- Project [2#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [2#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [2#x], false, false, 1
-- !query
@@ -178,11 +178,11 @@ WithCTE
: : : +- OneRowRelation
: : +- Project [c#x]
: : +- SubqueryAlias t
-: : +- CTERelationRef xxxx, true, [c#x], false, false,
1, false
+: : +- CTERelationRef xxxx, true, [c#x], false, false, 1
: +- OneRowRelation
+- Project [scalarsubquery()#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [scalarsubquery()#x], false, false, 1,
false
+ +- CTERelationRef xxxx, true, [scalarsubquery()#x], false, false, 1
-- !query
@@ -215,15 +215,15 @@ WithCTE
: +- SubqueryAlias t2
: +- Project [3#x]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [3#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [3#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias t2
: +- Project [3#x]
: +- SubqueryAlias t2
-: +- CTERelationRef xxxx, true, [3#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [3#x], false, false, 1
+- Project [3#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [3#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [3#x], false, false, 1
-- !query
@@ -248,7 +248,7 @@ WithCTE
+- SubqueryAlias __auto_generated_subquery_name
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -277,7 +277,7 @@ WithCTE
+- SubqueryAlias __auto_generated_subquery_name
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -312,7 +312,7 @@ WithCTE
+- SubqueryAlias __auto_generated_subquery_name
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -335,7 +335,7 @@ WithCTE
: : +- OneRowRelation
: +- Project [2#x]
: +- SubqueryAlias t
- : +- CTERelationRef xxxx, true, [2#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [2#x], false, false, 1
+- OneRowRelation
@@ -362,7 +362,7 @@ WithCTE
: : : +- OneRowRelation
: : +- Project [2#x]
: : +- SubqueryAlias t
- : : +- CTERelationRef xxxx, true, [2#x], false, false, 1,
false
+ : : +- CTERelationRef xxxx, true, [2#x], false, false, 1
: +- OneRowRelation
+- OneRowRelation
@@ -396,7 +396,7 @@ WithCTE
: : : +- OneRowRelation
: : +- Project [3#x]
: : +- SubqueryAlias t
- : : +- CTERelationRef xxxx, true, [3#x], false, false, 1,
false
+ : : +- CTERelationRef xxxx, true, [3#x], false, false, 1
: +- OneRowRelation
+- OneRowRelation
@@ -425,9 +425,9 @@ WithCTE
: : +- OneRowRelation
: +- Project [c#x]
: +- SubqueryAlias t
- : +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [c#x], false, false, 1
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -448,14 +448,14 @@ WithCTE
: +- SubqueryAlias t
: +- Project [1#x]
: +- SubqueryAlias t2
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias t2
: +- Project [2 AS 2#x]
: +- OneRowRelation
+- Project [1#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -480,10 +480,10 @@ WithCTE
: +- SubqueryAlias t
: +- Project [2#x]
: +- SubqueryAlias aBC
-: +- CTERelationRef xxxx, true, [2#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [2#x], false, false, 1
+- Project [2#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [2#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [2#x], false, false, 1
-- !query
@@ -506,7 +506,7 @@ WithCTE
: : +- OneRowRelation
: +- Project [2#x]
: +- SubqueryAlias aBC
- : +- CTERelationRef xxxx, true, [2#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [2#x], false, false, 1
+- OneRowRelation
@@ -530,15 +530,15 @@ WithCTE
: +- SubqueryAlias t3
: +- Project [1#x]
: +- SubqueryAlias t1
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias t2
: +- Project [1#x]
: +- SubqueryAlias t3
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -561,12 +561,12 @@ WithCTE
: +- SubqueryAlias cte_inner
: +- Project [1#x]
: +- SubqueryAlias cte_outer
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias __auto_generated_subquery_name
+- Project [1#x]
+- SubqueryAlias cte_inner
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -594,19 +594,19 @@ WithCTE
: +- SubqueryAlias cte_inner_inner
: +- Project [1#x]
: +- SubqueryAlias cte_outer
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias cte_inner
: +- Project [1#x]
: +- SubqueryAlias __auto_generated_subquery_name
: +- Project [1#x]
: +- SubqueryAlias cte_inner_inner
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias __auto_generated_subquery_name
+- Project [1#x]
+- SubqueryAlias cte_inner
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out
index 0e831ef820eb..70d00a1916be 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out
@@ -15,10 +15,10 @@ WithCTE
: +- SubqueryAlias t
: +- Project [1#x]
: +- SubqueryAlias t2
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -37,7 +37,7 @@ Aggregate [max(c#x) AS max(c)#x]
: +- OneRowRelation
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -54,7 +54,7 @@ Project [scalar-subquery#x [] AS scalarsubquery()#x]
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- OneRowRelation
@@ -171,11 +171,11 @@ WithCTE
: : : +- OneRowRelation
: : +- Project [c#x]
: : +- SubqueryAlias t
-: : +- CTERelationRef xxxx, true, [c#x], false, false,
1, false
+: : +- CTERelationRef xxxx, true, [c#x], false, false, 1
: +- OneRowRelation
+- Project [scalarsubquery()#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [scalarsubquery()#x], false, false, 1,
false
+ +- CTERelationRef xxxx, true, [scalarsubquery()#x], false, false, 1
-- !query
@@ -225,7 +225,7 @@ WithCTE
+- SubqueryAlias __auto_generated_subquery_name
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -254,7 +254,7 @@ WithCTE
+- SubqueryAlias __auto_generated_subquery_name
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -289,7 +289,7 @@ WithCTE
+- SubqueryAlias __auto_generated_subquery_name
+- Project [c#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c#x], false, false, 1
-- !query
@@ -392,14 +392,14 @@ WithCTE
: +- SubqueryAlias t
: +- Project [1#x]
: +- SubqueryAlias t2
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias t2
: +- Project [2 AS 2#x]
: +- OneRowRelation
+- Project [1#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -462,15 +462,15 @@ WithCTE
: +- SubqueryAlias t3
: +- Project [1#x]
: +- SubqueryAlias t1
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias t2
: +- Project [1#x]
: +- SubqueryAlias t3
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -493,12 +493,12 @@ WithCTE
: +- SubqueryAlias cte_inner
: +- Project [1#x]
: +- SubqueryAlias cte_outer
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias __auto_generated_subquery_name
+- Project [1#x]
+- SubqueryAlias cte_inner
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
@@ -526,19 +526,19 @@ WithCTE
: +- SubqueryAlias cte_inner_inner
: +- Project [1#x]
: +- SubqueryAlias cte_outer
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias cte_inner
: +- Project [1#x]
: +- SubqueryAlias __auto_generated_subquery_name
: +- Project [1#x]
: +- SubqueryAlias cte_inner_inner
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [1#x]
+- SubqueryAlias __auto_generated_subquery_name
+- Project [1#x]
+- SubqueryAlias cte_inner
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-recursion.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-recursion.sql.out
index 960c5dfee08c..ae0de444ed5e 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-recursion.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-recursion.sql.out
@@ -44,7 +44,7 @@ WithCTE
: +- UnionLoopRef xxxx, [level#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -68,7 +68,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -93,7 +93,7 @@ WithCTE
: +- UnionLoopRef xxxx, [a#x], false
+- Project [c#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [c#x], false, false, false
+ +- CTERelationRef xxxx, true, [c#x], false, false
-- !query
@@ -116,7 +116,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -160,7 +160,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -190,7 +190,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -238,7 +238,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -284,7 +284,7 @@ WithCTE
+- LocalLimit 60
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -365,7 +365,7 @@ WithCTE
: +- CTERelationRef xxxx, true, [n#x], false, false, true
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -417,7 +417,7 @@ WithCTE
+- LocalLimit 10
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -487,7 +487,7 @@ WithCTE
+- Sort [level#x ASC NULLS FIRST], true
+- Project [level#x, level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -537,7 +537,7 @@ WithCTE
: +- OneRowRelation
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, 2, false
+ +- CTERelationRef xxxx, true, [n#x], false, false, 2
-- !query
@@ -616,7 +616,7 @@ WithCTE
+- LocalLimit 5
+- Project [n#x]
+- SubqueryAlias t1
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -645,10 +645,10 @@ WithCTE
: : +- UnionLoopRef xxxx, [level#x], false
: +- Project [(level + 1)#x]
: +- SubqueryAlias t2
-: +- CTERelationRef xxxx, true, [(level + 1)#x], false, false,
false
+: +- CTERelationRef xxxx, true, [(level + 1)#x], false, false
+- Project [level#x]
+- SubqueryAlias t1
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -692,15 +692,15 @@ WithCTE
: : +- UnionLoopRef xxxx, [level#x], false
: +- Project [(level + 1)#x]
: +- SubqueryAlias t3
-: +- CTERelationRef xxxx, true, [(level + 1)#x], false, false,
false
+: +- CTERelationRef xxxx, true, [(level + 1)#x], false, false
:- CTERelationDef xxxx, false
: +- SubqueryAlias t2
: +- Project [level#x]
: +- SubqueryAlias t1
-: +- CTERelationRef xxxx, true, [level#x], false, false, false
+: +- CTERelationRef xxxx, true, [level#x], false, false
+- Project [level#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -739,7 +739,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x, col2#x], false
+- Project [level#x, data#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x, data#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x, data#x], false, false
-- !query
@@ -772,7 +772,7 @@ WithCTE
: +- OneRowRelation
+- Project [level#x, data#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x, data#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x, data#x], false, false
-- !query
@@ -825,7 +825,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x, col2#x], false
+- Project [level#x, data#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x, data#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x, data#x], false, false
-- !query
@@ -898,7 +898,7 @@ WithCTE
: +- OneRowRelation
+- Project [level#x, data#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x, data#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x, data#x], false, false
-- !query
@@ -950,7 +950,7 @@ WithCTE
: +- OneRowRelation
+- Project [level#x, data#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x, data#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x, data#x], false, false
-- !query
@@ -1029,7 +1029,7 @@ SELECT * FROM r, false, false, LocalTempView,
UNSUPPORTED, true
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1052,7 +1052,7 @@ Project [level#x]
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1090,7 +1090,7 @@ InsertIntoHadoopFsRelationCommand file:[not included in
comparison]/{warehouse_d
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1140,12 +1140,12 @@ WithCTE
: +- Project [level#x AS level#x]
: +- Project [level#x]
: +- SubqueryAlias r
- : +- CTERelationRef xxxx, true, [level#x], false, false, false
+ : +- CTERelationRef xxxx, true, [level#x], false, false
+- InsertIntoHadoopFsRelationCommand file:[not included in
comparison]/{warehouse_dir}/rt2, false, CSV, [path=file:[not included in
comparison]/{warehouse_dir}/rt2], Append, `spark_catalog`.`default`.`rt2`,
org.apache.spark.sql.execution.datasources.InMemoryFileIndex(file:[not included
in comparison]/{warehouse_dir}/rt2), [level]
+- Project [level#x AS level#x]
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1201,9 +1201,9 @@ WithCTE
+- Project [level#x, level#x]
+- Join Inner, (level#x = (level#x + 10))
:- SubqueryAlias r1
- : +- CTERelationRef xxxx, true, [level#x], false, false, false
+ : +- CTERelationRef xxxx, true, [level#x], false, false
+- SubqueryAlias r2
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1230,10 +1230,10 @@ WithCTE
+- Join Inner, (level#x = level#x)
:- SubqueryAlias r1
: +- SubqueryAlias r
- : +- CTERelationRef xxxx, true, [level#x], false, false, false
+ : +- CTERelationRef xxxx, true, [level#x], false, false
+- SubqueryAlias r2
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1265,14 +1265,14 @@ WithCTE
: +- UnionLoop xxxx
: :- Project [0 AS outerlevel#x, innerlevel#x]
: : +- SubqueryAlias r1
-: : +- CTERelationRef xxxx, true, [innerlevel#x], false, false,
false
+: : +- CTERelationRef xxxx, true, [innerlevel#x], false, false
: +- Project [(outerlevel#x + 1) AS (outerlevel + 1)#x, innerlevel#x]
: +- Filter (outerlevel#x < 3)
: +- SubqueryAlias r2
: +- UnionLoopRef xxxx, [outerlevel#x, innerlevel#x], false
+- Project [outerlevel#x, innerlevel#x]
+- SubqueryAlias r2
- +- CTERelationRef xxxx, true, [outerlevel#x, innerlevel#x], false,
false, false
+ +- CTERelationRef xxxx, true, [outerlevel#x, innerlevel#x], false, false
-- !query
@@ -1306,14 +1306,14 @@ WithCTE
: +- Union false, false
: :- Project [level#x]
: : +- SubqueryAlias r
-: : +- CTERelationRef xxxx, true, [level#x], false, false,
false
+: : +- CTERelationRef xxxx, true, [level#x], false, false
: +- Project [(level#x + 1) AS (level + 1)#x]
: +- Filter (level#x < 3)
: +- SubqueryAlias r
-: +- CTERelationRef xxxx, true, [level#x], false, false,
false
+: +- CTERelationRef xxxx, true, [level#x], false, false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1347,7 +1347,7 @@ WithCTE
: : : +- UnionLoopRef xxxx, [col1#x], false
: : +- Project [level#x]
: : +- SubqueryAlias r
-: : +- CTERelationRef xxxx, true, [level#x], false, false,
false
+: : +- CTERelationRef xxxx, true, [level#x], false, false
: +- Project [(level#x + 1) AS (level + 1)#x]
: +- Filter (level#x < 3)
: +- SubqueryAlias r
@@ -1355,7 +1355,7 @@ WithCTE
: +- UnionLoopRef xxxx, [level#x], false
+- Project [level#x]
+- SubqueryAlias r
- +- CTERelationRef xxxx, true, [level#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x], false, false
-- !query
@@ -1403,7 +1403,7 @@ WithCTE
: +- UnionLoopRef xxxx, [destination#x, path#x, length#x],
false
+- Project [destination#x, path#x, length#x]
+- SubqueryAlias destinations_from_new_york
- +- CTERelationRef xxxx, true, [destination#x, path#x, length#x], false,
false, false
+ +- CTERelationRef xxxx, true, [destination#x, path#x, length#x], false,
false
-- !query
@@ -1433,7 +1433,7 @@ WithCTE
+- Sort [a#x ASC NULLS FIRST], true
+- Project [a#x]
+- SubqueryAlias fibonacci
- +- CTERelationRef xxxx, true, [a#x, b#x], false, false, false
+ +- CTERelationRef xxxx, true, [a#x, b#x], false, false
-- !query
@@ -1458,7 +1458,7 @@ WithCTE
+- LocalLimit 5
+- Project [a#x]
+- SubqueryAlias t1
- +- CTERelationRef xxxx, true, [a#x, b#x, c#x], false, false, false
+ +- CTERelationRef xxxx, true, [a#x, b#x, c#x], false, false
-- !query
@@ -1501,7 +1501,7 @@ WithCTE
+- LocalLimit 63
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -1544,10 +1544,10 @@ WithCTE
: : +- Project [id#x AS id#x, xid#x AS xid#x]
: : +- UnionLoopRef xxxx, [id#x, xid#x], false
: +- SubqueryAlias x
-: +- CTERelationRef xxxx, true, [id#x], false, false, 2,
false
+: +- CTERelationRef xxxx, true, [id#x], false, false, 2
+- Project [id#x, xid#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [id#x, xid#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x, xid#x], false, false
-- !query
@@ -1588,10 +1588,10 @@ WithCTE
: : +- Project [1#x AS n#x]
: : +- UnionLoopRef xxxx, [1#x], false
: +- SubqueryAlias t1
-: +- CTERelationRef xxxx, true, [a#x, b#x], false,
false, false
+: +- CTERelationRef xxxx, true, [a#x, b#x], false, false
+- Project [n#x]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -1629,14 +1629,14 @@ WithCTE
: : +- Project [j#x AS k#x]
: : +- Project [j#x]
: : +- SubqueryAlias t2
-: : +- CTERelationRef xxxx, true, [j#x], false,
false, false
+: : +- CTERelationRef xxxx, true, [j#x], false, false
: +- Project [k#x]
: +- Filter (k#x <= 5)
: +- SubqueryAlias t3
-: +- CTERelationRef xxxx, true, [k#x], false, false,
false
+: +- CTERelationRef xxxx, true, [k#x], false, false
+- Project [n#x]
+- SubqueryAlias t1
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -1669,7 +1669,7 @@ WithCTE
: +- UnionLoop xxxx
: :- Project [0 AS outerlevel#x, innerlevel#x]
: : +- SubqueryAlias r1
-: : +- CTERelationRef xxxx, true, [innerlevel#x], false,
false, false
+: : +- CTERelationRef xxxx, true, [innerlevel#x], false, false
: +- Project [(outerlevel1#x + 1) AS (outerlevel1 + 1)#x,
innerlevel1#x]
: +- Filter (outerlevel1#x < 3)
: +- SubqueryAlias r2
@@ -1677,7 +1677,7 @@ WithCTE
: +- UnionLoopRef xxxx, [outerlevel#x, innerlevel#x],
false
+- Project [outerlevel1#x, innerlevel1#x]
+- SubqueryAlias r2
- +- CTERelationRef xxxx, true, [outerlevel1#x, innerlevel1#x], false,
false, false
+ +- CTERelationRef xxxx, true, [outerlevel1#x, innerlevel1#x], false,
false
-- !query
@@ -1732,7 +1732,7 @@ WithCTE
: :- Project [x#x, x#x]
: : +- Filter (x#x = 1)
: : +- SubqueryAlias tmp
-: : +- CTERelationRef xxxx, true, [x#x], false, false, 5,
false
+: : +- CTERelationRef xxxx, true, [x#x], false, false, 5
: +- Project [(x#x + 1) AS (x + 1)#x, x#x]
: +- Filter (x#x < 5)
: +- SubqueryAlias rcte
@@ -1740,7 +1740,7 @@ WithCTE
: +- UnionLoopRef xxxx, [x#x, x#x], false
+- Project [x#x, y#x]
+- SubqueryAlias rcte
- +- CTERelationRef xxxx, true, [x#x, y#x], false, false, false
+ +- CTERelationRef xxxx, true, [x#x, y#x], false, false
-- !query
@@ -1771,7 +1771,7 @@ WithCTE
: :- Project [x#x, x#x]
: : +- Filter (x#x = 1)
: : +- SubqueryAlias tmp
-: : +- CTERelationRef xxxx, true, [x#x], false, false, 5,
false
+: : +- CTERelationRef xxxx, true, [x#x], false, false, 5
: +- Project [(x#x + 1) AS (x + 1)#x, x#x]
: +- Filter (x#x < 5)
: +- SubqueryAlias rcte
@@ -1779,7 +1779,7 @@ WithCTE
: +- UnionLoopRef xxxx, [x#x, x#x], false
+- Project [x#x, y#x]
+- SubqueryAlias rcte
- +- CTERelationRef xxxx, true, [x#x, y#x], false, false, false
+ +- CTERelationRef xxxx, true, [x#x, y#x], false, false
-- !query
@@ -1810,7 +1810,7 @@ WithCTE
: :- Project [x#x, x#x, x#x, x#x]
: : +- Filter (x#x = 1)
: : +- SubqueryAlias tmp
-: : +- CTERelationRef xxxx, true, [x#x], false, false, 5,
false
+: : +- CTERelationRef xxxx, true, [x#x], false, false, 5
: +- Project [(x#x + 1) AS (x + 1)#x, x#x, (y#x + 1) AS (y + 1)#x,
y#x]
: +- Filter (x#x < 5)
: +- SubqueryAlias rcte
@@ -1818,7 +1818,7 @@ WithCTE
: +- UnionLoopRef xxxx, [x#x, x#x, x#x, x#x], false
+- Project [x#x, y#x, z#x, t#x]
+- SubqueryAlias rcte
- +- CTERelationRef xxxx, true, [x#x, y#x, z#x, t#x], false, false, false
+ +- CTERelationRef xxxx, true, [x#x, y#x, z#x, t#x], false, false
-- !query
@@ -1915,7 +1915,7 @@ WithCTE
: +- UnionLoopRef xxxx, [1#x, CAST(1 AS BIGINT)#xL],
false
+- Project [n#x, m#xL]
+- SubqueryAlias t1
- +- CTERelationRef xxxx, true, [n#x, m#xL], false, false, false
+ +- CTERelationRef xxxx, true, [n#x, m#xL], false, false
-- !query
@@ -1959,7 +1959,7 @@ WithCTE
+- LocalLimit 25
+- Project [n#x]
+- SubqueryAlias t1
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -1987,14 +1987,14 @@ WithCTE
: : +- SubqueryAlias __auto_generated_subquery_name
: : +- Project [n#x]
: : +- SubqueryAlias t1
- : : +- CTERelationRef xxxx, true, [n#x], false, false, false
+ : : +- CTERelationRef xxxx, true, [n#x], false, false
: +- Aggregate [sum(n#x) AS sum(n)#xL]
: +- SubqueryAlias __auto_generated_subquery_name
: +- GlobalLimit 3
: +- LocalLimit 3
: +- Project [n#x]
: +- SubqueryAlias t1
- : +- CTERelationRef xxxx, true, [n#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [n#x], false, false
+- OneRowRelation
@@ -2024,14 +2024,14 @@ WithCTE
: : +- LocalLimit 5
: : +- Project [n#x]
: : +- SubqueryAlias t1
- : : +- CTERelationRef xxxx, true, [n#x], false, false,
false
+ : : +- CTERelationRef xxxx, true, [n#x], false, false
: +- Aggregate [sum(n#x) AS sum(n)#xL]
: +- SubqueryAlias __auto_generated_subquery_name
: +- GlobalLimit 3
: +- LocalLimit 3
: +- Project [n#x]
: +- SubqueryAlias t1
- : +- CTERelationRef xxxx, true, [n#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [n#x], false, false
+- OneRowRelation
@@ -2069,7 +2069,7 @@ WithCTE
: : : +- LocalLimit 10
: : : +- Project [n#x]
: : : +- SubqueryAlias t1
-: : : +- CTERelationRef xxxx, true, [n#x],
false, false, false
+: : : +- CTERelationRef xxxx, true, [n#x],
false, false
: : +- OneRowRelation
: +- Project [(m#xL + scalar-subquery#x []) AS (m +
scalarsubquery())#xL]
: : +- Aggregate [sum(n#x) AS sum(n)#xL]
@@ -2078,7 +2078,7 @@ WithCTE
: : +- LocalLimit 3
: : +- Project [n#x]
: : +- SubqueryAlias t1
-: : +- CTERelationRef xxxx, true, [n#x],
false, false, false
+: : +- CTERelationRef xxxx, true, [n#x],
false, false
: +- SubqueryAlias t2
: +- Project [scalarsubquery()#xL AS m#xL]
: +- UnionLoopRef xxxx, [scalarsubquery()#xL], false
@@ -2086,7 +2086,7 @@ WithCTE
+- LocalLimit 20
+- Project [m#xL]
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [m#xL], false, false, false
+ +- CTERelationRef xxxx, true, [m#xL], false, false
-- !query
@@ -2113,10 +2113,10 @@ WithCTE
+- Union false, false
:- Project [n#x]
: +- SubqueryAlias t1
- : +- CTERelationRef xxxx, true, [n#x], false, false, false
+ : +- CTERelationRef xxxx, true, [n#x], false, false
+- Project [n#x]
+- SubqueryAlias t1
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -2235,4 +2235,4 @@ WithCTE
: +- UnionLoopRef xxxx, [n#x], false
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out
index 3b2cafd15c5b..8d8d978cb0cb 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out
@@ -86,7 +86,7 @@ WithCTE
: +- LocalRelation [id#x]
+- Project [1#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [1#x], false, false, false
+ +- CTERelationRef xxxx, true, [1#x], false, false
-- !query
@@ -147,13 +147,13 @@ WithCTE
: +- SubqueryAlias t2
: +- Project [2 AS 2#x]
: +- SubqueryAlias t1
-: +- CTERelationRef xxxx, true, [id#x], false, false, false
+: +- CTERelationRef xxxx, true, [id#x], false, false
+- Project [id#x, 2#x]
+- Join Cross
:- SubqueryAlias t1
- : +- CTERelationRef xxxx, true, [id#x], false, false, false
+ : +- CTERelationRef xxxx, true, [id#x], false, false
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [2#x], false, false, false
+ +- CTERelationRef xxxx, true, [2#x], false, false
-- !query
@@ -191,10 +191,10 @@ WithCTE
+- Join Cross
:- SubqueryAlias t1
: +- SubqueryAlias CTE1
- : +- CTERelationRef xxxx, true, [id#x], false, false, false
+ : +- CTERelationRef xxxx, true, [id#x], false, false
+- SubqueryAlias t2
+- SubqueryAlias CTE1
- +- CTERelationRef xxxx, true, [id#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x], false, false
-- !query
@@ -210,7 +210,7 @@ WithCTE
+- Project [x#x]
+- Filter (x#x = 1)
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x], false, false, 1
-- !query
@@ -226,7 +226,7 @@ WithCTE
+- Project [x#x, y#x]
+- Filter ((x#x = 1) AND (y#x = 2))
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [x#x, y#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x, y#x], false, false, 1
-- !query
@@ -241,7 +241,7 @@ WithCTE
: +- OneRowRelation
+- Project [x#x, x#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [x#x, x#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x, x#x], false, false, 1
-- !query
@@ -344,46 +344,46 @@ WithCTE
: +- Project [c8#x AS c7#x]
: +- Project [c8#x]
: +- SubqueryAlias w8
-: +- CTERelationRef xxxx, true, [c8#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [c8#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias w6
: +- Project [c7#x AS c6#x]
: +- Project [c7#x]
: +- SubqueryAlias w7
-: +- CTERelationRef xxxx, true, [c7#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [c7#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias w5
: +- Project [c6#x AS c5#x]
: +- Project [c6#x]
: +- SubqueryAlias w6
-: +- CTERelationRef xxxx, true, [c6#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [c6#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias w4
: +- Project [c5#x AS c4#x]
: +- Project [c5#x]
: +- SubqueryAlias w5
-: +- CTERelationRef xxxx, true, [c5#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [c5#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias w3
: +- Project [c4#x AS c3#x]
: +- Project [c4#x]
: +- SubqueryAlias w4
-: +- CTERelationRef xxxx, true, [c4#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [c4#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias w2
: +- Project [c3#x AS c2#x]
: +- Project [c3#x]
: +- SubqueryAlias w3
-: +- CTERelationRef xxxx, true, [c3#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [c3#x], false, false, 1
:- CTERelationDef xxxx, false
: +- SubqueryAlias w1
: +- Project [c2#x AS c1#x]
: +- Project [c2#x]
: +- SubqueryAlias w2
-: +- CTERelationRef xxxx, true, [c2#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [c2#x], false, false, 1
+- Project [c1#x]
+- SubqueryAlias w1
- +- CTERelationRef xxxx, true, [c1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c1#x], false, false, 1
-- !query
@@ -420,7 +420,7 @@ WithCTE
+- Project [42#x, 10#x]
+- Join Inner
:- SubqueryAlias same_name
- : +- CTERelationRef xxxx, true, [42#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [42#x], false, false, 1
+- SubqueryAlias same_name
+- Project [10 AS 10#x]
+- OneRowRelation
@@ -459,7 +459,7 @@ WithCTE
: +- OneRowRelation
+- Project [x#x, typeof(x#x) AS typeof(x)#x]
+- SubqueryAlias q
- +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x], false, false, 1
-- !query
@@ -519,7 +519,7 @@ Project [y#x]
: +- OneRowRelation
+- Project [(x#x + 1) AS y#x]
+- SubqueryAlias q
- +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x], false, false, 1
-- !query
@@ -533,7 +533,7 @@ Project [scalar-subquery#x [] AS scalarsubquery()#x]
: : +- OneRowRelation
: +- Project [x#x]
: +- SubqueryAlias q
-: +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [x#x], false, false, 1
+- OneRowRelation
@@ -548,7 +548,7 @@ Project [1 IN (list#x []) AS (1 IN (listquery()))#x]
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias q
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- OneRowRelation
@@ -596,14 +596,14 @@ WithCTE
:- Join Inner
: :- SubqueryAlias x
: : +- SubqueryAlias T1
- : : +- CTERelationRef xxxx, true, [a#x], false, false, 1, false
+ : : +- CTERelationRef xxxx, true, [a#x], false, false, 1
: +- SubqueryAlias y
: +- Project [b#x]
: +- SubqueryAlias T1
- : +- CTERelationRef xxxx, true, [b#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [b#x], false, false, 1
+- SubqueryAlias z
+- SubqueryAlias T1
- +- CTERelationRef xxxx, true, [a#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [a#x], false, false, 1
-- !query
@@ -631,9 +631,9 @@ WithCTE
+- Project [c#x, a#x]
+- Join Inner
:- SubqueryAlias ttTT
- : +- CTERelationRef xxxx, true, [c#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [c#x], false, false, 1
+- SubqueryAlias tttT_2
- +- CTERelationRef xxxx, true, [a#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [a#x], false, false, 1
-- !query
@@ -649,7 +649,7 @@ Project [scalar-subquery#x [x#x] AS scalarsubquery(x)#x]
: : +- OneRowRelation
: +- Project [x#x]
: +- SubqueryAlias q
-: +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [x#x], false, false, 1
+- SubqueryAlias T
+- Project [1 AS x#x, 2 AS y#x]
+- OneRowRelation
@@ -668,7 +668,7 @@ Project [scalar-subquery#x [x#x && y#x] AS
scalarsubquery(x, y)#x]
: : +- OneRowRelation
: +- Project [((outer(x#x) + outer(y#x)) + z#x) AS ((outer(T.x) +
outer(T.y)) + z)#x]
: +- SubqueryAlias q
-: +- CTERelationRef xxxx, true, [z#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [z#x], false, false, 1
+- SubqueryAlias T
+- Project [1 AS x#x, 2 AS y#x]
+- OneRowRelation
@@ -688,12 +688,12 @@ WithCTE
: +- SubqueryAlias q2
: +- Project [x#x]
: +- SubqueryAlias q1
-: +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [x#x], false, false, 1
+- Project [x#x]
+- SubqueryAlias __auto_generated_subquery_name
+- Project [x#x]
+- SubqueryAlias q2
- +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x], false, false, 1
-- !query
@@ -710,12 +710,12 @@ WithCTE
: +- SubqueryAlias q1
: +- Project [(x#x + 1) AS (x + 1)#x]
: +- SubqueryAlias q1
-: +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [x#x], false, false, 1
+- Project [(x + 1)#x]
+- SubqueryAlias __auto_generated_subquery_name
+- Project [(x + 1)#x]
+- SubqueryAlias q1
- +- CTERelationRef xxxx, true, [(x + 1)#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [(x + 1)#x], false, false, 1
-- !query
@@ -757,9 +757,9 @@ WithCTE
: +- Aggregate [max(j#x) AS max(j)#x]
: +- SubqueryAlias cte2
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [j#x], false, false, false
+ : +- CTERelationRef xxxx, true, [j#x], false, false
+- SubqueryAlias cte1
- +- CTERelationRef xxxx, true, [j#x], false, false, false
+ +- CTERelationRef xxxx, true, [j#x], false, false
-- !query
@@ -827,10 +827,10 @@ Project [1#x]
+- Union false, false
:- Project [1#x]
: +- SubqueryAlias cte
- : +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- Project [2#x]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [2#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [2#x], false, false, 1
-- !query
@@ -892,7 +892,7 @@ Union false, false
: : : +- OneRowRelation
: : +- Project [1#x]
: : +- SubqueryAlias cte
-: : +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: : +- CTERelationRef xxxx, true, [1#x], false, false, 1
: +- LocalRelation [col1#x]
+- Project [col1#x]
+- Filter exists#x []
@@ -903,7 +903,7 @@ Union false, false
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias cte
- : +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- LocalRelation [col1#x]
@@ -943,7 +943,7 @@ WithCTE
: : : : +- OneRowRelation
: : : +- Project [1#x]
: : : +- SubqueryAlias cte
-: : : +- CTERelationRef xxxx, true, [1#x], false, false,
1, false
+: : : +- CTERelationRef xxxx, true, [1#x], false, false, 1
: : +- LocalRelation [col1#x]
: +- Project [col1#x]
: +- Filter exists#x []
@@ -954,11 +954,11 @@ WithCTE
: : : +- OneRowRelation
: : +- Project [1#x]
: : +- SubqueryAlias cte
-: : +- CTERelationRef xxxx, true, [1#x], false, false,
1, false
+: : +- CTERelationRef xxxx, true, [1#x], false, false, 1
: +- LocalRelation [col1#x]
+- Project [col1#x]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [col1#x], false, false, 2, false
+ +- CTERelationRef xxxx, true, [col1#x], false, false, 2
-- !query
@@ -1000,7 +1000,7 @@ Project [col1#x]
: : : +- OneRowRelation
: : +- Project [1#x]
: : +- SubqueryAlias cte
- : : +- CTERelationRef xxxx, true, [1#x], false, false,
1, false
+ : : +- CTERelationRef xxxx, true, [1#x], false, false, 1
: +- LocalRelation [col1#x]
+- Project [col1#x]
+- Filter exists#x []
@@ -1011,7 +1011,7 @@ Project [col1#x]
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias cte
- : +- CTERelationRef xxxx, true, [1#x], false, false,
1, false
+ : +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- LocalRelation [col1#x]
@@ -1028,7 +1028,7 @@ WithCTE
: +- OneRowRelation
+- Project [1#x]
+- SubqueryAlias `a.b.c`
- +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [1#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers-enabled.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers-enabled.sql.out
index 12f48c14e0a5..51569e6c965c 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers-enabled.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers-enabled.sql.out
@@ -438,7 +438,7 @@ CreateViewCommand `myview`, [(c1,None)], WITH "v"("a") AS
(SELECT 1) SELECT "a"
: +- OneRowRelation
+- Project [a#x]
+- SubqueryAlias v
- +- CTERelationRef xxxx, true, [a#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [a#x], false, false, 1
-- !query
@@ -458,7 +458,7 @@ Project [a1#x AS a2#x]
: +- OneRowRelation
+- Project [a#x]
+- SubqueryAlias v
- +- CTERelationRef xxxx, true, [a#x], false, false, 1,
false
+ +- CTERelationRef xxxx, true, [a#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-alias.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-alias.sql.out
index 55d77106dca2..a3fe0bedfa24 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-alias.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-alias.sql.out
@@ -368,7 +368,7 @@ Aggregate [scalar-subquery#x []], [scalar-subquery#x [] AS
subq1#x]
: : : +- OneRowRelation
: : +- Project [1#x]
: : +- SubqueryAlias cte
-: : +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: : +- CTERelationRef xxxx, true, [1#x], false, false, 1
: +- WithCTE
: :- CTERelationDef xxxx, false
: : +- SubqueryAlias cte
@@ -376,7 +376,7 @@ Aggregate [scalar-subquery#x []], [scalar-subquery#x [] AS
subq1#x]
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias cte
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- LocalRelation [col1#x]
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out
index b6b8fdfe0d3f..7837ba426d95 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out
@@ -416,7 +416,7 @@ Aggregate [scalar-subquery#x []], [scalar-subquery#x [] AS
subq1#x]
: : : +- OneRowRelation
: : +- Project [1#x]
: : +- SubqueryAlias cte
-: : +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: : +- CTERelationRef xxxx, true, [1#x], false, false, 1
: +- WithCTE
: :- CTERelationDef xxxx, false
: : +- SubqueryAlias cte
@@ -424,7 +424,7 @@ Aggregate [scalar-subquery#x []], [scalar-subquery#x [] AS
subq1#x]
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias cte
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- LocalRelation [col1#x]
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-ordinal.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-ordinal.sql.out
index 72d8f64141aa..430e645040c2 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-ordinal.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-ordinal.sql.out
@@ -489,7 +489,7 @@ Aggregate [scalar-subquery#x []], [scalar-subquery#x [] AS
subq1#x]
: : : +- OneRowRelation
: : +- Project [1#x]
: : +- SubqueryAlias cte
-: : +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: : +- CTERelationRef xxxx, true, [1#x], false, false, 1
: +- WithCTE
: :- CTERelationDef xxxx, false
: : +- SubqueryAlias cte
@@ -497,7 +497,7 @@ Aggregate [scalar-subquery#x []], [scalar-subquery#x [] AS
subq1#x]
: : +- OneRowRelation
: +- Project [1#x]
: +- SubqueryAlias cte
-: +- CTERelationRef xxxx, true, [1#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [1#x], false, false, 1
+- LocalRelation [col1#x]
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out
index 4b730a0561b4..13d911c98838 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out
@@ -1023,7 +1023,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Aggregate [max(c1#x) AS max(c1)#x]
+- SubqueryAlias T
- +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, 2, false
+ +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, 2
-- !query
@@ -1042,7 +1042,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Aggregate [max(c1#x) AS max(c1)#x]
+- SubqueryAlias T
- +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, 2, false
+ +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, 2
-- !query
@@ -1056,7 +1056,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Aggregate [max(c1#x) AS max(c1)#x]
+- SubqueryAlias ABC
- +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, 2, false
+ +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, 2
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out
index e5acfcb88fc7..390fcf5e3015 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out
@@ -1377,10 +1377,10 @@ WithCTE
: : +- Project [cast(col1#x as int) AS c1#x,
cast(col2#x as int) AS c2#x]
: : +- LocalRelation [col1#x, col2#x]
: +- SubqueryAlias cte1
-: +- CTERelationRef xxxx, true, [c1#x], false, false, false
+: +- CTERelationRef xxxx, true, [c1#x], false, false
+- Project [c1#x, c2#x]
+- SubqueryAlias cte2
- +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, false
+ +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/listagg-collations.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/listagg-collations.sql.out
index 6fe453a5d5eb..7a7d7aa3f047 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/listagg-collations.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/listagg-collations.sql.out
@@ -20,7 +20,7 @@ WithCTE
: +- LocalRelation [col1#x]
+- Project [len(c1#x) AS len(c1)#x, regexp_count(c1#x, a) AS regexp_count(c1,
a)#x, regexp_count(c1#x, b) AS regexp_count(c1, b)#x, regexp_count(c1#x, A) AS
regexp_count(c1, A)#x, regexp_count(c1#x, B) AS regexp_count(c1, B)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c1#x], false, false, 1
-- !query
@@ -37,7 +37,7 @@ WithCTE
, $) AS replace(replace(c1, , ),
, $)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c1#x], false, false, 1
-- !query
@@ -61,7 +61,7 @@ WithCTE
: +- LocalRelation [col1#x]
+- Project [len(c1#x) AS len(c1)#x, regexp_count(c1#x, a) AS regexp_count(c1,
a)#x, regexp_count(c1#x, b) AS regexp_count(c1, b)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c1#x], false, false, 1
-- !query
@@ -85,7 +85,7 @@ WithCTE
: +- LocalRelation [col1#x]
+- Project [len(c1#x) AS len(c1)#x, regexp_count(c1#x, a) AS regexp_count(c1,
a)#x, regexp_count(c1#x, xbc) AS regexp_count(c1, xbc)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c1#x], false, false, 1
-- !query
@@ -102,7 +102,7 @@ WithCTE
, $) AS replace(replace(c1, , ),
, $)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [c1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c1#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/listagg.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/listagg.sql.out
index e22fc1ff24d8..1d78d882cf6a 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/listagg.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/listagg.sql.out
@@ -35,7 +35,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(col#x, a) AS
regexp_count(col, a)#x, regexp_count(col#x, b) AS regexp_count(col, b)#x,
regexp_count(col#x, c) AS regexp_count(col, c)#x, regexp_count(col#x, d) AS
regexp_count(col, d)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, false
+ +- CTERelationRef xxxx, true, [col#x], false, false
-- !query
@@ -54,7 +54,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(col#x, a) AS
regexp_count(col, a)#x, regexp_count(col#x, b) AS regexp_count(col, b)#x,
regexp_count(col#x, c) AS regexp_count(col, c)#x, regexp_count(col#x, d) AS
regexp_count(col, d)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, false
+ +- CTERelationRef xxxx, true, [col#x], false, false
-- !query
@@ -73,7 +73,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(col#x, a) AS
regexp_count(col, a)#x, regexp_count(col#x, b) AS regexp_count(col, b)#x,
regexp_count(col#x, c) AS regexp_count(col, c)#x, regexp_count(col#x, d) AS
regexp_count(col, d)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, false
+ +- CTERelationRef xxxx, true, [col#x], false, false
-- !query
@@ -105,7 +105,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(col#x, a) AS
regexp_count(col, a)#x, regexp_count(col#x, b) AS regexp_count(col, b)#x,
regexp_count(col#x, c) AS regexp_count(col, c)#x, regexp_count(col#x, d) AS
regexp_count(col, d)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, false
+ +- CTERelationRef xxxx, true, [col#x], false, false
-- !query
@@ -124,7 +124,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(col#x, a) AS
regexp_count(col, a)#x, regexp_count(col#x, b) AS regexp_count(col, b)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -143,7 +143,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(col#x, a) AS
regexp_count(col, a)#x, regexp_count(col#x, b) AS regexp_count(col, b)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -213,7 +213,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [concat(cast((col#x = baba) as string), cast((col#x = bbaa) as
string)) AS concat((col = baba), (col = bbaa))#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -232,7 +232,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [concat(cast((col#x = b|a|b|a) as string), cast((col#x = b|b|a|a)
as string)) AS concat((col = b|a|b|a), (col = b|b|a|a))#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -283,7 +283,7 @@ WithCTE
: +- LocalRelation [col1#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(cast(col#x as string),
cast(0xDEAD as string)) AS regexp_count(col, X'DEAD')#x,
regexp_count(cast(col#x as string), cast(0xBEEF as string)) AS
regexp_count(col, X'BEEF')#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -298,7 +298,7 @@ WithCTE
: +- LocalRelation [col1#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(cast(col#x as string),
cast(0xDEAD as string)) AS regexp_count(col, X'DEAD')#x,
regexp_count(cast(col#x as string), cast(0xBEEF as string)) AS
regexp_count(col, X'BEEF')#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -313,7 +313,7 @@ WithCTE
: +- LocalRelation [col1#x]
+- Project [len(col#x) AS len(col)#x, regexp_count(cast(col#x as string),
cast(0x42 as string)) AS regexp_count(col, X'42')#x, regexp_count(cast(col#x as
string), cast(0xDEAD as string)) AS regexp_count(col, X'DEAD')#x,
regexp_count(cast(col#x as string), cast(0xBEEF as string)) AS
regexp_count(col, X'BEEF')#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col#x], false, false, 1
-- !query
@@ -332,7 +332,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [len(col1#x) AS len(col1)#x, regexp_count(col1#x, 1) AS
regexp_count(col1, 1)#x, regexp_count(col1#x, 2) AS regexp_count(col1, 2)#x,
regexp_count(col1#x, 3) AS regexp_count(col1, 3)#x, len(col2#x) AS len(col2)#x,
regexp_count(col2#x, true) AS regexp_count(col2, true)#x, regexp_count(col1#x,
false) AS regexp_count(col1, false)#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [col1#x, col2#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [col1#x, col2#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/non-excludable-rule.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/non-excludable-rule.sql.out
index 6ae281bfac78..6bfbe53ace4f 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/non-excludable-rule.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/non-excludable-rule.sql.out
@@ -47,7 +47,7 @@ WithCTE
+- Filter (id#xL > scalar-subquery#x [])
: +- Aggregate [max(id#xL) AS max(id)#xL]
: +- SubqueryAlias tmp
- : +- CTERelationRef xxxx, true, [id#xL], false, false, 2, false
+ : +- CTERelationRef xxxx, true, [id#xL], false, false, 2
+- Range (0, 3, step=1)
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out
index 4df9bef4723b..bc6dc828ad85 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out
@@ -99,7 +99,7 @@ WithCTE
+- Window [sum(x#xL) windowspecdefinition(x#xL ASC NULLS FIRST,
specifiedwindowframe(RowFrame, -1, 1)) AS sum(x) OVER (ORDER BY x ASC NULLS
FIRST ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)#xL], [x#xL ASC NULLS FIRST]
+- Project [x#xL]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [x#xL], false, false, 18, false
+ +- CTERelationRef xxxx, true, [x#xL], false, false, 18
-- !query
@@ -121,7 +121,7 @@ WithCTE
+- Window [sum(x#xL) windowspecdefinition(x#xL ASC NULLS FIRST,
specifiedwindowframe(RangeFrame, cast(-1 as bigint), cast(1 as bigint))) AS
sum(x) OVER (ORDER BY x ASC NULLS FIRST RANGE BETWEEN (- 1) FOLLOWING AND 1
FOLLOWING)#xL], [x#xL ASC NULLS FIRST]
+- Project [x#xL]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [x#xL], false, false, 18, false
+ +- CTERelationRef xxxx, true, [x#xL], false, false, 18
-- !query
@@ -154,7 +154,7 @@ WithCTE
+- Window [sum(x#xL) windowspecdefinition(x#xL ASC NULLS FIRST,
specifiedwindowframe(RowFrame, -1, 1)) AS sum(x) OVER (ORDER BY x ASC NULLS
FIRST ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)#xL], [x#xL ASC NULLS FIRST]
+- Project [x#xL]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [x#xL], false, false, 26, false
+ +- CTERelationRef xxxx, true, [x#xL], false, false, 26
-- !query
@@ -187,7 +187,7 @@ WithCTE
+- Window [sum(x#xL) windowspecdefinition(x#xL ASC NULLS FIRST,
specifiedwindowframe(RangeFrame, cast(-1 as bigint), cast(1 as bigint))) AS
sum(x) OVER (ORDER BY x ASC NULLS FIRST RANGE BETWEEN (- 1) FOLLOWING AND 1
FOLLOWING)#xL], [x#xL ASC NULLS FIRST]
+- Project [x#xL]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [x#xL], false, false, 26, false
+ +- CTERelationRef xxxx, true, [x#xL], false, false, 26
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out
index e56f8ace4ca2..edbdcba85148 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out
@@ -12,10 +12,10 @@ WithCTE
+- Project [x#x, y#x, x#x, y#x]
+- Join Inner
:- SubqueryAlias q1
- : +- CTERelationRef xxxx, true, [x#x, y#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [x#x, y#x], false, false, 1
+- SubqueryAlias q2
+- SubqueryAlias q1
- +- CTERelationRef xxxx, true, [x#x, y#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x, y#x], false, false, 1
-- !query
@@ -50,7 +50,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Aggregate [sum(n#x) AS sum(n)#xL]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -76,7 +76,7 @@ WithCTE
: +- UnionLoopRef xxxx, [scalarsubquery()#x], false
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -107,7 +107,7 @@ SELECT * FROM nums, false, false, LocalTempView,
UNSUPPORTED, true
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [n#x]
+- SubqueryAlias nums
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -130,7 +130,7 @@ Project [n#x]
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [n#x]
+- SubqueryAlias nums
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -161,7 +161,7 @@ SELECT * FROM nums, false, true, LocalTempView,
UNSUPPORTED, true
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [n#x]
+- SubqueryAlias nums
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -184,7 +184,7 @@ Project [n#x]
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [n#x]
+- SubqueryAlias nums
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -229,7 +229,7 @@ WithCTE
+- LocalLimit 10
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -264,7 +264,7 @@ WithCTE
: +- OneRowRelation
+- Project [x#x]
+- SubqueryAlias q
- +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x], false, false, 1
-- !query
@@ -289,7 +289,7 @@ WithCTE
: +- UnionLoopRef xxxx, [foo#x], false
+- Project [n#x AS is_text#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -417,7 +417,7 @@ WithCTE
+- Sort [name#x ASC NULLS FIRST], true
+- Project [root_name#x, id#x, parent_department#x, name#x]
+- SubqueryAlias subdepartment
- +- CTERelationRef xxxx, true, [root_name#x, id#x,
parent_department#x, name#x], false, false, false
+ +- CTERelationRef xxxx, true, [root_name#x, id#x,
parent_department#x, name#x], false, false
-- !query
@@ -454,7 +454,7 @@ WithCTE
+- Sort [name#x ASC NULLS FIRST], true
+- Project [level#x, id#x, parent_department#x, name#x]
+- SubqueryAlias subdepartment
- +- CTERelationRef xxxx, true, [level#x, id#x, parent_department#x,
name#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x, id#x, parent_department#x,
name#x], false, false
-- !query
@@ -492,7 +492,7 @@ WithCTE
+- Project [level#x, id#x, parent_department#x, name#x]
+- Filter (level#x >= 2)
+- SubqueryAlias subdepartment
- +- CTERelationRef xxxx, true, [level#x, id#x, parent_department#x,
name#x], false, false, false
+ +- CTERelationRef xxxx, true, [level#x, id#x, parent_department#x,
name#x], false, false
-- !query
@@ -512,7 +512,7 @@ WithCTE
+- Sort [name#x ASC NULLS FIRST], true
+- Project [id#x, parent_department#x, name#x]
+- SubqueryAlias subdepartment
- +- CTERelationRef xxxx, true, [id#x, parent_department#x, name#x],
false, false, false
+ +- CTERelationRef xxxx, true, [id#x, parent_department#x, name#x],
false, false
-- !query
@@ -554,7 +554,7 @@ Aggregate [count(1) AS count(1)#xL]
: +- Project [n#x]
: +- Filter (n#x < 50000)
: +- SubqueryAlias t
- : +- CTERelationRef xxxx, true, [n#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [n#x], false, false
+- SubqueryAlias t
+- WithCTE
:- CTERelationDef xxxx, false
@@ -570,7 +570,7 @@ Aggregate [count(1) AS count(1)#xL]
: +- UnionLoopRef xxxx, [1#x], false
+- Project [n#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -597,9 +597,9 @@ WithCTE
: +- Aggregate [(cast(sum(y#xL) as double) / cast(100 as double)) AS
(sum(y) / 100)#x]
: +- SubqueryAlias qsub
: +- SubqueryAlias q1
- : +- CTERelationRef xxxx, true, [x#x, y#xL], false, false,
false
+ : +- CTERelationRef xxxx, true, [x#x, y#xL], false, false
+- SubqueryAlias q1
- +- CTERelationRef xxxx, true, [x#x, y#xL], false, false, false
+ +- CTERelationRef xxxx, true, [x#x, y#xL], false, false
-- !query
@@ -640,7 +640,7 @@ CreateViewCommand `vsubdepartment`, WITH RECURSIVE
subdepartment AS
: +- UnionLoopRef xxxx, [id#x,
parent_department#x, name#x], false
+- Project [id#x, parent_department#x, name#x]
+- SubqueryAlias subdepartment
- +- CTERelationRef xxxx, true, [id#x, parent_department#x, name#x],
false, false, false
+ +- CTERelationRef xxxx, true, [id#x, parent_department#x, name#x],
false, false
-- !query
@@ -670,7 +670,7 @@ Sort [name#x ASC NULLS FIRST], true
: +- UnionLoopRef xxxx, [id#x,
parent_department#x, name#x], false
+- Project [id#x, parent_department#x, name#x]
+- SubqueryAlias subdepartment
- +- CTERelationRef xxxx, true, [id#x, parent_department#x,
name#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x, parent_department#x,
name#x], false, false
-- !query
@@ -701,7 +701,7 @@ SELECT sum(n) AS sum FROM t, false, false, PersistedView,
COMPENSATION, true
: +- UnionLoopRef xxxx, [col1#x], false
+- Aggregate [sum(n#x) AS sum#xL]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -724,7 +724,7 @@ Project [sum#xL]
: +- UnionLoopRef xxxx, [col1#x], false
+- Aggregate [sum(n#x) AS sum#xL]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -756,7 +756,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x, col2#x], false
+- Project [i#x, j#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [i#x, j#x], false, false, false
+ +- CTERelationRef xxxx, true, [i#x, j#x], false, false
-- !query
@@ -809,10 +809,10 @@ WithCTE
+- Join Inner, (((path#x[0] = path#x[0]) AND (size(path#x, false) = 1))
AND (size(path#x, false) > 1))
:- SubqueryAlias t1
: +- SubqueryAlias t
- : +- CTERelationRef xxxx, true, [id#x, path#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [id#x, path#x], false, false
+- SubqueryAlias t2
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [id#x, path#x], false, false,
false
+ +- CTERelationRef xxxx, true, [id#x, path#x], false, false
-- !query
@@ -847,10 +847,10 @@ WithCTE
+- Join Inner, (((path#x[0] = path#x[0]) AND (size(path#x, false) = 1))
AND (size(path#x, false) > 1))
:- SubqueryAlias t1
: +- SubqueryAlias t
- : +- CTERelationRef xxxx, true, [id#x, path#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [id#x, path#x], false, false
+- SubqueryAlias t2
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [id#x, path#x], false, false,
false
+ +- CTERelationRef xxxx, true, [id#x, path#x], false, false
-- !query
@@ -880,10 +880,10 @@ WithCTE
+- Join Inner, (id#x = id#x)
:- SubqueryAlias t1
: +- SubqueryAlias t
- : +- CTERelationRef xxxx, true, [id#x, path#x], false, false, false
+ : +- CTERelationRef xxxx, true, [id#x, path#x], false, false
+- SubqueryAlias t2
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [id#x, path#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x, path#x], false, false
-- !query
@@ -937,7 +937,7 @@ WithCTE
: +- UnionLoopRef xxxx, [f#x, t#x, label#x,
array(struct(f, t))#x, false#x], false
+- Project [f#x, t#x, label#x, path#x, cycle#x]
+- SubqueryAlias search_graph
- +- CTERelationRef xxxx, true, [f#x, t#x, label#x, path#x, cycle#x],
false, false, false
+ +- CTERelationRef xxxx, true, [f#x, t#x, label#x, path#x, cycle#x],
false, false
-- !query
@@ -972,7 +972,7 @@ WithCTE
+- Sort [path#x ASC NULLS FIRST], true
+- Project [f#x, t#x, label#x, path#x, cycle#x]
+- SubqueryAlias search_graph
- +- CTERelationRef xxxx, true, [f#x, t#x, label#x, path#x, cycle#x],
false, false, false
+ +- CTERelationRef xxxx, true, [f#x, t#x, label#x, path#x, cycle#x],
false, false
-- !query
@@ -992,7 +992,7 @@ WithCTE
: +- UnionLoop xxxx
: :- Project [id#x]
: : +- SubqueryAlias y
-: : +- CTERelationRef xxxx, true, [id#x], false, false, 1, false
+: : +- CTERelationRef xxxx, true, [id#x], false, false, 1
: +- Project [(id#x + 1) AS (id + 1)#x]
: +- Filter (id#x < 5)
: +- SubqueryAlias x
@@ -1000,7 +1000,7 @@ WithCTE
: +- UnionLoopRef xxxx, [id#x], false
+- Project [id#x]
+- SubqueryAlias x
- +- CTERelationRef xxxx, true, [id#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x], false, false
-- !query
@@ -1031,17 +1031,17 @@ WithCTE
: +- Union false, false
: :- Project [id#x]
: : +- SubqueryAlias x
-: : +- CTERelationRef xxxx, true, [id#x], false, false, false
+: : +- CTERelationRef xxxx, true, [id#x], false, false
: +- Project [id#x]
: +- SubqueryAlias x
-: +- CTERelationRef xxxx, true, [id#x], false, false, false
+: +- CTERelationRef xxxx, true, [id#x], false, false
:- CTERelationDef xxxx, false
: +- SubqueryAlias z
: +- Project [id#x AS id#x]
: +- UnionLoop xxxx
: :- Project [id#x]
: : +- SubqueryAlias x
-: : +- CTERelationRef xxxx, true, [id#x], false, false, false
+: : +- CTERelationRef xxxx, true, [id#x], false, false
: +- Project [(id#x + 1) AS (id + 1)#x]
: +- Filter (id#x < 10)
: +- SubqueryAlias z
@@ -1049,7 +1049,7 @@ WithCTE
: +- UnionLoopRef xxxx, [id#x], false
+- Project [id#x]
+- SubqueryAlias z
- +- CTERelationRef xxxx, true, [id#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x], false, false
-- !query
@@ -1080,17 +1080,17 @@ WithCTE
: +- Union false, false
: :- Project [id#x]
: : +- SubqueryAlias x
-: : +- CTERelationRef xxxx, true, [id#x], false, false, false
+: : +- CTERelationRef xxxx, true, [id#x], false, false
: +- Project [id#x]
: +- SubqueryAlias x
-: +- CTERelationRef xxxx, true, [id#x], false, false, false
+: +- CTERelationRef xxxx, true, [id#x], false, false
:- CTERelationDef xxxx, false
: +- SubqueryAlias z
: +- Project [id#x AS id#x]
: +- UnionLoop xxxx
: :- Project [id#x]
: : +- SubqueryAlias y
-: : +- CTERelationRef xxxx, true, [id#x], false, false, false
+: : +- CTERelationRef xxxx, true, [id#x], false, false
: +- Project [(id#x + 1) AS (id + 1)#x]
: +- Filter (id#x < 10)
: +- SubqueryAlias z
@@ -1098,7 +1098,7 @@ WithCTE
: +- UnionLoopRef xxxx, [id#x], false
+- Project [id#x]
+- SubqueryAlias z
- +- CTERelationRef xxxx, true, [id#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x], false, false
-- !query
@@ -1268,7 +1268,7 @@ WithCTE
: +- UnionLoopRef xxxx, [1#x], false
+- Project [n#x]
+- SubqueryAlias x
- +- CTERelationRef xxxx, true, [n#x], false, false, false
+ +- CTERelationRef xxxx, true, [n#x], false, false
-- !query
@@ -1338,7 +1338,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [id#x]
+- SubqueryAlias x
- +- CTERelationRef xxxx, true, [id#x], false, false, false
+ +- CTERelationRef xxxx, true, [id#x], false, false
-- !query
@@ -1392,7 +1392,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [i#x]
+- SubqueryAlias foo
- +- CTERelationRef xxxx, true, [i#x], false, false, false
+ +- CTERelationRef xxxx, true, [i#x], false, false
-- !query
@@ -1426,7 +1426,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [i#x]
+- SubqueryAlias foo
- +- CTERelationRef xxxx, true, [i#x], false, false, false
+ +- CTERelationRef xxxx, true, [i#x], false, false
-- !query
@@ -1457,7 +1457,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [i#x]
+- SubqueryAlias foo
- +- CTERelationRef xxxx, true, [i#x], false, false, false
+ +- CTERelationRef xxxx, true, [i#x], false, false
-- !query
@@ -1488,7 +1488,7 @@ WithCTE
: +- UnionLoopRef xxxx, [col1#x], false
+- Project [i#x]
+- SubqueryAlias foo
- +- CTERelationRef xxxx, true, [i#x], false, false, false
+ +- CTERelationRef xxxx, true, [i#x], false, false
-- !query
@@ -1522,7 +1522,7 @@ WithCTE
+- SubqueryAlias q
+- Project [foo#x]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [foo#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [foo#x], false, false, 1
-- !query
@@ -1556,7 +1556,7 @@ WithCTE
: +- UnionLoop xxxx
: :- Project [i#x]
: : +- SubqueryAlias s
-: : +- CTERelationRef xxxx, true, [i#x], false, false, false
+: : +- CTERelationRef xxxx, true, [i#x], false, false
: +- Project [(j#x + 1) AS (j + 1)#x]
: +- Filter (j#x < 10)
: +- SubqueryAlias t
@@ -1564,7 +1564,7 @@ WithCTE
: +- UnionLoopRef xxxx, [i#x], false
+- Project [j#x]
+- SubqueryAlias t
- +- CTERelationRef xxxx, true, [j#x], false, false, false
+ +- CTERelationRef xxxx, true, [j#x], false, false
-- !query
@@ -1592,13 +1592,13 @@ WithCTE
: +- Union false, false
: :- Project [2#x]
: : +- SubqueryAlias innermost
-: : +- CTERelationRef xxxx, true, [2#x], false, false,
1, false
+: : +- CTERelationRef xxxx, true, [2#x], false, false, 1
: +- Project [3 AS 3#x]
: +- OneRowRelation
+- Sort [x#x ASC NULLS FIRST], true
+- Project [x#x]
+- SubqueryAlias outermost
- +- CTERelationRef xxxx, true, [x#x], false, false, 3, false
+ +- CTERelationRef xxxx, true, [x#x], false, false, 3
-- !query
@@ -1826,7 +1826,7 @@ WithCTE
: +- OneRowRelation
+- Project [x#x]
+- SubqueryAlias ordinality
- +- CTERelationRef xxxx, true, [x#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [x#x], false, false, 1
-- !query
@@ -1867,7 +1867,7 @@ InsertIntoHadoopFsRelationCommand file:[not included in
comparison]/{warehouse_d
: +- OneRowRelation
+- Project [42#x]
+- SubqueryAlias test
- +- CTERelationRef xxxx, true, [42#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [42#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/sql-session-variables.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/sql-session-variables.sql.out
index 8e8ed578ab39..7d23f27cdf5d 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/sql-session-variables.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/sql-session-variables.sql.out
@@ -2221,7 +2221,7 @@ WithCTE
: +- OneRowRelation
+- Project [c1#x AS 1#x]
+- SubqueryAlias v1
- +- CTERelationRef xxxx, true, [c1#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [c1#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/sql-udf.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/sql-udf.sql.out
index 4fd3b58afdd1..2b8a47c9ca63 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/sql-udf.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/sql-udf.sql.out
@@ -2803,7 +2803,7 @@ WithCTE
: +- LocalRelation [col1#x, col2#x]
+- Project [spark_catalog.default.foo3_1a(c1, c2)#x]
+- SubqueryAlias cte
- +- CTERelationRef xxxx, true, [spark_catalog.default.foo3_1a(c1, c2)#x],
false, false, false
+ +- CTERelationRef xxxx, true, [spark_catalog.default.foo3_1a(c1, c2)#x],
false, false
-- !query
@@ -3528,7 +3528,7 @@ Project [spark_catalog.default.foo3_2e1(occurrences#x,
instance_start_time#x) AS
: : +- OneRowRelation
: +- Project [CASE WHEN (isnull(outer(occurrences#x)) OR
(size(outer(occurrences#x), false) = 0)) THEN cast(null as string) ELSE
sort_array(diffs#x, true)[0].id END AS id#x]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [diffs#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [diffs#x], false, false, 1
+- Project [cast(array(struct(col1, 2022-01-01 10:11:12, col2, 1),
struct(col1, 2022-01-01 10:11:15, col2, 2)) as
array<struct<start_time:timestamp,occurrence_id:string>>) AS occurrences#x,
cast(2022-01-01 as timestamp) AS instance_start_time#x]
+- OneRowRelation
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-cte.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-cte.sql.out
index aaa098d33400..abaf6a243225 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-cte.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-cte.sql.out
@@ -133,7 +133,7 @@ WithCTE
: +- Filter (outer(emp_name#x) = emp_name#x)
: +- SubqueryAlias b
: +- SubqueryAlias bonus_cte
- : +- CTERelationRef xxxx, true, [emp_name#x, bonus_amt#x],
false, false, false
+ : +- CTERelationRef xxxx, true, [emp_name#x, bonus_amt#x],
false, false
+- SubqueryAlias a
+- SubqueryAlias bonus
+- View (`BONUS`, [emp_name#x, bonus_amt#x])
@@ -189,10 +189,10 @@ WithCTE
: +- Join Inner, (dept_id#x = dept_id#x)
: :- SubqueryAlias a
: : +- SubqueryAlias emp_cte
- : : +- CTERelationRef xxxx, true, [id#x, emp_name#x,
hiredate#x, salary#x, dept_id#x], false, false, false
+ : : +- CTERelationRef xxxx, true, [id#x, emp_name#x,
hiredate#x, salary#x, dept_id#x], false, false
: +- SubqueryAlias b
: +- SubqueryAlias dept_cte
- : +- CTERelationRef xxxx, true, [dept_id#x, dept_name#x,
state#x], false, false, false
+ : +- CTERelationRef xxxx, true, [dept_id#x, dept_name#x,
state#x], false, false
+- SubqueryAlias bonus
+- View (`BONUS`, [emp_name#x, bonus_amt#x])
+- Project [cast(emp_name#x as string) AS emp_name#x,
cast(bonus_amt#x as double) AS bonus_amt#x]
@@ -253,10 +253,10 @@ WithCTE
: +- Join LeftOuter, (dept_id#x = dept_id#x)
: :- SubqueryAlias a
: : +- SubqueryAlias emp_cte
- : : +- CTERelationRef xxxx, true, [id#x, emp_name#x,
hiredate#x, salary#x, dept_id#x], false, false, false
+ : : +- CTERelationRef xxxx, true, [id#x, emp_name#x,
hiredate#x, salary#x, dept_id#x], false, false
: +- SubqueryAlias b
: +- SubqueryAlias dept_cte
- : +- CTERelationRef xxxx, true, [dept_id#x,
dept_name#x, state#x], false, false, false
+ : +- CTERelationRef xxxx, true, [dept_id#x,
dept_name#x, state#x], false, false
+- Join Inner
:- Join Inner
: :- SubqueryAlias b
@@ -268,7 +268,7 @@ WithCTE
: : +- LocalRelation [emp_name#x, bonus_amt#x]
: +- SubqueryAlias e
: +- SubqueryAlias emp_cte
- : +- CTERelationRef xxxx, true, [id#x, emp_name#x,
hiredate#x, salary#x, dept_id#x], false, false, false
+ : +- CTERelationRef xxxx, true, [id#x, emp_name#x,
hiredate#x, salary#x, dept_id#x], false, false
+- SubqueryAlias d
+- SubqueryAlias dept
+- View (`DEPT`, [dept_id#x, dept_name#x, state#x])
@@ -322,7 +322,7 @@ WithCTE
: +- Filter (count(1)#xL > cast(1 as bigint))
: +- Aggregate [dept_id#x], [dept_id#x, max(salary#x) AS
max(salary)#x, count(1) AS count(1)#xL]
: +- SubqueryAlias empdept
- : +- CTERelationRef xxxx, true, [id#x, salary#x,
emp_name#x, dept_id#x], false, false, false
+ : +- CTERelationRef xxxx, true, [id#x, salary#x,
emp_name#x, dept_id#x], false, false
+- SubqueryAlias bonus
+- View (`BONUS`, [emp_name#x, bonus_amt#x])
+- Project [cast(emp_name#x as string) AS emp_name#x,
cast(bonus_amt#x as double) AS bonus_amt#x]
@@ -375,7 +375,7 @@ WithCTE
: +- Filter (count(1)#xL < cast(1 as bigint))
: +- Aggregate [dept_id#x], [dept_id#x, max(salary#x) AS
max(salary)#x, count(1) AS count(1)#xL]
: +- SubqueryAlias empdept
- : +- CTERelationRef xxxx, true, [id#x, salary#x,
emp_name#x, dept_id#x], false, false, false
+ : +- CTERelationRef xxxx, true, [id#x, salary#x,
emp_name#x, dept_id#x], false, false
+- SubqueryAlias bonus
+- View (`BONUS`, [emp_name#x, bonus_amt#x])
+- Project [cast(emp_name#x as string) AS emp_name#x,
cast(bonus_amt#x as double) AS bonus_amt#x]
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-multiple-columns.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-multiple-columns.sql.out
index 5b50d64fc053..230ffc005e90 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-multiple-columns.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-multiple-columns.sql.out
@@ -330,7 +330,7 @@ WithCTE
+- Project [t1a#x, t1b#x, t1a#x, t1b#x]
+- Join Inner, (t1b#x = t1b#x)
:- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
+- SubqueryAlias cte2
+- SubqueryAlias cte1
- +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false,
false
+ +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-with-cte.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-with-cte.sql.out
index 9b547f45d089..199b876fb9a8 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-with-cte.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-with-cte.sql.out
@@ -138,7 +138,7 @@ WithCTE
: +- Project [t1b#x]
: +- Filter (cast(t1b#x as int) > 0)
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
+- SubqueryAlias t1
+- View (`t1`, [t1a#x, t1b#x, t1c#x, t1d#xL, t1e#x, t1f#x, t1g#x,
t1h#x, t1i#x])
+- Project [cast(t1a#x as string) AS t1a#x, cast(t1b#x as
smallint) AS t1b#x, cast(t1c#x as int) AS t1c#x, cast(t1d#xL as bigint) AS
t1d#xL, cast(t1e#x as float) AS t1e#x, cast(t1f#x as double) AS t1f#x,
cast(t1g#x as double) AS t1g#x, cast(t1h#x as timestamp) AS t1h#x, cast(t1i#x
as date) AS t1i#x]
@@ -197,21 +197,21 @@ WithCTE
: : : :- Project [t1b#x]
: : : : +- Filter (cast(t1b#x as int) > 0)
: : : : +- SubqueryAlias cte1
- : : : : +- CTERelationRef xxxx, true, [t1a#x,
t1b#x], false, false, false
+ : : : : +- CTERelationRef xxxx, true, [t1a#x,
t1b#x], false, false
: : : +- Project [t1b#x]
: : : +- Filter (cast(t1b#x as int) > 5)
: : : +- SubqueryAlias cte1
- : : : +- CTERelationRef xxxx, true, [t1a#x,
t1b#x], false, false, false
+ : : : +- CTERelationRef xxxx, true, [t1a#x,
t1b#x], false, false
: : +- Intersect false
: : :- Project [t1b#x]
: : : +- SubqueryAlias cte1
- : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x],
false, false, false
+ : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x],
false, false
: : +- Project [t1b#x]
: : +- SubqueryAlias cte1
- : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x],
false, false, false
+ : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x],
false, false
: +- Project [t1b#x]
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false
+- SubqueryAlias t1
+- View (`t1`, [t1a#x, t1b#x, t1c#x, t1d#xL, t1e#x, t1f#x, t1g#x,
t1h#x, t1i#x])
+- Project [cast(t1a#x as string) AS t1a#x, cast(t1b#x as
smallint) AS t1b#x, cast(t1c#x as int) AS t1c#x, cast(t1d#xL as bigint) AS
t1d#xL, cast(t1e#x as float) AS t1e#x, cast(t1f#x as double) AS t1f#x,
cast(t1g#x as double) AS t1g#x, cast(t1h#x as timestamp) AS t1h#x, cast(t1i#x
as date) AS t1i#x]
@@ -268,22 +268,22 @@ WithCTE
: : : :- Join FullOuter, (t1c#x = t1c#x)
: : : : :- Join Inner, (t1b#x > t1b#x)
: : : : : :- SubqueryAlias cte1
- : : : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1e#x], false, false, false
+ : : : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1e#x], false, false
: : : : : +- SubqueryAlias cte2
: : : : : +- SubqueryAlias cte1
- : : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1e#x], false, false, false
+ : : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1e#x], false, false
: : : : +- SubqueryAlias cte3
: : : : +- SubqueryAlias cte1
- : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1e#x], false, false, false
+ : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1e#x], false, false
: : : +- SubqueryAlias cte4
: : : +- SubqueryAlias cte1
- : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1e#x], false, false, false
+ : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1e#x], false, false
: : +- SubqueryAlias cte5
: : +- SubqueryAlias cte1
- : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1e#x], false, false, false
+ : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1e#x], false, false
: +- SubqueryAlias cte6
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1e#x], false, false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1e#x], false, false
+- SubqueryAlias t1
+- View (`t1`, [t1a#x, t1b#x, t1c#x, t1d#xL, t1e#x, t1f#x, t1g#x,
t1h#x, t1i#x])
+- Project [cast(t1a#x as string) AS t1a#x, cast(t1b#x as
smallint) AS t1b#x, cast(t1c#x as int) AS t1c#x, cast(t1d#xL as bigint) AS
t1d#xL, cast(t1e#x as float) AS t1e#x, cast(t1f#x as double) AS t1f#x,
cast(t1g#x as double) AS t1g#x, cast(t1h#x as timestamp) AS t1h#x, cast(t1i#x
as date) AS t1i#x]
@@ -354,16 +354,16 @@ WithCTE
:- Join FullOuter, (t1a#x = t1a#x)
: :- Join Inner, ((cast(t1b#x as int) > 5) AND (t1a#x = t1a#x))
: : :- SubqueryAlias cte1
- : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false, false
+ : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
: : +- SubqueryAlias cte2
: : +- SubqueryAlias cte1
- : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false, false
+ : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false
: +- SubqueryAlias cte3
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
+- SubqueryAlias cte4
+- SubqueryAlias cte1
- +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false,
false
+ +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
-- !query
@@ -424,10 +424,10 @@ WithCTE
+- Project [t1a#x, t1b#x]
+- Join Inner, (t1h#x >= t1h#x)
:- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1h#x], false,
false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1h#x], false,
false
+- SubqueryAlias cte2
+- SubqueryAlias cte1
- +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1h#x],
false, false, false
+ +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1h#x],
false, false
-- !query
@@ -485,16 +485,16 @@ WithCTE
:- Join RightOuter, (t1b#x = t1b#x)
: :- Join Inner, (t1a#x = t1a#x)
: : :- SubqueryAlias cte1
- : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x],
false, false, false
+ : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x],
false, false
: : +- SubqueryAlias cte2
: : +- SubqueryAlias cte1
- : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x],
false, false, false
+ : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x],
false, false
: +- SubqueryAlias cte3
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x],
false, false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x],
false, false
+- SubqueryAlias cte4
+- SubqueryAlias cte1
- +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x], false,
false, false
+ +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x], false,
false
-- !query
@@ -538,10 +538,10 @@ WithCTE
+- Project [t1a#x, t1b#x]
+- Join RightOuter, (t1a#x = t1a#x)
:- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
+- SubqueryAlias cte2
+- SubqueryAlias cte1
- +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false,
false
+ +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
-- !query
@@ -599,15 +599,15 @@ WithCTE
: : +- SubqueryAlias t1
: : +- LocalRelation [t1a#x, t1b#x, t1c#x,
t1d#xL, t1e#x, t1f#x, t1g#x, t1h#x, t1i#x]
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
+- SubqueryAlias s
+- Project [t1b#x]
+- Join LeftOuter, (t1b#x = t1b#x)
:- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
+- SubqueryAlias cte2
+- SubqueryAlias cte1
- +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false, false
+ +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false,
false
-- !query
@@ -642,7 +642,7 @@ WithCTE
: +- Project [t1b#x]
: +- Filter (cast(t1b#x as int) < 0)
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x], false, false
+- SubqueryAlias t1
+- View (`t1`, [t1a#x, t1b#x, t1c#x, t1d#xL, t1e#x, t1f#x, t1g#x,
t1h#x, t1i#x])
+- Project [cast(t1a#x as string) AS t1a#x, cast(t1b#x as
smallint) AS t1b#x, cast(t1c#x as int) AS t1c#x, cast(t1d#xL as bigint) AS
t1d#xL, cast(t1e#x as float) AS t1e#x, cast(t1f#x as double) AS t1f#x,
cast(t1g#x as double) AS t1g#x, cast(t1h#x as timestamp) AS t1h#x, cast(t1i#x
as date) AS t1i#x]
@@ -722,16 +722,16 @@ WithCTE
: :- Join RightOuter, (t1b#x = t1b#x)
: : :- Join Inner, (t1a#x = t1a#x)
: : : :- SubqueryAlias cte1
- : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1h#x], false, false, false
+ : : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1h#x], false, false
: : : +- SubqueryAlias cte2
: : : +- SubqueryAlias cte1
- : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1h#x], false, false, false
+ : : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x,
t1c#x, t1d#xL, t1h#x], false, false
: : +- SubqueryAlias cte3
: : +- SubqueryAlias cte1
- : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1h#x], false, false, false
+ : : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1h#x], false, false
: +- SubqueryAlias cte4
: +- SubqueryAlias cte1
- : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1h#x], false, false, false
+ : +- CTERelationRef xxxx, true, [t1a#x, t1b#x, t1c#x,
t1d#xL, t1h#x], false, false
+- SubqueryAlias t1
+- View (`t1`, [t1a#x, t1b#x, t1c#x, t1d#xL, t1e#x, t1f#x, t1g#x,
t1h#x, t1i#x])
+- Project [cast(t1a#x as string) AS t1a#x, cast(t1b#x as
smallint) AS t1b#x, cast(t1c#x as int) AS t1c#x, cast(t1d#xL as bigint) AS
t1d#xL, cast(t1e#x as float) AS t1e#x, cast(t1f#x as double) AS t1f#x,
cast(t1g#x as double) AS t1g#x, cast(t1h#x as timestamp) AS t1h#x, cast(t1i#x
as date) AS t1i#x]
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-select.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-select.sql.out
index 9d6a817e0dc2..f64b3736b552 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-select.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-select.sql.out
@@ -623,7 +623,7 @@ Project [c1#x, scalar-subquery#x [c1#x] AS
scalarsubquery(c1)#x]
: : +- OneRowRelation
: +- Project [(a#x + outer(c1#x)) AS (a + outer(t1.c1))#x]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [a#x], false, false, 1, false
+: +- CTERelationRef xxxx, true, [a#x], false, false, 1
+- SubqueryAlias t1
+- View (`t1`, [c1#x, c2#x])
+- Project [cast(c1#x as int) AS c1#x, cast(c2#x as int) AS c2#x]
@@ -647,7 +647,7 @@ Project [c1#x, scalar-subquery#x [c1#x] AS
scalarsubquery(c1)#xL]
: : +- LocalRelation [c1#x, c2#x]
: +- Aggregate [sum(c2#x) AS sum(c2)#xL]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, false
+: +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false
+- SubqueryAlias t1
+- View (`t1`, [c1#x, c2#x])
+- Project [cast(c1#x as int) AS c1#x, cast(c2#x as int) AS c2#x]
@@ -677,10 +677,10 @@ Project [c1#x, scalar-subquery#x [c1#x] AS
scalarsubquery(c1)#xL]
: : +- Project [c1#x, c2#x]
: : +- Filter (outer(c1#x) = c1#x)
: : +- SubqueryAlias t3
-: : +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false,
false
+: : +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false
: +- Aggregate [sum(c2#x) AS sum(c2)#xL]
: +- SubqueryAlias t4
-: +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false, false
+: +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false
+- SubqueryAlias t1
+- View (`t1`, [c1#x, c2#x])
+- Project [cast(c1#x as int) AS c1#x, cast(c2#x as int) AS c2#x]
@@ -713,10 +713,10 @@ Project [c1#x, scalar-subquery#x [c1#x] AS
scalarsubquery(c1)#xL]
: +- Union false, false
: :- Project [c1#x, c2#x]
: : +- SubqueryAlias t
-: : +- CTERelationRef xxxx, true, [c1#x, c2#x],
false, false, false
+: : +- CTERelationRef xxxx, true, [c1#x, c2#x],
false, false
: +- Project [c2#x, c1#x]
: +- SubqueryAlias t
-: +- CTERelationRef xxxx, true, [c1#x, c2#x],
false, false, false
+: +- CTERelationRef xxxx, true, [c1#x, c2#x],
false, false
+- SubqueryAlias t1
+- View (`t1`, [c1#x, c2#x])
+- Project [cast(c1#x as int) AS c1#x, cast(c2#x as int) AS c2#x]
@@ -756,9 +756,9 @@ WithCTE
: : +- Aggregate [sum(c2#x) AS sum(c2)#xL]
: : +- Filter (c1#x = outer(c1#x))
: : +- SubqueryAlias t
- : : +- CTERelationRef xxxx, true, [c1#x, c2#x],
false, false, false
+ : : +- CTERelationRef xxxx, true, [c1#x, c2#x],
false, false
: +- SubqueryAlias v
- : +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false,
false
+ : +- CTERelationRef xxxx, true, [c1#x, c2#x], false, false
+- SubqueryAlias t1
+- View (`t1`, [c1#x, c2#x])
+- Project [cast(c1#x as int) AS c1#x, cast(c2#x as int) AS c2#x]
@@ -779,7 +779,7 @@ WithCTE
: +- Project [a#x]
: +- Filter (a#x = outer(c1#x))
: +- SubqueryAlias t
- : +- CTERelationRef xxxx, true, [a#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [a#x], false, false, 1
+- SubqueryAlias t1
+- View (`t1`, [c1#x, c2#x])
+- Project [cast(c1#x as int) AS c1#x, cast(c2#x as int) AS c2#x]
@@ -1027,7 +1027,7 @@ WithCTE
: +- Aggregate [sum(1) AS sum(1)#xL]
: +- Filter ((a#x = cast(outer(col#x) as int)) OR
(upper(cast(outer(col#x) as string)) = Y))
: +- SubqueryAlias T
- : +- CTERelationRef xxxx, true, [a#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [a#x], false, false, 1
+- SubqueryAlias foo
+- Project [null AS col#x]
+- OneRowRelation
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/thetasketch.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/thetasketch.sql.out
index b46d43a62695..323084223d4b 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/thetasketch.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/thetasketch.sql.out
@@ -998,7 +998,7 @@ WithCTE
: +- SubqueryAlias union_result
: +- Aggregate [theta_union_agg(sketch#x, 16, 0, 0) AS union_sketch#x]
: +- SubqueryAlias sketches
-: +- CTERelationRef xxxx, true, [sketch_type#x, sketch#x], false,
false, 4, false
+: +- CTERelationRef xxxx, true, [sketch_type#x, sketch#x], false,
false, 4
:- CTERelationDef xxxx, false
: +- SubqueryAlias individual_sketches
: +- Aggregate [theta_sketch_agg(col1#x, 12, 0, 0) AS sketch1#x,
theta_sketch_agg(col2#x, 12, 0, 0) AS sketch2#x]
@@ -1007,9 +1007,9 @@ WithCTE
+- Project [theta_sketch_estimate(scalar-subquery#x []) AS union_estimate#xL,
theta_sketch_estimate(theta_union(sketch1#x, sketch2#x, 15)) AS
binary_union_estimate#xL, theta_sketch_estimate(theta_intersection(sketch1#x,
sketch2#x)) AS intersection_estimate#xL,
theta_sketch_estimate(theta_difference(sketch1#x, sketch2#x)) AS
difference_estimate#xL]
: +- Project [union_sketch#x]
: +- SubqueryAlias union_result
- : +- CTERelationRef xxxx, true, [union_sketch#x], false, false, 1,
false
+ : +- CTERelationRef xxxx, true, [union_sketch#x], false, false, 1
+- SubqueryAlias individual_sketches
- +- CTERelationRef xxxx, true, [sketch1#x, sketch2#x], false, false, 1,
false
+ +- CTERelationRef xxxx, true, [sketch1#x, sketch2#x], false, false, 1
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/transform.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/transform.sql.out
index 681b537e8e5f..d5376913f9ae 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/transform.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/transform.sql.out
@@ -888,10 +888,10 @@ WithCTE
+- Join Inner, (b#x = b#x)
:- SubqueryAlias t1
: +- SubqueryAlias temp
- : +- CTERelationRef xxxx, true, [b#x], false, false, false
+ : +- CTERelationRef xxxx, true, [b#x], false, false
+- SubqueryAlias t2
+- SubqueryAlias temp
- +- CTERelationRef xxxx, true, [b#x], false, false, false
+ +- CTERelationRef xxxx, true, [b#x], false, false
-- !query
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/using-join.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/using-join.sql.out
index 51bf54e8a3e0..3b04886afb59 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/using-join.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/using-join.sql.out
@@ -833,6 +833,6 @@ WithCTE
+- Project [coalesce(key#x, key#x) AS key#x, key#x]
+- Join FullOuter, (key#x = key#x)
:- SubqueryAlias t1
- : +- CTERelationRef xxxx, true, [key#x], false, false, 1, false
+ : +- CTERelationRef xxxx, true, [key#x], false, false, 1
+- SubqueryAlias t2
- +- CTERelationRef xxxx, true, [key#x], false, false, 1, false
+ +- CTERelationRef xxxx, true, [key#x], false, false, 1
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]