You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ng...@apache.org on 2022/07/14 20:02:34 UTC

[hive] branch master updated: HIVE-26055: Added the right HivePrivilegesObjects for Alter table ren… (#3247)

This is an automated email from the ASF dual-hosted git repository.

ngangam 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 2ce5bf72479 HIVE-26055: Added the right HivePrivilegesObjects for Alter table ren… (#3247)
2ce5bf72479 is described below

commit 2ce5bf724795119cbcdcc135d0667430ad7ef741
Author: Sai Hemanth Gantasala <68...@users.noreply.github.com>
AuthorDate: Fri Jul 15 01:32:27 2022 +0530

    HIVE-26055: Added the right HivePrivilegesObjects for Alter table ren… (#3247)
    
    * HIVE-26055: Added the right HivePrivilegesObjects for Alter table rename command
    
    * Addressed review comments
    
    * Addressed test failures again
    
    * Addressed a test failure
    
    * Addressed test failure for lastest change
    
    * added more review comments
    
    * addressed review comments and fixed test failures
    
    * addressed test failures
    
    * addressed more review comments
    
    * addressed one more comment
    
    * addressed one more review comment
    
    * Address one review comment on qfile related test
---
 .../VerifyOutputTableLocationSchemeIsFileHook.java |  2 +-
 .../rename/AbstractAlterTableRenameAnalyzer.java   | 10 +++++++++
 .../plugin/sqlstd/GrantPrivAuthUtils.java          |  2 +-
 .../plugin/sqlstd/SQLAuthorizationUtils.java       | 17 ++++++++++++---
 .../sqlstd/SQLStdHiveAuthorizationValidator.java   |  8 ++++----
 .../hadoop/hive/ql/lockmgr/TestDbTxnManager2.java  |  7 ++++---
 .../clientnegative/alter_table_wrong_db.q.out      |  6 +-----
 .../results/clientnegative/recursive_view.q.out    |  3 +++
 .../results/clientnegative/temp_table_rename.q.out |  2 ++
 .../translated_external_rename.q.out               |  3 +++
 .../clientpositive/archive_excludeHadoop20.q.out   |  3 +++
 .../encrypted/encryption_move_tbl.q.out            | 11 ++++++++++
 .../results/clientpositive/llap/acid_stats4.q.out  |  3 +++
 .../test/results/clientpositive/llap/alter3.q.out  | 12 +++++++++++
 .../llap/alter_change_db_location.q.out            |  3 +++
 .../clientpositive/llap/alter_rename_table.q.out   | 20 ++++++++++++++++++
 .../llap/alter_table_column_stats.q.out            | 24 ++++++++++++++++++++++
 .../llap/alter_table_stats_status.q.out            |  3 +++
 .../clientpositive/llap/alter_view_rename.q.out    |  3 +++
 .../clientpositive/llap/authorization_8.q.out      |  3 +++
 .../llap/authorization_owner_actions.q.out         |  3 +++
 .../clientpositive/llap/dbtxnmgr_ddl1.q.out        |  3 +++
 .../test/results/clientpositive/llap/input3.q.out  |  7 +++++++
 .../results/clientpositive/llap/misc_json.q.out    |  3 +++
 .../llap/rename_table_location.q.out               |  2 ++
 .../llap/rename_table_update_column_stats.q.out    |  6 ++++++
 .../llap/temp_table_precedence.q.out               |  3 +++
 .../llap/translated_external_rename.q.out          |  3 +++
 .../llap/translated_external_rename2.q.out         |  3 +++
 .../llap/translated_external_rename3.q.out         |  3 +++
 .../llap/translated_external_rename4.q.out         |  3 +++
 .../clientpositive/tez/explainanalyze_3.q.out      |  8 ++++++++
 .../results/clientpositive/tez/explainuser_3.q.out |  4 ++++
 33 files changed, 179 insertions(+), 17 deletions(-)

diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/hooks/VerifyOutputTableLocationSchemeIsFileHook.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/hooks/VerifyOutputTableLocationSchemeIsFileHook.java
index 9df90647230..bab96c0812c 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/hooks/VerifyOutputTableLocationSchemeIsFileHook.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/hooks/VerifyOutputTableLocationSchemeIsFileHook.java
@@ -25,7 +25,7 @@ public class VerifyOutputTableLocationSchemeIsFileHook implements ExecuteWithHoo
   @Override
   public void run(HookContext hookContext) {
     for (WriteEntity output : hookContext.getOutputs()) {
-      if (output.getType() == WriteEntity.Type.TABLE) {
+      if (output.getType() == WriteEntity.Type.TABLE && hookContext.getInputs().iterator().next().getT().equals(output.getT())) {
         String scheme = output.getTable().getDataLocation().toUri().getScheme();
         Assert.assertTrue(output.getTable().getTableName() + " has a location which has a " +
               "scheme other than file: " + scheme, scheme.equals("file"));
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/rename/AbstractAlterTableRenameAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/rename/AbstractAlterTableRenameAnalyzer.java
index eb2280f3e55..c5b6d5d5a47 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/rename/AbstractAlterTableRenameAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/rename/AbstractAlterTableRenameAnalyzer.java
@@ -20,11 +20,18 @@ package org.apache.hadoop.hive.ql.ddl.table.misc.rename;
 
 import java.util.Map;
 
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.common.TableName;
+import org.apache.hadoop.hive.metastore.Warehouse;
+import org.apache.hadoop.hive.metastore.api.Database;
+import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.ql.QueryState;
+import org.apache.hadoop.hive.ql.ddl.DDLUtils;
 import org.apache.hadoop.hive.ql.ddl.DDLWork;
 import org.apache.hadoop.hive.ql.ddl.table.AbstractAlterTableAnalyzer;
 import org.apache.hadoop.hive.ql.exec.TaskFactory;
+import org.apache.hadoop.hive.ql.hooks.ReadEntity;
+import org.apache.hadoop.hive.ql.hooks.WriteEntity;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.metadata.Table;
 import org.apache.hadoop.hive.ql.parse.ASTNode;
@@ -49,6 +56,9 @@ public abstract class AbstractAlterTableRenameAnalyzer extends AbstractAlterTabl
       setAcidDdlDesc(desc);
     }
     addInputsOutputsAlterTable(tableName, null, desc, desc.getType(), false);
+    String newDatabaseName = target.getDb() != null ? target.getDb() : table.getDbName(); // extract new database name from new table name, if not specified, then src dbname is used
+    DDLUtils.addDbAndTableToOutputs(getDatabase(newDatabaseName), target,
+            table.getTableType(), table.isTemporary(), table.getParameters(), outputs);
     rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(), desc)));
   }
 
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/GrantPrivAuthUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/GrantPrivAuthUtils.java
index f77f60427ec..8662c2dc5e9 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/GrantPrivAuthUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/GrantPrivAuthUtils.java
@@ -62,7 +62,7 @@ public class GrantPrivAuthUtils {
 
     // get privileges for this user and its roles on this object
     RequiredPrivileges availPrivs = SQLAuthorizationUtils.getPrivilegesFromMetaStore(
-        metastoreClient, userName, hivePrivObject, curRoles, isAdmin);
+        metastoreClient, userName, hivePrivObject, curRoles, isAdmin, false);
 
     // check if required privileges is subset of available privileges
     List<String> deniedMessages = new ArrayList<String>();
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLAuthorizationUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLAuthorizationUtils.java
index d8031d037fa..2ad3c0c944f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLAuthorizationUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLAuthorizationUtils.java
@@ -47,6 +47,7 @@ import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
 import org.apache.hadoop.hive.metastore.api.HiveObjectRef;
 import org.apache.hadoop.hive.metastore.api.HiveObjectType;
 import org.apache.hadoop.hive.metastore.api.MetaException;
+import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
 import org.apache.hadoop.hive.metastore.api.PrincipalPrivilegeSet;
 import org.apache.hadoop.hive.metastore.api.PrincipalType;
 import org.apache.hadoop.hive.metastore.api.PrivilegeBag;
@@ -181,11 +182,13 @@ public class SQLAuthorizationUtils {
    *          current active roles for user
    * @param isAdmin
    *          if user can run as admin user
+   * @param ignoreUnknown
+   *          boolean flag to ignore unknown table
    * @return
    * @throws HiveAuthzPluginException
    */
   static RequiredPrivileges getPrivilegesFromMetaStore(IMetaStoreClient metastoreClient,
-      String userName, HivePrivilegeObject hivePrivObject, List<String> curRoles, boolean isAdmin)
+      String userName, HivePrivilegeObject hivePrivObject, List<String> curRoles, boolean isAdmin, boolean ignoreUnknown)
           throws HiveAuthzPluginException {
 
     // get privileges for this user and its role on this object
@@ -211,8 +214,16 @@ public class SQLAuthorizationUtils {
     RequiredPrivileges privs = getRequiredPrivsFromThrift(thrifPrivs);
 
     // add owner privilege if user is owner of the object
-    if (isOwner(metastoreClient, userName, curRoles, hivePrivObject)) {
-      privs.addPrivilege(SQLPrivTypeGrant.OWNER_PRIV);
+    try {
+      if (isOwner(metastoreClient, userName, curRoles, hivePrivObject)) {
+        privs.addPrivilege(SQLPrivTypeGrant.OWNER_PRIV);
+      }
+    } catch (HiveAuthzPluginException ex) {
+      if (ex.getCause() instanceof NoSuchObjectException && ignoreUnknown) {
+        privs.addPrivilege(SQLPrivTypeGrant.OWNER_PRIV);
+      } else {
+        throw ex;
+      }
     }
     if (isAdmin) {
       privs.addPrivilege(SQLPrivTypeGrant.ADMIN_PRIV);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizationValidator.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizationValidator.java
index 9b5f48392e0..565deb6ade6 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizationValidator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAuthorizationValidator.java
@@ -80,15 +80,15 @@ public class SQLStdHiveAuthorizationValidator implements HiveAuthorizationValida
 
     // check privileges on input and output objects
     List<String> deniedMessages = new ArrayList<String>();
-    checkPrivileges(hiveOpType, inputHObjs, metastoreClient, userName, IOType.INPUT, deniedMessages);
-    checkPrivileges(hiveOpType, outputHObjs, metastoreClient, userName, IOType.OUTPUT, deniedMessages);
+    checkPrivileges(hiveOpType, inputHObjs, metastoreClient, userName, IOType.INPUT, deniedMessages, false);
+    checkPrivileges(hiveOpType, outputHObjs, metastoreClient, userName, IOType.OUTPUT, deniedMessages, hiveOpType == HiveOperationType.ALTERTABLE_RENAME);
 
     SQLAuthorizationUtils.assertNoDeniedPermissions(new HivePrincipal(userName,
         HivePrincipalType.USER), hiveOpType, deniedMessages);
   }
 
   private void checkPrivileges(HiveOperationType hiveOpType, List<HivePrivilegeObject> hiveObjects,
-      IMetaStoreClient metastoreClient, String userName, IOType ioType, List<String> deniedMessages)
+      IMetaStoreClient metastoreClient, String userName, IOType ioType, List<String> deniedMessages, boolean ignoreUnknown)
       throws HiveAuthzPluginException, HiveAccessControlException {
 
     if (hiveObjects == null) {
@@ -143,7 +143,7 @@ public class SQLStdHiveAuthorizationValidator implements HiveAuthorizationValida
         continue;
       default:
         availPrivs = SQLAuthorizationUtils.getPrivilegesFromMetaStore(metastoreClient, userName,
-            hiveObj, privController.getCurrentRoleNames(), privController.isUserAdmin());
+            hiveObj, privController.getCurrentRoleNames(), privController.isUserAdmin(), ignoreUnknown);
       }
 
       // Verify that there are no missing privileges
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager2.java b/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager2.java
index c320a4c25e1..ff84c44de2d 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager2.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager2.java
@@ -3783,10 +3783,11 @@ public class TestDbTxnManager2 extends DbTxnManagerEndToEndTestBase{
     }
     driver2.lockAndRespond();
     locks = getLocks();
-    Assert.assertEquals("Unexpected lock count", 1, locks.size());
-
+    Assert.assertEquals("Unexpected lock count", 2, locks.size());
+    checkLock(LockType.SHARED_READ,
+            LockState.ACQUIRED, "default", null, null, locks);//destination database
     checkLock(blocking ? LockType.EXCLUSIVE : LockType.EXCL_WRITE,
-      LockState.ACQUIRED, "default", "tab_acid", null, locks);
+      LockState.ACQUIRED, "default", "tab_acid", null, locks);//source table
 
     Mockito.doNothing().when(driver2).lockAndRespond();
     driver2.run();
diff --git a/ql/src/test/results/clientnegative/alter_table_wrong_db.q.out b/ql/src/test/results/clientnegative/alter_table_wrong_db.q.out
index cf35c4289c2..09df26dc9ae 100644
--- a/ql/src/test/results/clientnegative/alter_table_wrong_db.q.out
+++ b/ql/src/test/results/clientnegative/alter_table_wrong_db.q.out
@@ -18,8 +18,4 @@ POSTHOOK: query: create table rename1(a int)
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: bad_rename1@rename1
 POSTHOOK: Output: database:bad_rename1
-PREHOOK: query: alter table bad_rename1.rename1 rename to bad_db_notexists.rename1
-PREHOOK: type: ALTERTABLE_RENAME
-PREHOOK: Input: bad_rename1@rename1
-PREHOOK: Output: bad_rename1@rename1
-FAILED: Execution Error, return code 40013 from org.apache.hadoop.hive.ql.ddl.DDLTask. Unable to alter table. Unable to change partition or table. Object database hive.bad_db_notexists does not exist. Check metastore logs for detailed stack.
+FAILED: SemanticException [Error 10072]: Database does not exist: bad_db_notexists
diff --git a/ql/src/test/results/clientnegative/recursive_view.q.out b/ql/src/test/results/clientnegative/recursive_view.q.out
index 75c37a51300..1b524acf0b1 100644
--- a/ql/src/test/results/clientnegative/recursive_view.q.out
+++ b/ql/src/test/results/clientnegative/recursive_view.q.out
@@ -93,10 +93,13 @@ POSTHOOK: Output: default@r0
 PREHOOK: query: alter view r3 rename to r0
 PREHOOK: type: ALTERVIEW_RENAME
 PREHOOK: Input: default@r3
+PREHOOK: Output: database:default
+PREHOOK: Output: default@r0
 PREHOOK: Output: default@r3
 POSTHOOK: query: alter view r3 rename to r0
 POSTHOOK: type: ALTERVIEW_RENAME
 POSTHOOK: Input: default@r3
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@r0
 POSTHOOK: Output: default@r3
 FAILED: SemanticException Recursive view default.r0 detected (cycle: default.r0 -> default.r2 -> default.r1 -> default.r0).
diff --git a/ql/src/test/results/clientnegative/temp_table_rename.q.out b/ql/src/test/results/clientnegative/temp_table_rename.q.out
index 819184921a0..25c7116569e 100644
--- a/ql/src/test/results/clientnegative/temp_table_rename.q.out
+++ b/ql/src/test/results/clientnegative/temp_table_rename.q.out
@@ -17,5 +17,7 @@ POSTHOOK: Output: default@tmp2
 PREHOOK: query: alter table tmp2 rename to tmp1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@tmp2
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp1
 PREHOOK: Output: default@tmp2
 FAILED: Execution Error, return code 40013 from org.apache.hadoop.hive.ql.ddl.DDLTask. Unable to alter table. Cannot rename temporary table to tmp1 - temporary table already exists with the same name
diff --git a/ql/src/test/results/clientnegative/translated_external_rename.q.out b/ql/src/test/results/clientnegative/translated_external_rename.q.out
index 149ea71f3f4..5728b2f119f 100644
--- a/ql/src/test/results/clientnegative/translated_external_rename.q.out
+++ b/ql/src/test/results/clientnegative/translated_external_rename.q.out
@@ -18,10 +18,13 @@ POSTHOOK: Lineage: t.a SCRIPT []
 PREHOOK: query: alter table t rename to t2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@t
+PREHOOK: Output: database:default
 PREHOOK: Output: default@t
+PREHOOK: Output: default@t2
 POSTHOOK: query: alter table t rename to t2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@t
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t
 POSTHOOK: Output: default@t2
 PREHOOK: query: create table t (a integer)
diff --git a/ql/src/test/results/clientpositive/archive_excludeHadoop20.q.out b/ql/src/test/results/clientpositive/archive_excludeHadoop20.q.out
index 140da7bf35d..c8ba6d6a414 100644
--- a/ql/src/test/results/clientpositive/archive_excludeHadoop20.q.out
+++ b/ql/src/test/results/clientpositive/archive_excludeHadoop20.q.out
@@ -432,10 +432,13 @@ POSTHOOK: Input: default@old_name@ds=1
 PREHOOK: query: ALTER TABLE old_name RENAME TO new_name
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@old_name
+PREHOOK: Output: database:default
+PREHOOK: Output: default@new_name
 PREHOOK: Output: default@old_name
 POSTHOOK: query: ALTER TABLE old_name RENAME TO new_name
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@old_name
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@new_name
 POSTHOOK: Output: default@old_name
 PREHOOK: query: SELECT SUM(hash(col)) FROM (SELECT transform(*) using 'tr "\t" "_"' AS col
diff --git a/ql/src/test/results/clientpositive/encrypted/encryption_move_tbl.q.out b/ql/src/test/results/clientpositive/encrypted/encryption_move_tbl.q.out
index 8e651f1b54a..349a834ef4c 100644
--- a/ql/src/test/results/clientpositive/encrypted/encryption_move_tbl.q.out
+++ b/ql/src/test/results/clientpositive/encrypted/encryption_move_tbl.q.out
@@ -96,10 +96,13 @@ COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true
 PREHOOK: query: ALTER TABLE default.encrypted_table_n1 RENAME TO encrypted_db.encrypted_table_2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@encrypted_table_n1
+PREHOOK: Output: database:encrypted_db
 PREHOOK: Output: default@encrypted_table_n1
+PREHOOK: Output: encrypted_db@encrypted_table_2
 POSTHOOK: query: ALTER TABLE default.encrypted_table_n1 RENAME TO encrypted_db.encrypted_table_2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@encrypted_table_n1
+POSTHOOK: Output: database:encrypted_db
 POSTHOOK: Output: default@encrypted_table_n1
 POSTHOOK: Output: encrypted_db@encrypted_table_2
 PREHOOK: query: SHOW TABLES
@@ -134,10 +137,13 @@ Encryption zone created: '/build/ql/test/data/specified_table_location' using ke
 PREHOOK: query: ALTER TABLE encrypted_table_outloc RENAME TO renamed_encrypted_table_outloc
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@encrypted_table_outloc
+PREHOOK: Output: database:default
 PREHOOK: Output: default@encrypted_table_outloc
+PREHOOK: Output: default@renamed_encrypted_table_outloc
 POSTHOOK: query: ALTER TABLE encrypted_table_outloc RENAME TO renamed_encrypted_table_outloc
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@encrypted_table_outloc
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@encrypted_table_outloc
 POSTHOOK: Output: default@renamed_encrypted_table_outloc
 PREHOOK: query: SHOW TABLES
@@ -185,10 +191,13 @@ POSTHOOK: Lineage: encrypted_table_n1.value SIMPLE [(src)src.FieldSchema(name:va
 PREHOOK: query: ALTER TABLE encrypted_table_n1 RENAME TO renamed_encrypted_table_n1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: encrypted_db_outloc@encrypted_table_n1
+PREHOOK: Output: database:encrypted_db_outloc
 PREHOOK: Output: encrypted_db_outloc@encrypted_table_n1
+PREHOOK: Output: encrypted_db_outloc@renamed_encrypted_table_n1
 POSTHOOK: query: ALTER TABLE encrypted_table_n1 RENAME TO renamed_encrypted_table_n1
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: encrypted_db_outloc@encrypted_table_n1
+POSTHOOK: Output: database:encrypted_db_outloc
 POSTHOOK: Output: encrypted_db_outloc@encrypted_table_n1
 POSTHOOK: Output: encrypted_db_outloc@renamed_encrypted_table_n1
 PREHOOK: query: SHOW TABLES
@@ -201,6 +210,8 @@ renamed_encrypted_table_n1
 PREHOOK: query: ALTER TABLE encrypted_db_outloc.renamed_encrypted_table_n1 RENAME TO default.plain_table_2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: encrypted_db_outloc@renamed_encrypted_table_n1
+PREHOOK: Output: database:default
+PREHOOK: Output: default@plain_table_2
 PREHOOK: Output: encrypted_db_outloc@renamed_encrypted_table_n1
 FAILED: Execution Error, return code 40013 from org.apache.hadoop.hive.ql.ddl.DDLTask. Unable to alter table. Alter Table operation for encrypted_db_outloc.renamed_encrypted_table_n1 failed to move data due to: 'Got exception: org.apache.hadoop.ipc.RemoteException /build/ql/test/data/specified_db_location/renamed_encrypted_table_n1 can't be moved from an encryption zone.' See hive log file for details.
 PREHOOK: query: SHOW TABLES
diff --git a/ql/src/test/results/clientpositive/llap/acid_stats4.q.out b/ql/src/test/results/clientpositive/llap/acid_stats4.q.out
index 8a4299edb77..a9152a8763a 100644
--- a/ql/src/test/results/clientpositive/llap/acid_stats4.q.out
+++ b/ql/src/test/results/clientpositive/llap/acid_stats4.q.out
@@ -155,10 +155,13 @@ STAGE PLANS:
 PREHOOK: query: alter table stats_nonpart rename to stats_nonpart2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@stats_nonpart
+PREHOOK: Output: database:default
 PREHOOK: Output: default@stats_nonpart
+PREHOOK: Output: default@stats_nonpart2
 POSTHOOK: query: alter table stats_nonpart rename to stats_nonpart2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@stats_nonpart
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@stats_nonpart
 POSTHOOK: Output: default@stats_nonpart2
 PREHOOK: query: explain select count(key2) from stats_nonpart2
diff --git a/ql/src/test/results/clientpositive/llap/alter3.q.out b/ql/src/test/results/clientpositive/llap/alter3.q.out
index b77be8a0855..eb94446e31b 100644
--- a/ql/src/test/results/clientpositive/llap/alter3.q.out
+++ b/ql/src/test/results/clientpositive/llap/alter3.q.out
@@ -58,10 +58,13 @@ POSTHOOK: Input: default@alter3@pcol1=test_part%3A/pcol2=test_part%3A
 PREHOOK: query: alter table alter3 rename to alter3_renamed
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@alter3
+PREHOOK: Output: database:default
 PREHOOK: Output: default@alter3
+PREHOOK: Output: default@alter3_renamed
 POSTHOOK: query: alter table alter3 rename to alter3_renamed
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@alter3
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@alter3
 POSTHOOK: Output: default@alter3_renamed
 PREHOOK: query: describe extended alter3_renamed
@@ -128,10 +131,13 @@ POSTHOOK: Lineage: alter3_like PARTITION(pcol1=test_part:,pcol2=test_part:).col1
 PREHOOK: query: alter table alter3_like rename to alter3_like_renamed
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@alter3_like
+PREHOOK: Output: database:default
 PREHOOK: Output: default@alter3_like
+PREHOOK: Output: default@alter3_like_renamed
 POSTHOOK: query: alter table alter3_like rename to alter3_like_renamed
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@alter3_like
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@alter3_like
 POSTHOOK: Output: default@alter3_like_renamed
 PREHOOK: query: describe extended alter3_like_renamed
@@ -259,11 +265,14 @@ PREHOOK: query: ALTER TABLE alter3 RENAME TO alter3_renamed
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: alter3_db@alter3
 PREHOOK: Output: alter3_db@alter3
+PREHOOK: Output: alter3_db@alter3_renamed
+PREHOOK: Output: database:alter3_db
 POSTHOOK: query: ALTER TABLE alter3 RENAME TO alter3_renamed
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: alter3_db@alter3
 POSTHOOK: Output: alter3_db@alter3
 POSTHOOK: Output: alter3_db@alter3_renamed
+POSTHOOK: Output: database:alter3_db
 PREHOOK: query: DESCRIBE EXTENDED alter3_renamed
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: alter3_db@alter3_renamed
@@ -329,11 +338,14 @@ PREHOOK: query: ALTER TABLE alter3_like RENAME TO alter3_like_renamed
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: alter3_db@alter3_like
 PREHOOK: Output: alter3_db@alter3_like
+PREHOOK: Output: alter3_db@alter3_like_renamed
+PREHOOK: Output: database:alter3_db
 POSTHOOK: query: ALTER TABLE alter3_like RENAME TO alter3_like_renamed
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: alter3_db@alter3_like
 POSTHOOK: Output: alter3_db@alter3_like
 POSTHOOK: Output: alter3_db@alter3_like_renamed
+POSTHOOK: Output: database:alter3_db
 PREHOOK: query: DESCRIBE EXTENDED alter3_like_renamed
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: alter3_db@alter3_like_renamed
diff --git a/ql/src/test/results/clientpositive/llap/alter_change_db_location.q.out b/ql/src/test/results/clientpositive/llap/alter_change_db_location.q.out
index d47b388d0dd..f1854782a32 100644
--- a/ql/src/test/results/clientpositive/llap/alter_change_db_location.q.out
+++ b/ql/src/test/results/clientpositive/llap/alter_change_db_location.q.out
@@ -29,9 +29,12 @@ POSTHOOK: Output: newDB@tab_n13
 PREHOOK: query: alter table tab_n13 rename to newName
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: newdb@tab_n13
+PREHOOK: Output: database:newdb
+PREHOOK: Output: newDB@newName
 PREHOOK: Output: newdb@tab_n13
 POSTHOOK: query: alter table tab_n13 rename to newName
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: newdb@tab_n13
+POSTHOOK: Output: database:newdb
 POSTHOOK: Output: newDB@newName
 POSTHOOK: Output: newdb@tab_n13
diff --git a/ql/src/test/results/clientpositive/llap/alter_rename_table.q.out b/ql/src/test/results/clientpositive/llap/alter_rename_table.q.out
index f5171324309..150e49fca0f 100644
--- a/ql/src/test/results/clientpositive/llap/alter_rename_table.q.out
+++ b/ql/src/test/results/clientpositive/llap/alter_rename_table.q.out
@@ -118,12 +118,16 @@ PREHOOK: query: explain
 ALTER TABLE source.src RENAME TO target.src
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: source@src
+PREHOOK: Output: database:target
 PREHOOK: Output: source@src
+PREHOOK: Output: target@src
 POSTHOOK: query: explain
 ALTER TABLE source.src RENAME TO target.src
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: source@src
+POSTHOOK: Output: database:target
 POSTHOOK: Output: source@src
+POSTHOOK: Output: target@src
 STAGE DEPENDENCIES:
   Stage-0 is a root stage
 
@@ -136,10 +140,13 @@ STAGE PLANS:
 PREHOOK: query: ALTER TABLE source.src RENAME TO target.src
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: source@src
+PREHOOK: Output: database:target
 PREHOOK: Output: source@src
+PREHOOK: Output: target@src
 POSTHOOK: query: ALTER TABLE source.src RENAME TO target.src
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: source@src
+POSTHOOK: Output: database:target
 POSTHOOK: Output: source@src
 POSTHOOK: Output: target@src
 PREHOOK: query: select * from target.src tablesample (10 rows)
@@ -164,12 +171,16 @@ PREHOOK: query: explain
 ALTER TABLE source.srcpart RENAME TO target.srcpart
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: source@srcpart
+PREHOOK: Output: database:target
 PREHOOK: Output: source@srcpart
+PREHOOK: Output: target@srcpart
 POSTHOOK: query: explain
 ALTER TABLE source.srcpart RENAME TO target.srcpart
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: source@srcpart
+POSTHOOK: Output: database:target
 POSTHOOK: Output: source@srcpart
+POSTHOOK: Output: target@srcpart
 STAGE DEPENDENCIES:
   Stage-0 is a root stage
 
@@ -182,10 +193,13 @@ STAGE PLANS:
 PREHOOK: query: ALTER TABLE source.srcpart RENAME TO target.srcpart
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: source@srcpart
+PREHOOK: Output: database:target
 PREHOOK: Output: source@srcpart
+PREHOOK: Output: target@srcpart
 POSTHOOK: query: ALTER TABLE source.srcpart RENAME TO target.srcpart
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: source@srcpart
+POSTHOOK: Output: database:target
 POSTHOOK: Output: source@srcpart
 POSTHOOK: Output: target@srcpart
 PREHOOK: query: select * from target.srcpart tablesample (10 rows)
@@ -241,10 +255,13 @@ POSTHOOK: Output: source@src
 PREHOOK: query: ALTER TABLE source.src RENAME TO target.src1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: source@src
+PREHOOK: Output: database:target
 PREHOOK: Output: source@src
+PREHOOK: Output: target@src1
 POSTHOOK: query: ALTER TABLE source.src RENAME TO target.src1
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: source@src
+POSTHOOK: Output: database:target
 POSTHOOK: Output: source@src
 POSTHOOK: Output: target@src1
 PREHOOK: query: select * from target.src1 tablesample (10 rows)
@@ -294,10 +311,13 @@ POSTHOOK: Output: source@src2
 PREHOOK: query: ALTER TABLE source.src2 RENAME TO target.src3
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: source@src2
+PREHOOK: Output: database:target
 PREHOOK: Output: source@src2
+PREHOOK: Output: target@src3
 POSTHOOK: query: ALTER TABLE source.src2 RENAME TO target.src3
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: source@src2
+POSTHOOK: Output: database:target
 POSTHOOK: Output: source@src2
 POSTHOOK: Output: target@src3
 PREHOOK: query: DESC FORMATTED target.src3
diff --git a/ql/src/test/results/clientpositive/llap/alter_table_column_stats.q.out b/ql/src/test/results/clientpositive/llap/alter_table_column_stats.q.out
index 4b0114fad79..7e6629101fe 100644
--- a/ql/src/test/results/clientpositive/llap/alter_table_column_stats.q.out
+++ b/ql/src/test/results/clientpositive/llap/alter_table_column_stats.q.out
@@ -179,10 +179,13 @@ COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"tru
 PREHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testtable0
+PREHOOK: Output: database:statsdb1
 PREHOOK: Output: statsdb1@testtable0
+PREHOOK: Output: statsdb1@testtable1
 POSTHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testtable0
+POSTHOOK: Output: database:statsdb1
 POSTHOOK: Output: statsdb1@testtable0
 POSTHOOK: Output: statsdb1@testtable1
 PREHOOK: query: describe formatted statsdb1.testtable1
@@ -486,10 +489,13 @@ COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"tru
 PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testtable1
+PREHOOK: Output: database:statsdb2
 PREHOOK: Output: statsdb1@testtable1
+PREHOOK: Output: statsdb2@testtable2
 POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testtable1
+POSTHOOK: Output: database:statsdb2
 POSTHOOK: Output: statsdb1@testtable1
 POSTHOOK: Output: statsdb2@testtable2
 PREHOOK: query: describe formatted statsdb2.testtable2
@@ -832,10 +838,13 @@ comment             	from deserializer
 PREHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testpart0
+PREHOOK: Output: database:statsdb1
 PREHOOK: Output: statsdb1@testpart0
+PREHOOK: Output: statsdb1@testpart1
 POSTHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testpart0
+POSTHOOK: Output: database:statsdb1
 POSTHOOK: Output: statsdb1@testpart0
 POSTHOOK: Output: statsdb1@testpart1
 PREHOOK: query: describe formatted statsdb1.testpart1
@@ -1779,10 +1788,13 @@ comment             	from deserializer
 PREHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testpart1
+PREHOOK: Output: database:statsdb2
 PREHOOK: Output: statsdb1@testpart1
+PREHOOK: Output: statsdb2@testpart2
 POSTHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testpart1
+POSTHOOK: Output: database:statsdb2
 POSTHOOK: Output: statsdb1@testpart1
 POSTHOOK: Output: statsdb2@testpart2
 PREHOOK: query: describe formatted statsdb2.testpart2
@@ -2160,10 +2172,13 @@ COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"tru
 PREHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testtable0
+PREHOOK: Output: database:statsdb1
 PREHOOK: Output: statsdb1@testtable0
+PREHOOK: Output: statsdb1@testtable1
 POSTHOOK: query: alter table statsdb1.testtable0 rename to statsdb1.testtable1
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testtable0
+POSTHOOK: Output: database:statsdb1
 POSTHOOK: Output: statsdb1@testtable0
 POSTHOOK: Output: statsdb1@testtable1
 PREHOOK: query: describe formatted statsdb1.testtable1
@@ -2467,10 +2482,13 @@ COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col2\":\"tru
 PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testtable1
+PREHOOK: Output: database:statsdb2
 PREHOOK: Output: statsdb1@testtable1
+PREHOOK: Output: statsdb2@testtable2
 POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testtable1
+POSTHOOK: Output: database:statsdb2
 POSTHOOK: Output: statsdb1@testtable1
 POSTHOOK: Output: statsdb2@testtable2
 PREHOOK: query: describe formatted statsdb2.testtable2
@@ -2813,10 +2831,13 @@ comment             	from deserializer
 PREHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testpart0
+PREHOOK: Output: database:statsdb1
 PREHOOK: Output: statsdb1@testpart0
+PREHOOK: Output: statsdb1@testpart1
 POSTHOOK: query: alter table statsdb1.testpart0 rename to statsdb1.testpart1
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testpart0
+POSTHOOK: Output: database:statsdb1
 POSTHOOK: Output: statsdb1@testpart0
 POSTHOOK: Output: statsdb1@testpart1
 PREHOOK: query: describe formatted statsdb1.testpart1
@@ -3760,10 +3781,13 @@ comment             	from deserializer
 PREHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testpart1
+PREHOOK: Output: database:statsdb2
 PREHOOK: Output: statsdb1@testpart1
+PREHOOK: Output: statsdb2@testpart2
 POSTHOOK: query: alter table statsdb1.testpart1 rename to statsdb2.testpart2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testpart1
+POSTHOOK: Output: database:statsdb2
 POSTHOOK: Output: statsdb1@testpart1
 POSTHOOK: Output: statsdb2@testpart2
 PREHOOK: query: describe formatted statsdb2.testpart2
diff --git a/ql/src/test/results/clientpositive/llap/alter_table_stats_status.q.out b/ql/src/test/results/clientpositive/llap/alter_table_stats_status.q.out
index 33f2511f68b..be40d3985d0 100644
--- a/ql/src/test/results/clientpositive/llap/alter_table_stats_status.q.out
+++ b/ql/src/test/results/clientpositive/llap/alter_table_stats_status.q.out
@@ -80,10 +80,13 @@ POSTHOOK: Output: statsdb@srctable
 PREHOOK: query: alter table srctable rename to statstable
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb@srctable
+PREHOOK: Output: database:statsdb
 PREHOOK: Output: statsdb@srctable
+PREHOOK: Output: statsdb@statstable
 POSTHOOK: query: alter table srctable rename to statstable
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb@srctable
+POSTHOOK: Output: database:statsdb
 POSTHOOK: Output: statsdb@srctable
 POSTHOOK: Output: statsdb@statstable
 PREHOOK: query: alter table statstable add columns (newcol string)
diff --git a/ql/src/test/results/clientpositive/llap/alter_view_rename.q.out b/ql/src/test/results/clientpositive/llap/alter_view_rename.q.out
index 9937e37d833..f0ab3c5b1ed 100644
--- a/ql/src/test/results/clientpositive/llap/alter_view_rename.q.out
+++ b/ql/src/test/results/clientpositive/llap/alter_view_rename.q.out
@@ -45,10 +45,13 @@ ds                  	string
 PREHOOK: query: ALTER VIEW tv1.view1 RENAME TO tv2.view2
 PREHOOK: type: ALTERVIEW_RENAME
 PREHOOK: Input: tv1@view1
+PREHOOK: Output: database:tv2
 PREHOOK: Output: tv1@view1
+PREHOOK: Output: tv2@view2
 POSTHOOK: query: ALTER VIEW tv1.view1 RENAME TO tv2.view2
 POSTHOOK: type: ALTERVIEW_RENAME
 POSTHOOK: Input: tv1@view1
+POSTHOOK: Output: database:tv2
 POSTHOOK: Output: tv1@view1
 POSTHOOK: Output: tv2@view2
 PREHOOK: query: DESCRIBE EXTENDED tv2.view2
diff --git a/ql/src/test/results/clientpositive/llap/authorization_8.q.out b/ql/src/test/results/clientpositive/llap/authorization_8.q.out
index eef461150ea..db66a059c2c 100644
--- a/ql/src/test/results/clientpositive/llap/authorization_8.q.out
+++ b/ql/src/test/results/clientpositive/llap/authorization_8.q.out
@@ -35,10 +35,13 @@ ds                  	string
 PREHOOK: query: ALTER VIEW view_j5jbymsx8e_1 RENAME TO view_j5jbymsx8e_2
 PREHOOK: type: ALTERVIEW_RENAME
 PREHOOK: Input: default@view_j5jbymsx8e_1
+PREHOOK: Output: database:default
 PREHOOK: Output: default@view_j5jbymsx8e_1
+PREHOOK: Output: default@view_j5jbymsx8e_2
 POSTHOOK: query: ALTER VIEW view_j5jbymsx8e_1 RENAME TO view_j5jbymsx8e_2
 POSTHOOK: type: ALTERVIEW_RENAME
 POSTHOOK: Input: default@view_j5jbymsx8e_1
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@view_j5jbymsx8e_1
 POSTHOOK: Output: default@view_j5jbymsx8e_2
 PREHOOK: query: REVOKE ALL FROM USER hive_test_user
diff --git a/ql/src/test/results/clientpositive/llap/authorization_owner_actions.q.out b/ql/src/test/results/clientpositive/llap/authorization_owner_actions.q.out
index 96a25f81ed4..8c2f6e6b903 100644
--- a/ql/src/test/results/clientpositive/llap/authorization_owner_actions.q.out
+++ b/ql/src/test/results/clientpositive/llap/authorization_owner_actions.q.out
@@ -52,9 +52,12 @@ POSTHOOK: Output: default@vt1_n0
 PREHOOK: query: alter table t1_n108 rename to tnew1
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@t1_n108
+PREHOOK: Output: database:default
 PREHOOK: Output: default@t1_n108
+PREHOOK: Output: default@tnew1
 POSTHOOK: query: alter table t1_n108 rename to tnew1
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@t1_n108
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t1_n108
 POSTHOOK: Output: default@tnew1
diff --git a/ql/src/test/results/clientpositive/llap/dbtxnmgr_ddl1.q.out b/ql/src/test/results/clientpositive/llap/dbtxnmgr_ddl1.q.out
index b312cb869b3..4bcedc0abdb 100644
--- a/ql/src/test/results/clientpositive/llap/dbtxnmgr_ddl1.q.out
+++ b/ql/src/test/results/clientpositive/llap/dbtxnmgr_ddl1.q.out
@@ -85,10 +85,13 @@ POSTHOOK: Output: default@T4_n4
 PREHOOK: query: alter table T3_n11 rename to newT3_n11
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@t3_n11
+PREHOOK: Output: database:default
+PREHOOK: Output: default@newT3_n11
 PREHOOK: Output: default@t3_n11
 POSTHOOK: query: alter table T3_n11 rename to newT3_n11
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@t3_n11
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@newT3_n11
 POSTHOOK: Output: default@t3_n11
 PREHOOK: query: alter table T2_n31 set tblproperties ('test'='thisisatest')
diff --git a/ql/src/test/results/clientpositive/llap/input3.q.out b/ql/src/test/results/clientpositive/llap/input3.q.out
index 6e530b1bbdc..05018b4f539 100644
--- a/ql/src/test/results/clientpositive/llap/input3.q.out
+++ b/ql/src/test/results/clientpositive/llap/input3.q.out
@@ -80,11 +80,15 @@ PREHOOK: query: EXPLAIN
 ALTER TABLE TEST3b RENAME TO TEST3c
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@test3b
+PREHOOK: Output: database:default
+PREHOOK: Output: default@TEST3c
 PREHOOK: Output: default@test3b
 POSTHOOK: query: EXPLAIN
 ALTER TABLE TEST3b RENAME TO TEST3c
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@test3b
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@TEST3c
 POSTHOOK: Output: default@test3b
 STAGE DEPENDENCIES:
   Stage-0 is a root stage
@@ -98,10 +102,13 @@ STAGE PLANS:
 PREHOOK: query: ALTER TABLE TEST3b RENAME TO TEST3c
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@test3b
+PREHOOK: Output: database:default
+PREHOOK: Output: default@TEST3c
 PREHOOK: Output: default@test3b
 POSTHOOK: query: ALTER TABLE TEST3b RENAME TO TEST3c
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@test3b
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@TEST3c
 POSTHOOK: Output: default@test3b
 PREHOOK: query: DESCRIBE TEST3c
diff --git a/ql/src/test/results/clientpositive/llap/misc_json.q.out b/ql/src/test/results/clientpositive/llap/misc_json.q.out
index 7e98ff748e5..1571410380c 100644
--- a/ql/src/test/results/clientpositive/llap/misc_json.q.out
+++ b/ql/src/test/results/clientpositive/llap/misc_json.q.out
@@ -17,10 +17,13 @@ POSTHOOK: Output: default@jsontable_n0
 PREHOOK: query: ALTER TABLE jsontable_n0 RENAME TO jsontable2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@jsontable_n0
+PREHOOK: Output: database:default
+PREHOOK: Output: default@jsontable2
 PREHOOK: Output: default@jsontable_n0
 POSTHOOK: query: ALTER TABLE jsontable_n0 RENAME TO jsontable2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@jsontable_n0
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@jsontable2
 POSTHOOK: Output: default@jsontable_n0
 PREHOOK: query: SHOW TABLE EXTENDED LIKE jsontable2
diff --git a/ql/src/test/results/clientpositive/llap/rename_table_location.q.out b/ql/src/test/results/clientpositive/llap/rename_table_location.q.out
index f491ae668db..20b24e0f58b 100644
--- a/ql/src/test/results/clientpositive/llap/rename_table_location.q.out
+++ b/ql/src/test/results/clientpositive/llap/rename_table_location.q.out
@@ -34,4 +34,6 @@ POSTHOOK: Output: default@rename_partition_table
 PREHOOK: query: ALTER TABLE rename_partition_table RENAME TO rename_partition_table_renamed
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@rename_partition_table
+PREHOOK: Output: database:default
 PREHOOK: Output: default@rename_partition_table
+PREHOOK: Output: default@rename_partition_table_renamed
diff --git a/ql/src/test/results/clientpositive/llap/rename_table_update_column_stats.q.out b/ql/src/test/results/clientpositive/llap/rename_table_update_column_stats.q.out
index 702f3d08b88..cebfc200aa5 100644
--- a/ql/src/test/results/clientpositive/llap/rename_table_update_column_stats.q.out
+++ b/ql/src/test/results/clientpositive/llap/rename_table_update_column_stats.q.out
@@ -113,10 +113,13 @@ COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"tru
 PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testtable1
+PREHOOK: Output: database:statsdb2
 PREHOOK: Output: statsdb1@testtable1
+PREHOOK: Output: statsdb2@testtable2
 POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testtable1
+POSTHOOK: Output: database:statsdb2
 POSTHOOK: Output: statsdb1@testtable1
 POSTHOOK: Output: statsdb2@testtable2
 PREHOOK: query: describe formatted statsdb2.testtable2 col1
@@ -315,10 +318,13 @@ COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"col1\":\"tru
 PREHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: statsdb1@testtable1
+PREHOOK: Output: database:statsdb2
 PREHOOK: Output: statsdb1@testtable1
+PREHOOK: Output: statsdb2@testtable2
 POSTHOOK: query: alter table statsdb1.testtable1 rename to statsdb2.testtable2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: statsdb1@testtable1
+POSTHOOK: Output: database:statsdb2
 POSTHOOK: Output: statsdb1@testtable1
 POSTHOOK: Output: statsdb2@testtable2
 PREHOOK: query: describe formatted statsdb2.testtable2 col1
diff --git a/ql/src/test/results/clientpositive/llap/temp_table_precedence.q.out b/ql/src/test/results/clientpositive/llap/temp_table_precedence.q.out
index d75c3cde389..f60a3b67576 100644
--- a/ql/src/test/results/clientpositive/llap/temp_table_precedence.q.out
+++ b/ql/src/test/results/clientpositive/llap/temp_table_precedence.q.out
@@ -122,10 +122,13 @@ POSTHOOK: Input: database:ttp
 PREHOOK: query: alter table tab1 rename to tab2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: ttp@tab1
+PREHOOK: Output: database:ttp
 PREHOOK: Output: ttp@tab1
+PREHOOK: Output: ttp@tab2
 POSTHOOK: query: alter table tab1 rename to tab2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: ttp@tab1
+POSTHOOK: Output: database:ttp
 POSTHOOK: Output: ttp@tab1
 POSTHOOK: Output: ttp@tab2
 PREHOOK: query: use default
diff --git a/ql/src/test/results/clientpositive/llap/translated_external_rename.q.out b/ql/src/test/results/clientpositive/llap/translated_external_rename.q.out
index 110ce9bf518..3491b870b3f 100644
--- a/ql/src/test/results/clientpositive/llap/translated_external_rename.q.out
+++ b/ql/src/test/results/clientpositive/llap/translated_external_rename.q.out
@@ -18,10 +18,13 @@ POSTHOOK: Lineage: t.a SCRIPT []
 PREHOOK: query: alter table t rename to t2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@t
+PREHOOK: Output: database:default
 PREHOOK: Output: default@t
+PREHOOK: Output: default@t2
 POSTHOOK: query: alter table t rename to t2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@t
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t
 POSTHOOK: Output: default@t2
 PREHOOK: query: create table t (a integer)
diff --git a/ql/src/test/results/clientpositive/llap/translated_external_rename2.q.out b/ql/src/test/results/clientpositive/llap/translated_external_rename2.q.out
index 110ce9bf518..3491b870b3f 100644
--- a/ql/src/test/results/clientpositive/llap/translated_external_rename2.q.out
+++ b/ql/src/test/results/clientpositive/llap/translated_external_rename2.q.out
@@ -18,10 +18,13 @@ POSTHOOK: Lineage: t.a SCRIPT []
 PREHOOK: query: alter table t rename to t2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@t
+PREHOOK: Output: database:default
 PREHOOK: Output: default@t
+PREHOOK: Output: default@t2
 POSTHOOK: query: alter table t rename to t2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@t
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t
 POSTHOOK: Output: default@t2
 PREHOOK: query: create table t (a integer)
diff --git a/ql/src/test/results/clientpositive/llap/translated_external_rename3.q.out b/ql/src/test/results/clientpositive/llap/translated_external_rename3.q.out
index 0272be301b6..c7c920d156b 100644
--- a/ql/src/test/results/clientpositive/llap/translated_external_rename3.q.out
+++ b/ql/src/test/results/clientpositive/llap/translated_external_rename3.q.out
@@ -18,10 +18,13 @@ POSTHOOK: Lineage: t.a SCRIPT []
 PREHOOK: query: alter table t rename to t2
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@t
+PREHOOK: Output: database:default
 PREHOOK: Output: default@t
+PREHOOK: Output: default@t2
 POSTHOOK: query: alter table t rename to t2
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@t
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t
 POSTHOOK: Output: default@t2
 PREHOOK: query: create table t (a integer)
diff --git a/ql/src/test/results/clientpositive/llap/translated_external_rename4.q.out b/ql/src/test/results/clientpositive/llap/translated_external_rename4.q.out
index 67c73b49a9e..8a12bc39bbb 100644
--- a/ql/src/test/results/clientpositive/llap/translated_external_rename4.q.out
+++ b/ql/src/test/results/clientpositive/llap/translated_external_rename4.q.out
@@ -37,10 +37,13 @@ POSTHOOK: Lineage: part_test PARTITION(dat=20220102).c2 SCRIPT []
 PREHOOK: query: alter table part_test rename to part_test11
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: default@part_test
+PREHOOK: Output: database:default
 PREHOOK: Output: default@part_test
+PREHOOK: Output: default@part_test11
 POSTHOOK: query: alter table part_test rename to part_test11
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: default@part_test
+POSTHOOK: Output: database:default
 POSTHOOK: Output: default@part_test
 POSTHOOK: Output: default@part_test11
 PREHOOK: query: desc formatted part_test11
diff --git a/ql/src/test/results/clientpositive/tez/explainanalyze_3.q.out b/ql/src/test/results/clientpositive/tez/explainanalyze_3.q.out
index ad2550bd8c2..67371b51930 100644
--- a/ql/src/test/results/clientpositive/tez/explainanalyze_3.q.out
+++ b/ql/src/test/results/clientpositive/tez/explainanalyze_3.q.out
@@ -160,18 +160,26 @@ POSTHOOK: Output: newDB@tab_n2
 PREHOOK: query: alter table tab_n2 rename to newName
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: newdb@tab_n2
+PREHOOK: Output: database:newdb
+PREHOOK: Output: newDB@newName
 PREHOOK: Output: newdb@tab_n2
 POSTHOOK: query: alter table tab_n2 rename to newName
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: newdb@tab_n2
+POSTHOOK: Output: database:newdb
+POSTHOOK: Output: newDB@newName
 POSTHOOK: Output: newdb@tab_n2
 PREHOOK: query: explain analyze alter table tab_n2 rename to newName
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: newdb@tab_n2
+PREHOOK: Output: database:newdb
+PREHOOK: Output: newDB@newName
 PREHOOK: Output: newdb@tab_n2
 POSTHOOK: query: explain analyze alter table tab_n2 rename to newName
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: newdb@tab_n2
+POSTHOOK: Output: database:newdb
+POSTHOOK: Output: newDB@newName
 POSTHOOK: Output: newdb@tab_n2
 Stage-0
   Rename Table{"table name:":"newDB.tab_n2","new table name:":"newDB.newName"}
diff --git a/ql/src/test/results/clientpositive/tez/explainuser_3.q.out b/ql/src/test/results/clientpositive/tez/explainuser_3.q.out
index a3e9ea14661..b9b8061f731 100644
--- a/ql/src/test/results/clientpositive/tez/explainuser_3.q.out
+++ b/ql/src/test/results/clientpositive/tez/explainuser_3.q.out
@@ -172,10 +172,14 @@ POSTHOOK: Output: newDB@tab_n1
 PREHOOK: query: explain alter table tab_n1 rename to newName
 PREHOOK: type: ALTERTABLE_RENAME
 PREHOOK: Input: newdb@tab_n1
+PREHOOK: Output: database:newdb
+PREHOOK: Output: newDB@newName
 PREHOOK: Output: newdb@tab_n1
 POSTHOOK: query: explain alter table tab_n1 rename to newName
 POSTHOOK: type: ALTERTABLE_RENAME
 POSTHOOK: Input: newdb@tab_n1
+POSTHOOK: Output: database:newdb
+POSTHOOK: Output: newDB@newName
 POSTHOOK: Output: newdb@tab_n1
 Stage-0
   Rename Table{"table name:":"newDB.tab_n1","new table name:":"newDB.newName"}