diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index cbeb361..39a1efc 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -251,6 +251,11 @@ private MetaDataFormatter formatter; private final HiveAuthorizationTranslator defaultAuthorizationTranslator = new DefaultHiveAuthorizationTranslator(); + private Task subtask = null; + + public Task getSubtask() { + return subtask; + } @Override public boolean requireLock() { @@ -667,6 +672,7 @@ private int mergeFiles(Hive db, AlterTablePartMergeFilesDesc mergeFilesDesc, // initialize the task and execute task.initialize(queryState, getQueryPlan(), driverCxt, opContext); + subtask = task; int ret = task.execute(driverCxt); return ret; } @@ -4173,6 +4179,7 @@ private int truncateTable(Hive db, TruncateTableDesc truncateTableDesc) throws H taskExec.initialize(queryState, null, driverCxt, null); taskExec.setWork(truncateWork); taskExec.setQueryPlan(this.getQueryPlan()); + subtask = taskExec; return taskExec.execute(driverCxt); }