aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorLiang-Chi Hsieh <viirya@gmail.com>2017-02-15 18:48:02 +0100
committerReynold Xin <rxin@databricks.com>2017-02-15 18:48:02 +0100
commitacf71c63cdde8dced8d108260cdd35e1cc992248 (patch)
tree6f0a6811cf8f2b9bf653718806137c24e911a852 /sql
parenta8a139820c4a77a0b017b621bec6273cc09c8476 (diff)
downloadspark-acf71c63cdde8dced8d108260cdd35e1cc992248.tar.gz
spark-acf71c63cdde8dced8d108260cdd35e1cc992248.tar.bz2
spark-acf71c63cdde8dced8d108260cdd35e1cc992248.zip
[SPARK-16475][SQL] broadcast hint for SQL queries - disallow space as the delimiter
## What changes were proposed in this pull request? A follow-up to disallow space as the delimiter in broadcast hint. ## How was this patch tested? Jenkins test. Please review http://spark.apache.org/contributing.html before opening a pull request. Author: Liang-Chi Hsieh <viirya@gmail.com> Closes #16941 from viirya/disallow-space-delimiter.
Diffstat (limited to 'sql')
-rw-r--r--sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g41
-rw-r--r--sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/PlanParserSuite.scala10
2 files changed, 8 insertions, 3 deletions
diff --git a/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4 b/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4
index 0ac986d137..d8cd68e2d9 100644
--- a/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4
+++ b/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4
@@ -380,7 +380,6 @@ hint
hintStatement
: hintName=identifier
- | hintName=identifier '(' parameters+=identifier parameters+=identifier ')'
| hintName=identifier '(' parameters+=identifier (',' parameters+=identifier)* ')'
;
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 13a84b465b..2c14252426 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
@@ -505,7 +505,13 @@ class PlanParserSuite extends PlanTest {
val m2 = intercept[ParseException] {
parsePlan("SELECT /*+ MAPJOIN(default.t) */ * from default.t")
}.getMessage
- assert(m2.contains("no viable alternative at input"))
+ assert(m2.contains("mismatched input '.' expecting {')', ','}"))
+
+ // Disallow space as the delimiter.
+ val m3 = intercept[ParseException] {
+ parsePlan("SELECT /*+ INDEX(a b c) */ * from default.t")
+ }.getMessage
+ assert(m3.contains("mismatched input 'b' expecting {')', ','}"))
comparePlans(
parsePlan("SELECT /*+ HINT */ * FROM t"),
@@ -524,7 +530,7 @@ class PlanParserSuite extends PlanTest {
Hint("STREAMTABLE", Seq("a", "b", "c"), table("t").select(star())))
comparePlans(
- parsePlan("SELECT /*+ INDEX(t emp_job_ix) */ * FROM t"),
+ parsePlan("SELECT /*+ INDEX(t, emp_job_ix) */ * FROM t"),
Hint("INDEX", Seq("t", "emp_job_ix"), table("t").select(star())))
comparePlans(