----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/66979/ -----------------------------------------------------------
Review request for hive and Vihang Karajgaonkar. Bugs: HIVE-19374 https://issues.apache.org/jira/browse/HIVE-19374 Repository: hive-git Description ------- This patch implements the new ALTER SET ... SET OWNER command and calls the HMS api calls to change the owner of the table. The command syntax is: > ALTER TABLE <table> SET OWNER { USER <user_name>|GROUP <group_name>|ROLE > <role_name> } Currently, Hive sets the owner of a table to the user who created that table. With this command, we will be able to change it to another user, group of role (as ALTER DATABASE does). The changes are: - HiveParser.g which adds the new syntax - HiveOperation.java which adds the new ALTERTABLE_OWNER operation - Table.java which gets/sets the owner type - SemanticAnalyzer.java which returns the DDLSemanticAnalyzer if an ALTERTABLE_OWNER operation is detected - DDLSemanticAnalyzer.java which analyzes the ALTERTABLE_OWNER Operation - AlterTableDesc.java uses by the DDL semantic analyzer to change the new owner information - MetaDataFormatUtils which displays the owner type when the DESCRIBE command is called - JsonMetaDataFormatted which is another implementation to display the owner type in Json format Diffs ----- ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 3141a7e981eb35a9fbc7f367f38f8ad420f1f928 ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 879b4224494c3a9adb0713f319e586db4865fb17 ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java cd70eee26c06ee6476964508c54c2bb10b167530 ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java af283e693b5a0fc68e35221b2005fcf1910bdb8e ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java defb8becdb5d767ae71d5c962afac43f0c068c3c ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g a837d67b9615ca1ee359c7aa26f79b6f2504dd99 ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java 820046388adbc65664ae36b08aaba72943ccb6af ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java a767796a949da3c23ebe6d8c78b995c8638ebfef ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java cd4c206a89f1bc1a6195b0f1f39d3c4b462dc027 ql/src/test/queries/clientpositive/alter_table_set_owner.q PRE-CREATION ql/src/test/results/clientpositive/alter_table_set_owner.q.out PRE-CREATION Diff: https://reviews.apache.org/r/66979/diff/1/ Testing ------- Waiting for HiveQA - alter_table_set_owner.q which verifies that the new command works. Describe is not tested because the .q tests files mask the owner information. - the describe command verified manually in my local hive environment Thanks, Sergio Pena