Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1033#discussion_r150512392 --- 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)); --- End diff -- Please use here `drop table if exists`. Since test may fail before creates the table and we don;t here one more exception not related to the problem.
---