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

    https://github.com/apache/spark/pull/20133#discussion_r159168832
  
    --- Diff: 
sql/core/src/test/scala/org/apache/spark/sql/execution/command/DDLParserSuite.scala
 ---
    @@ -1153,65 +1191,165 @@ class DDLParserSuite extends PlanTest with 
SharedSQLContext {
         }
       }
     
    +  test("Test CTAS against data source tables") {
    +    val s1 =
    +      """
    +        |CREATE TABLE IF NOT EXISTS mydb.page_view
    +        |USING parquet
    +        |COMMENT 'This is the staging page view table'
    +        |LOCATION '/user/external/page_view'
    +        |TBLPROPERTIES ('p1'='v1', 'p2'='v2')
    +        |AS SELECT * FROM src
    +      """.stripMargin
    +
    +    val s2 =
    +      """
    +        |CREATE TABLE IF NOT EXISTS mydb.page_view
    +        |USING parquet
    +        |LOCATION '/user/external/page_view'
    +        |COMMENT 'This is the staging page view table'
    +        |TBLPROPERTIES ('p1'='v1', 'p2'='v2')
    +        |AS SELECT * FROM src
    +      """.stripMargin
    +
    +    val s3 =
    +      """
    +        |CREATE TABLE IF NOT EXISTS mydb.page_view
    +        |USING parquet
    +        |COMMENT 'This is the staging page view table'
    +        |LOCATION '/user/external/page_view'
    +        |TBLPROPERTIES ('p1'='v1', 'p2'='v2')
    +        |AS SELECT * FROM src
    +      """.stripMargin
    +
    +    checkParsing(s1)
    +    checkParsing(s2)
    +    checkParsing(s3)
    +
    +    def checkParsing(sql: String): Unit = {
    +      val (desc, exists) = extractTableDesc(sql)
    +      assert(exists)
    +      assert(desc.identifier.database == Some("mydb"))
    +      assert(desc.identifier.table == "page_view")
    +      assert(desc.storage.locationUri == Some(new 
URI("/user/external/page_view")))
    +      assert(desc.schema.isEmpty) // will be populated later when the 
table is actually created
    +      assert(desc.comment == Some("This is the staging page view table"))
    +      assert(desc.viewText.isEmpty)
    +      assert(desc.viewDefaultDatabase.isEmpty)
    +      assert(desc.viewQueryColumnNames.isEmpty)
    +      assert(desc.partitionColumnNames.isEmpty)
    +      assert(desc.provider == Some("parquet"))
    +      assert(desc.properties == Map("p1" -> "v1", "p2" -> "v2"))
    +    }
    +  }
    +
       test("Test CTAS #1") {
         val s1 =
    -      """CREATE EXTERNAL TABLE IF NOT EXISTS mydb.page_view
    +      """
    +        |CREATE EXTERNAL TABLE IF NOT EXISTS mydb.page_view
             |COMMENT 'This is the staging page view table'
             |STORED AS RCFILE
             |LOCATION '/user/external/page_view'
             |TBLPROPERTIES ('p1'='v1', 'p2'='v2')
    -        |AS SELECT * FROM src""".stripMargin
    +        |AS SELECT * FROM src
    +       """.stripMargin
    --- End diff --
    
    nit. extra space before `"""`.


---

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

Reply via email to