Skip to content

Commit 614182f

Browse files
author
haiyang
committed
add test cases for CTE feature
1 parent 32e415b commit 614182f

File tree

2 files changed

+37
-8
lines changed

2 files changed

+37
-8
lines changed

sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,11 @@
1717

1818
package org.apache.spark.sql
1919

20-
import org.apache.spark.sql.test.TestSQLContext
21-
import org.scalatest.BeforeAndAfterAll
22-
23-
import org.apache.spark.sql.functions._
24-
import org.apache.spark.sql.catalyst.errors.TreeNodeException
25-
import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
26-
import org.apache.spark.sql.types._
27-
2820
import org.apache.spark.sql.TestData._
21+
import org.apache.spark.sql.test.TestSQLContext
2922
import org.apache.spark.sql.test.TestSQLContext.{udf => _, _}
23+
import org.apache.spark.sql.types._
24+
import org.scalatest.BeforeAndAfterAll
3025

3126

3227
class SQLQuerySuite extends QueryTest with BeforeAndAfterAll {
@@ -287,6 +282,20 @@ class SQLQuerySuite extends QueryTest with BeforeAndAfterAll {
287282
mapData.collect().take(1).map(Row.fromTuple).toSeq)
288283
}
289284

285+
test("CTE feature") {
286+
checkAnswer(
287+
sql("with q1 as (select * from testData limit 10) select * from q1"),
288+
testData.take(10).toSeq)
289+
290+
checkAnswer(
291+
sql("""
292+
|with q1 as (select * from testData where key= '5'),
293+
|q2 as (select * from testData where key = '4')
294+
|select * from q1 union all select * from q2""".stripMargin),
295+
Row(5, "5") :: Row(4, "4") :: Nil)
296+
297+
}
298+
290299
test("date row") {
291300
checkAnswer(sql(
292301
"""select cast("2015-01-28" as date) from testData limit 1"""),

sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,26 @@ class SQLQuerySuite extends QueryTest {
207207
}
208208
}
209209

210+
test("CTE feature") {
211+
checkAnswer(
212+
sql("with q1 as (select key from src) select * from q1 where key = 5"),
213+
sql("select * from (select key from src) q1 where key = 5").collect().toSeq
214+
)
215+
216+
checkAnswer(
217+
sql("""
218+
|with q1 as (select * from src where key= '5'),
219+
|q2 as (select * from src s2 where key = '4')
220+
|select * from q1 union all select * from q2"""),
221+
sql(
222+
"""
223+
|select * from (select * from src where key = '5') q2
224+
|union all
225+
|select * from (select * from src where key = '4') q1
226+
""".stripMargin).collect().toSeq
227+
)
228+
}
229+
210230
test("command substitution") {
211231
sql("set tbl=src")
212232
checkAnswer(

0 commit comments

Comments
 (0)