diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java index c2070f4bad498a..55bfdf49b6f000 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java @@ -158,7 +158,8 @@ public void dropDb(DropDbStmt stmt) throws DdlException { return null; }); } catch (Exception e) { - throw new DdlException("Failed to drop database: " + stmt.getDbName() + " ,error message is: ", e); + throw new DdlException( + "Failed to drop database: " + stmt.getDbName() + ", error message is: " + e.getMessage(), e); } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/CreateIcebergTableTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/CreateIcebergTableTest.java index 1c780d63c9cd8b..439f6f2aa7de21 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/CreateIcebergTableTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/CreateIcebergTableTest.java @@ -21,6 +21,8 @@ import org.apache.doris.analysis.CreateDbStmt; import org.apache.doris.analysis.CreateTableStmt; import org.apache.doris.analysis.DbName; +import org.apache.doris.analysis.DropDbStmt; +import org.apache.doris.common.DdlException; import org.apache.doris.common.UserException; import org.apache.doris.datasource.CatalogFactory; import org.apache.doris.nereids.parser.NereidsParser; @@ -201,4 +203,28 @@ public String getTableName() { String s = "test_tb_" + UUID.randomUUID(); return s.replaceAll("-", ""); } + + @Test + public void testDropDB() { + String dbName = "db_to_delete"; + CreateDbStmt createDBStmt = new CreateDbStmt(false, new DbName("iceberg", dbName), new HashMap<>()); + DropDbStmt dropDbStmt = new DropDbStmt(false, new DbName("iceberg", dbName), false); + DropDbStmt dropDbStmt2 = new DropDbStmt(false, new DbName("iceberg", "not_exists"), false); + try { + // create db success + ops.createDb(createDBStmt); + // drop db success + ops.dropDb(dropDbStmt); + } catch (Throwable t) { + Assert.fail(); + } + + try { + ops.dropDb(dropDbStmt2); + Assert.fail(); + } catch (Throwable t) { + Assert.assertTrue(t instanceof DdlException); + Assert.assertTrue(t.getMessage().contains("database doesn't exist")); + } + } }