aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst/src/test
diff options
context:
space:
mode:
authorEric Liang <ekl@databricks.com>2016-08-18 13:33:55 +0200
committerHerman van Hovell <hvanhovell@databricks.com>2016-08-18 13:33:55 +0200
commit412dba63b511474a6db3c43c8618d803e604bc6b (patch)
tree2247e6674c4a49a934b98b27fd8a2d7ff7d177dc /sql/catalyst/src/test
parentb81421afb04959bb22b53653be0a09c1f1c5845f (diff)
downloadspark-412dba63b511474a6db3c43c8618d803e604bc6b.tar.gz
spark-412dba63b511474a6db3c43c8618d803e604bc6b.tar.bz2
spark-412dba63b511474a6db3c43c8618d803e604bc6b.zip
[SPARK-17069] Expose spark.range() as table-valued function in SQL
## What changes were proposed in this pull request? This adds analyzer rules for resolving table-valued functions, and adds one builtin implementation for range(). The arguments for range() are the same as those of `spark.range()`. ## How was this patch tested? Unit tests. cc hvanhovell Author: Eric Liang <ekl@databricks.com> Closes #14656 from ericl/sc-4309.
Diffstat (limited to 'sql/catalyst/src/test')
-rw-r--r--sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/PlanParserSuite.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/PlanParserSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/PlanParserSuite.scala
index 7af333b34f..cbe4a022e7 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/PlanParserSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/PlanParserSuite.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.parser
import org.apache.spark.sql.Row
import org.apache.spark.sql.catalyst.FunctionIdentifier
-import org.apache.spark.sql.catalyst.analysis.UnresolvedGenerator
+import org.apache.spark.sql.catalyst.analysis.{UnresolvedGenerator, UnresolvedTableValuedFunction}
import org.apache.spark.sql.catalyst.expressions._
import org.apache.spark.sql.catalyst.plans._
import org.apache.spark.sql.catalyst.plans.logical._
@@ -426,6 +426,12 @@ class PlanParserSuite extends PlanTest {
assertEqual("table d.t", table("d", "t"))
}
+ test("table valued function") {
+ assertEqual(
+ "select * from range(2)",
+ UnresolvedTableValuedFunction("range", Literal(2) :: Nil).select(star()))
+ }
+
test("inline table") {
assertEqual("values 1, 2, 3, 4", LocalRelation.fromExternalRows(
Seq('col1.int),