Github user dongjoon-hyun commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14191#discussion_r70748362
  
    --- Diff: 
sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala 
---
    @@ -1755,4 +1755,97 @@ class SQLQuerySuite extends QueryTest with 
SQLTestUtils with TestHiveSingleton {
           }
         }
       }
    +
    +  test("select into(check relation)") {
    +    val originalConf = sessionState.conf.convertCTAS
    +
    +    setConf(SQLConf.CONVERT_CTAS, true)
    +
    +    val defaultDataSource = sessionState.conf.defaultDataSourceName
    +    try {
    +      sql("DROP TABLE IF EXISTS si1")
    +      sql("SELECT key, value INTO si1 FROM src ORDER BY key, value")
    +      val message = intercept[AnalysisException] {
    +        sql("SELECT key, value INTO si1 FROM src ORDER BY key, value")
    +      }.getMessage
    +      assert(message.contains("already exists"))
    +      checkRelation("si1", true, defaultDataSource)
    +      sql("DROP TABLE si1")
    +
    +      // Specifying database name for query can be converted to data 
source write path
    +      // is not allowed right now.
    +      sql("SELECT key, value INTO default.si1 FROM src ORDER BY key, 
value")
    +      checkRelation("si1", true, defaultDataSource)
    +      sql("DROP TABLE si1")
    +
    +    } finally {
    +      setConf(SQLConf.CONVERT_CTAS, originalConf)
    +      sql("DROP TABLE IF EXISTS si1")
    +    }
    +  }
    +
    +  test("select into(check answer)") {
    +    sql("DROP TABLE IF EXISTS si1")
    +    sql("DROP TABLE IF EXISTS si2")
    +    sql("DROP TABLE IF EXISTS si3")
    +
    +    sql("SELECT key, value INTO si1 FROM src")
    +    checkAnswer(
    +      sql("SELECT key, value FROM si1 ORDER BY key"),
    +      sql("SELECT key, value FROM src ORDER BY key").collect().toSeq)
    +
    +    sql("SELECT key k, value INTO si2 FROM src ORDER BY k,value").collect()
    +    checkAnswer(
    +      sql("SELECT k, value FROM si2 ORDER BY k, value"),
    +      sql("SELECT key, value FROM src ORDER BY key, 
value").collect().toSeq)
    +
    +    sql("SELECT 1 AS key,value INTO si3 FROM src LIMIT 1").collect()
    +    intercept[AnalysisException] {
    +      sql("SELECT key, value INTO si3 FROM src ORDER BY key, 
value").collect()
    +    }
    --- End diff --
    
    Checking the real error message is better.
    ```
    val m = intercept[AnalysisException] {
         sql("SELECT key, value INTO si3 FROM src ORDER BY key, 
value").collect()
    }.getMessage
    assert(m.contains("your exception message"))
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to