diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java index abeb7fc9cf..e98ac7316b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -1027,6 +1027,14 @@ public static void doAuthorization(HiveOperation op, BaseSemanticAnalyzer sem, S throws HiveException, AuthorizationException { SessionState ss = SessionState.get(); Hive db = sem.getDb(); + + if(op.equals(HiveOperation.CREATEDATABASE)){ + for (WriteEntity e : sem.getOutputs()) { + if(e.getType() == Entity.Type.DATABASE && db.databaseExists(e.getName().split(":")[1])){ + return; + } + } + } Set additionalInputs = new HashSet(); for (Entity e : sem.getInputs()) {