Yin Huai created SPARK-2339:
-------------------------------

             Summary: SQL parser in sql-core is case sensitive, but a table 
alias is converted to lower case when we create Subquery
                 Key: SPARK-2339
                 URL: https://issues.apache.org/jira/browse/SPARK-2339
             Project: Spark
          Issue Type: Bug
            Reporter: Yin Huai


Reported by 
http://apache-spark-user-list.1001560.n3.nabble.com/Spark-SQL-Join-throws-exception-td8599.html

After we get the table from the catalog, because the table has an alias, we 
will temporarily insert a Subquery. Then, we convert the table alias to lower 
case no matter if the parser is case sensitive or not.

To see the issue ...
{code}
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.createSchemaRDD

case class Person(name: String, age: Int)

val people = 
sc.textFile("examples/src/main/resources/people.txt").map(_.split(",")).map(p 
=> Person(p(0), p(1).trim.toInt))
people.registerAsTable("people")

sqlContext.sql("select PEOPLE.name from people PEOPLE")
{code}

The plan is ...
{code}
== Query Plan ==
Project ['PEOPLE.name]
 ExistingRdd [name#0,age#1], MapPartitionsRDD[4] at mapPartitions at 
basicOperators.scala:176
{code}

You can find that "PEOPLE.name" is not resolved.




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to