Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1033#discussion_r150512516 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/sql/TestCTAS.java --- @@ -313,6 +313,59 @@ public void createTableWithCustomUmask() throws Exception { } } + @Test // DRILL-5951 + public void testCreateTableIfNotExistsWhenTableWithSameNameAlreadyExists() throws Exception{ + final String newTblName = "createTableIfNotExistsWhenATableWithSameNameAlreadyExists"; + + try { + test(String.format("CREATE TABLE %s.%s AS SELECT * from cp.`region.json`", TEMP_SCHEMA, newTblName)); + + final String ctasQuery = + String.format("CREATE TABLE IF NOT EXISTS %s.%s AS SELECT * FROM cp.`employee.json`", TEMP_SCHEMA, newTblName); + + testBuilder() + .sqlQuery(ctasQuery) + .unOrdered() + .baselineColumns("ok", "summary") + .baselineValues(false, String.format("A table or view with given name [%s] already exists in schema [%s]", newTblName, TEMP_SCHEMA)) + .go(); + } finally { + test(String.format("DROP TABLE %s.%s", TEMP_SCHEMA, newTblName)); + } + } + + @Test // DRILL-5951 + public void testCreateTableIfNotExistsWhenViewWithSameNameAlreadyExists() throws Exception{ + final String newTblName = "createTableIfNotExistsWhenAViewWithSameNameAlreadyExists"; + + try { + test(String.format("CREATE VIEW %s.%s AS SELECT * from cp.`region.json`", TEMP_SCHEMA, newTblName)); + + final String ctasQuery = + String.format("CREATE TABLE IF NOT EXISTS %s.%s AS SELECT * FROM cp.`employee.json`", TEMP_SCHEMA, newTblName); + + testBuilder() + .sqlQuery(ctasQuery) + .unOrdered() + .baselineColumns("ok", "summary") + .baselineValues(false, String.format("A table or view with given name [%s] already exists in schema [%s]", newTblName, TEMP_SCHEMA)) + .go(); + } finally { + test(String.format("DROP VIEW %s.%s", TEMP_SCHEMA, newTblName)); + } + } + + @Test // DRILL-5951 + public void testCreateTableIfNotExistsWhenTableWithSameNameDoesNotExist() throws Exception{ + final String newTblName = "createTableIfNotExistsWhenATableWithSameNameDoesNotExist"; + + try { + test(String.format("CREATE TABLE IF NOT EXISTS %s.%s AS SELECT * FROM cp.`employee.json`", TEMP_SCHEMA, newTblName)); --- End diff -- You might want to check baseline here as well but only for `true` to confirm that table was actually created.
---