Skip to content

Commit ce22d80

Browse files
Fix parsing issues.
1 parent cb722c1 commit ce22d80

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/SqlParser.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,10 @@ class SqlParser extends StandardTokenParsers with PackratParsers {
179179
)
180180

181181
protected lazy val setCommand: Parser[LogicalPlan] = {
182+
// Comma needed for values such as "table1,table2".
182183
val keyVal = ident | numericLit | stringLit
183-
(SET ~> keyVal <~ "=") ~ keyVal <~ opt(";") ^^ {
184-
case key ~ value => SetCommand(key, value)
184+
(SET ~> keyVal <~ "=") ~ rep1sep(keyVal, ",") <~ opt(";") ^^ {
185+
case key ~ value => SetCommand(key, value.mkString(","))
185186
}
186187
}
187188

sql/core/src/main/scala/org/apache/spark/sql/execution/SparkStrategies.scala

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,6 @@ private[sql] abstract class SparkStrategies extends QueryPlanner[SparkPlan] {
3030

3131
object HashJoin extends Strategy with PredicateHelper {
3232

33-
// var broadCastTables =
34-
// sqlConf.get("spark.sql.hints.broadcastTables", "").split(",")
35-
3633
def apply(plan: LogicalPlan): Seq[SparkPlan] = plan match {
3734
// Find inner joins where at least some predicates can be evaluated by matching hash keys
3835
// using the HashFilteredJoin pattern.

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ class SQLConfSuite extends QueryTest {
5858
assert(conf.get("mapred.reduce.tasks", "0") == "20")
5959
sql("set mapred.reduce.tasks = 40")
6060
assert(conf.get("mapred.reduce.tasks", "0") == "40")
61+
62+
63+
val key = "spark.sql.key"
64+
val vs = "val0,val_1,val2.3,my_table"
65+
sql(s"set $key=$vs")
66+
assert(conf.get(key, "0") == vs)
67+
68+
conf.clear()
6169
}
6270

6371
}

0 commit comments

Comments
 (0)