Github user arina-ielchiieva commented on a diff in the pull request:
https://github.com/apache/drill/pull/1033#discussion_r152580600
--- Diff:
exec/java-exec/src/test/java/org/apache/drill/exec/sql/TestCTAS.java ---
@@ -254,6 +255,66 @@ public void createTableWithCustomUmask() throws
Exception {
}
}
+ @Test // DRILL-5952
+ public void
testCreateTableIfNotExistsWhenTableWithSameNameAlreadyExists() throws Exception{
+ final String newTblName =
"createTableIfNotExistsWhenATableWithSameNameAlreadyExists";
+
+ try {
+ String ctasQuery = String.format("CREATE TABLE %s.%s AS SELECT *
from cp.`region.json`", DFS_TMP_SCHEMA, newTblName);
+
+ test(ctasQuery);
+
+ ctasQuery =
+ String.format("CREATE TABLE IF NOT EXISTS %s.%s AS SELECT * FROM
cp.`employee.json`", DFS_TMP_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, DFS_TMP_SCHEMA))
+ .go();
+ } finally {
+ test(String.format("DROP TABLE IF EXISTS %s.%s", DFS_TMP_SCHEMA,
newTblName));
--- End diff --
Please remove `String.format` here and other unit tests, `test()` method
already incorporates it.
---