@@ -42,10 +42,15 @@ class PlanParserSuite extends AnalysisTest {
4242 private def intercept (sqlCommand : String , messages : String * ): Unit =
4343 interceptParseException(parsePlan)(sqlCommand, messages : _* )
4444
45- private def cte (plan : LogicalPlan , namedPlans : (String , LogicalPlan )* ): With = {
45+ private def cte (plan : LogicalPlan , namedPlans : (String , ( LogicalPlan , Seq [ String ]) )* ): With = {
4646 val ctes = namedPlans.map {
47- case (name, cte) =>
48- name -> SubqueryAlias (name, cte)
47+ case (name, (cte, columnAliases)) =>
48+ val subquery = if (columnAliases.isEmpty) {
49+ cte
50+ } else {
51+ UnresolvedSubqueryColumnAliases (columnAliases, cte)
52+ }
53+ name -> SubqueryAlias (name, subquery)
4954 }
5055 With (plan, ctes)
5156 }
@@ -81,19 +86,6 @@ class PlanParserSuite extends AnalysisTest {
8186 assertEqual(" select * from a intersect all select * from b" , a.intersect(b, isAll = true ))
8287 }
8388
84- private def cte (plan : LogicalPlan , namedPlans : (String , (LogicalPlan , Seq [String ]))* ): With = {
85- val ctes = namedPlans.map {
86- case (name, (cte, columnAliases)) =>
87- val subquery = if (columnAliases.isEmpty) {
88- cte
89- } else {
90- UnresolvedSubqueryColumnAliases (columnAliases, cte)
91- }
92- name -> SubqueryAlias (name, subquery)
93- }
94- With (plan, ctes)
95- }
96-
9789 test(" common table expressions" ) {
9890 assertEqual(
9991 " with cte1 as (select * from a) select * from cte1" ,
@@ -825,7 +817,8 @@ class PlanParserSuite extends AnalysisTest {
825817 |WITH cte1 AS (SELECT * FROM testcat.db.tab)
826818 |SELECT * FROM cte1
827819 """ .stripMargin,
828- cte(table(" cte1" ).select(star()), " cte1" -> table(" testcat" , " db" , " tab" ).select(star())))
820+ cte(table(" cte1" ).select(star()),
821+ " cte1" -> ((table(" testcat" , " db" , " tab" ).select(star()), Seq .empty))))
829822
830823 assertEqual(
831824 " SELECT /*+ BROADCAST(tab) */ * FROM testcat.db.tab" ,
0 commit comments