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 9aced9f..5c3e676 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -554,6 +554,7 @@ public void run() { hookCtx.setUserName(userName); hookCtx.setIpAddress(SessionState.get().getUserIpAddress()); hookCtx.setCommand(command); + hookCtx.setHiveOperation(queryState.getHiveOperation()); for (HiveSemanticAnalyzerHook hook : saHooks) { tree = hook.preAnalyze(hookCtx, tree); } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContext.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContext.java index b78ce90..166375c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContext.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContext.java @@ -25,6 +25,7 @@ import org.apache.hadoop.hive.ql.hooks.WriteEntity; import org.apache.hadoop.hive.ql.metadata.Hive; import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.plan.HiveOperation; /** * Context information provided by Hive to implementations of @@ -65,4 +66,8 @@ public String getCommand(); public void setCommand(String command); + + public HiveOperation getHiveOperation(); + + public void setHiveOperation(HiveOperation commandType); } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContextImpl.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContextImpl.java index 4ce705b..1cc38a8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContextImpl.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContextImpl.java @@ -26,6 +26,7 @@ import org.apache.hadoop.hive.ql.hooks.WriteEntity; import org.apache.hadoop.hive.ql.metadata.Hive; import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.plan.HiveOperation; public class HiveSemanticAnalyzerHookContextImpl implements HiveSemanticAnalyzerHookContext { @@ -35,6 +36,7 @@ private String userName; private String ipAddress; private String command; + private HiveOperation commandType; @Override public Hive getHive() throws HiveException { @@ -95,4 +97,14 @@ public String getCommand() { public void setCommand(String command) { this.command = command; } + + @Override + public HiveOperation getHiveOperation() { + return commandType; + } + + @Override + public void setHiveOperation(HiveOperation commandType) { + this.commandType = commandType; + } }