diff options
author | Joseph Batchik <joseph.batchik@cloudera.com> | 2015-08-03 11:17:38 -0700 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2015-08-03 11:17:38 -0700 |
commit | dfe7bd168d9bcf8c53f993f459ab473d893457b0 (patch) | |
tree | d293acf9e1c35f45ce22b91acdeeb5c9c6f43609 /sql/catalyst | |
parent | b41a32718d615b304efba146bf97be0229779b01 (diff) | |
download | spark-dfe7bd168d9bcf8c53f993f459ab473d893457b0.tar.gz spark-dfe7bd168d9bcf8c53f993f459ab473d893457b0.tar.bz2 spark-dfe7bd168d9bcf8c53f993f459ab473d893457b0.zip |
[SPARK-9511] [SQL] Fixed Table Name Parsing
The issue was that the tokenizer was parsing "1one" into the numeric 1 using the code on line 110. I added another case to accept strings that start with a number and then have a letter somewhere else in it as well.
Author: Joseph Batchik <joseph.batchik@cloudera.com>
Closes #7844 from JDrit/parse_error and squashes the following commits:
b8ca12f [Joseph Batchik] fixed parsing issue by adding another case
Diffstat (limited to 'sql/catalyst')
-rw-r--r-- | sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/AbstractSparkSQLParser.scala | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/AbstractSparkSQLParser.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/AbstractSparkSQLParser.scala index d494ae7b71..5898a5f93f 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/AbstractSparkSQLParser.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/AbstractSparkSQLParser.scala @@ -104,6 +104,8 @@ class SqlLexical extends StdLexical { override lazy val token: Parser[Token] = ( identChar ~ (identChar | digit).* ^^ { case first ~ rest => processIdent((first :: rest).mkString) } + | digit.* ~ identChar ~ (identChar | digit).* ^^ + { case first ~ middle ~ rest => processIdent((first ++ (middle :: rest)).mkString) } | rep1(digit) ~ ('.' ~> digit.*).? ^^ { case i ~ None => NumericLit(i.mkString) case i ~ Some(d) => FloatLit(i.mkString + "." + d.mkString) |