You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by yc...@apache.org on 2021/08/24 19:35:43 UTC
[hive] branch master updated: HIVE-25408:
AlterTableSetOwnerAnalyzer should send Hive Privilege Objects for
Authorization (#2560) (Sai Hemanth Gantasala, reviewed by Yongzhi Chen)
This is an automated email from the ASF dual-hosted git repository.
ychena pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 620b2b1 HIVE-25408: AlterTableSetOwnerAnalyzer should send Hive Privilege Objects for Authorization (#2560) (Sai Hemanth Gantasala, reviewed by Yongzhi Chen)
620b2b1 is described below
commit 620b2b197269041d7f508bd0e4564ed8e5edfcfd
Author: Sai Hemanth Gantasala <68...@users.noreply.github.com>
AuthorDate: Tue Aug 24 12:35:28 2021 -0700
HIVE-25408: AlterTableSetOwnerAnalyzer should send Hive Privilege Objects for Authorization (#2560) (Sai Hemanth Gantasala, reviewed by Yongzhi Chen)
---
.../hive/ql/ddl/table/misc/owner/AlterTableSetOwnerAnalyzer.java | 3 +++
ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java | 1 +
ql/src/test/results/clientpositive/llap/table_set_owner.q.out | 6 ++++++
3 files changed, 10 insertions(+)
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/owner/AlterTableSetOwnerAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/owner/AlterTableSetOwnerAnalyzer.java
index d2b18fd..420cfab 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/owner/AlterTableSetOwnerAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/owner/AlterTableSetOwnerAnalyzer.java
@@ -27,6 +27,8 @@ import org.apache.hadoop.hive.ql.ddl.DDLSemanticAnalyzerFactory.DDLType;
import org.apache.hadoop.hive.ql.ddl.privilege.PrincipalDesc;
import org.apache.hadoop.hive.ql.ddl.table.AbstractAlterTableAnalyzer;
import org.apache.hadoop.hive.ql.exec.TaskFactory;
+import org.apache.hadoop.hive.ql.io.AcidUtils;
+import org.apache.hadoop.hive.ql.metadata.Table;
import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.HiveParser;
import org.apache.hadoop.hive.ql.parse.SemanticException;
@@ -55,6 +57,7 @@ public class AlterTableSetOwnerAnalyzer extends AbstractAlterTableAnalyzer {
}
AlterTableSetOwnerDesc desc = new AlterTableSetOwnerDesc(tableName, ownerPrincipal);
+ addInputsOutputsAlterTable(tableName, null, desc, desc.getType(), false);
rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), desc), conf));
setAcidDdlDesc(getTable(tableName), desc);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java
index f5a8d63..e383c34 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java
@@ -226,6 +226,7 @@ public class WriteEntity extends Entity implements Serializable {
case TRUNCATE:
case MERGEFILES:
case DROP_CONSTRAINT:
+ case OWNER:
return WriteType.DDL_EXCLUSIVE;
case ADDPARTITION:
diff --git a/ql/src/test/results/clientpositive/llap/table_set_owner.q.out b/ql/src/test/results/clientpositive/llap/table_set_owner.q.out
index 023ccee..7d7bbd8 100644
--- a/ql/src/test/results/clientpositive/llap/table_set_owner.q.out
+++ b/ql/src/test/results/clientpositive/llap/table_set_owner.q.out
@@ -8,8 +8,12 @@ POSTHOOK: Output: database:default
POSTHOOK: Output: default@t
PREHOOK: query: EXPLAIN ALTER TABLE t SET OWNER USER user1
PREHOOK: type: ALTERTABLE_OWNER
+PREHOOK: Input: default@t
+PREHOOK: Output: default@t
POSTHOOK: query: EXPLAIN ALTER TABLE t SET OWNER USER user1
POSTHOOK: type: ALTERTABLE_OWNER
+POSTHOOK: Input: default@t
+POSTHOOK: Output: default@t
STAGE DEPENDENCIES:
Stage-0 is a root stage
@@ -23,6 +27,8 @@ STAGE PLANS:
PREHOOK: query: ALTER TABLE t SET OWNER USER user1
PREHOOK: type: ALTERTABLE_OWNER
+PREHOOK: Input: default@t
+PREHOOK: Output: default@t
POSTHOOK: query: ALTER TABLE t SET OWNER USER user1
POSTHOOK: type: ALTERTABLE_OWNER
POSTHOOK: Input: default@t