diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java index 37baca1..936bb2a 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java @@ -1353,6 +1353,7 @@ private void analyzeReplStatus(ASTNode ast) throws SemanticException { } prepareReturnValues(Collections.singletonList(replLastId), "last_repl_id#string"); + setFetchTask(createFetchTask("last_repl_id#string")); LOG.debug("ReplicationSemanticAnalyzer.analyzeReplStatus: writing repl.last.id={} out to {}", String.valueOf(replLastId), ctx.getResFile()); } diff --git ql/src/test/org/apache/hadoop/hive/ql/parse/TestReplicationSemanticAnalyzer.java ql/src/test/org/apache/hadoop/hive/ql/parse/TestReplicationSemanticAnalyzer.java index 54b2bd1..0702d01 100644 --- ql/src/test/org/apache/hadoop/hive/ql/parse/TestReplicationSemanticAnalyzer.java +++ ql/src/test/org/apache/hadoop/hive/ql/parse/TestReplicationSemanticAnalyzer.java @@ -31,6 +31,7 @@ import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.ql.Context; import org.apache.hadoop.hive.ql.QueryState; +import org.apache.hadoop.hive.ql.exec.FetchTask; import org.apache.hadoop.hive.ql.exec.Task; import org.apache.hadoop.hive.ql.io.orc.OrcInputFormat; import org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat; @@ -256,4 +257,19 @@ public void testReplLoadAnalyze() throws Exception { roots = rs.getRootTasks(); assertEquals(1, roots.size()); } + + @Test + public void testReplStatusAnalyze() throws Exception { + ParseDriver pd = new ParseDriver(); + ASTNode root; + + // Repl status command + String query = "repl status " + defaultDB; + root = (ASTNode) pd.parse(query).getChild(0); + ReplicationSemanticAnalyzer rs = (ReplicationSemanticAnalyzer) SemanticAnalyzerFactory.get(queryState, root); + rs.analyze(root, new Context(conf)); + + FetchTask fetchTask = rs.getFetchTask(); + assertNotNull(fetchTask); + } }