diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/create/CreateDatabaseAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/create/CreateDatabaseAnalyzer.java index ffa0ee72e111..c7b04e9e1c13 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/create/CreateDatabaseAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/create/CreateDatabaseAnalyzer.java @@ -23,6 +23,7 @@ import org.apache.hadoop.hive.metastore.api.DataConnector; import org.apache.hadoop.hive.metastore.api.Database; import org.apache.hadoop.hive.metastore.api.DatabaseType; +import org.apache.hadoop.hive.metastore.api.PrincipalType; import org.apache.hadoop.hive.ql.QueryState; import org.apache.hadoop.hive.ql.exec.TaskFactory; import org.apache.hadoop.hive.ql.ddl.DDLSemanticAnalyzerFactory.DDLType; @@ -33,6 +34,7 @@ import org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer; import org.apache.hadoop.hive.ql.parse.HiveParser; import org.apache.hadoop.hive.ql.parse.SemanticException; +import org.apache.hadoop.hive.ql.session.SessionState; /** * Analyzer for database creation commands. @@ -113,6 +115,8 @@ public void analyzeInternal(ASTNode root) throws SemanticException { database.setType(DatabaseType.REMOTE); database.setRemote_dbname(remoteDbName); } + database.setOwnerName(SessionState.getUserFromAuthenticator()); + database.setOwnerType(PrincipalType.USER); rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), desc))); outputs.add(new WriteEntity(database, WriteEntity.WriteType.DDL_NO_LOCK)); } diff --git a/ql/src/test/results/clientpositive/llap/authorization_privilege_objects.q.out b/ql/src/test/results/clientpositive/llap/authorization_privilege_objects.q.out index 148d92970c27..1313d8b2680b 100644 --- a/ql/src/test/results/clientpositive/llap/authorization_privilege_objects.q.out +++ b/ql/src/test/results/clientpositive/llap/authorization_privilege_objects.q.out @@ -1,5 +1,5 @@ outputHObjs: -HIVE PRIVILEGE OBJECT { type: DATABASE actionType: OTHER dbName: test_auth_obj_db} +HIVE PRIVILEGE OBJECT { type: DATABASE actionType: OTHER dbName: test_auth_obj_db OWNER: testuser OWNERTYPE: USER} PREHOOK: query: CREATE DATABASE test_auth_obj_db PREHOOK: type: CREATEDATABASE PREHOOK: Output: database:test_auth_obj_db