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

mgergely 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 d981e8d  HIVE-22608 Reduce the number of public methods in Driver 
(Miklos Gergely, reviewed by Jesus Camacho Rodriguez)
d981e8d is described below

commit d981e8d3d7c6cbbed5d5793042cc4d91ffef3580
Author: miklosgergely <mgerg...@cloudera.com>
AuthorDate: Mon Dec 9 17:00:28 2019 +0100

    HIVE-22608 Reduce the number of public methods in Driver (Miklos Gergely, 
reviewed by Jesus Camacho Rodriguez)
---
 ql/src/java/org/apache/hadoop/hive/ql/Driver.java  | 30 +++++-----------------
 .../org/apache/hadoop/hive/ql/DriverUtils.java     |  3 +--
 .../java/org/apache/hadoop/hive/ql/QueryState.java | 15 +++++++++++
 .../hadoop/hive/ql/parse/DDLSemanticAnalyzer.java  |  2 +-
 .../apache/hadoop/hive/ql/reexec/ReExecDriver.java |  5 ++--
 5 files changed, 27 insertions(+), 28 deletions(-)

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 7549144..342d463 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
@@ -139,10 +139,6 @@ public class Driver implements IDriver {
     return driverContext.getSchema();
   }
 
-  public Schema getExplainSchema() {
-    return new Schema(ExplainTask.getResultSchema(), null);
-  }
-
   @Override
   public Context getContext() {
     return context;
@@ -168,7 +164,7 @@ public class Driver implements IDriver {
   // Pass lineageState when a driver instantiates another Driver to run
   // or compile another query
   public Driver(HiveConf conf, Context ctx, LineageState lineageState) {
-    this(getNewQueryState(conf, lineageState), null);
+    this(QueryState.getNewQueryState(conf, lineageState), null);
     context = ctx;
   }
 
@@ -185,18 +181,11 @@ public class Driver implements IDriver {
         txnManager);
   }
 
-  /**
-   * Generating the new QueryState object. Making sure, that the new queryId 
is generated.
-   * @param conf The HiveConf which should be used
-   * @param lineageState a LineageState to be set in the new QueryState object
-   * @return The new QueryState object
-   */
-  public static QueryState getNewQueryState(HiveConf conf, LineageState 
lineageState) {
-    return new QueryState.Builder()
-        .withGenerateNewQueryId(true)
-        .withHiveConf(conf)
-        .withLineageState(lineageState)
-        .build();
+  public Driver(QueryState queryState, QueryInfo queryInfo, HiveTxnManager 
txnManager,
+      ValidWriteIdList compactionWriteIds, long compactorTxnId) {
+    this(queryState, queryInfo, txnManager);
+    driverContext.setCompactionWriteIds(compactionWriteIds);
+    driverContext.setCompactorTxnId(compactorTxnId);
   }
 
   /**
@@ -1816,7 +1805,7 @@ public class Driver implements IDriver {
   // Close and release resources within a running query process. Since it runs 
under
   // driver state COMPILING, EXECUTING or INTERRUPT, it would not have race 
condition
   // with the releases probably running in the other closing thread.
-  public int closeInProcess(boolean destroyed) {
+  private int closeInProcess(boolean destroyed) {
     releaseTaskQueue();
     releasePlan();
     releaseCachedResult();
@@ -1930,9 +1919,4 @@ public class Driver implements IDriver {
     return driverContext.getPlan().getFetchTask() != null && 
driverContext.getPlan().getResultSchema() != null &&
         driverContext.getPlan().getResultSchema().isSetFieldSchemas();
   }
-
-  void setCompactionWriteIds(ValidWriteIdList compactionWriteIds, long 
compactorTxnId) {
-    driverContext.setCompactionWriteIds(compactionWriteIds);
-    driverContext.setCompactorTxnId(compactorTxnId);
-  }
 }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/DriverUtils.java 
b/ql/src/java/org/apache/hadoop/hive/ql/DriverUtils.java
index 1eacf69..21e5f72 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/DriverUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/DriverUtils.java
@@ -64,8 +64,7 @@ public final class DriverUtils {
     boolean isOk = false;
     try {
       QueryState qs = new 
QueryState.Builder().withHiveConf(conf).withGenerateNewQueryId(true).nonIsolated().build();
-      Driver driver = new Driver(qs, null, null);
-      driver.setCompactionWriteIds(writeIds, compactorTxnId);
+      Driver driver = new Driver(qs, null, null, writeIds, compactorTxnId);
       try {
         try {
           driver.run(query);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/QueryState.java 
b/ql/src/java/org/apache/hadoop/hive/ql/QueryState.java
index 267f7d0..280b7a4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/QueryState.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/QueryState.java
@@ -58,6 +58,7 @@ public class QueryState {
   private long numModifiedRows = 0;
 
   static public final String USERID_TAG = "userid";
+
   /**
    * Private constructor, use QueryState.Builder instead.
    * @param conf The query specific configuration object
@@ -141,6 +142,20 @@ public class QueryState {
   }
 
   /**
+   * Generating the new QueryState object. Making sure, that the new queryId 
is generated.
+   * @param conf The HiveConf which should be used
+   * @param lineageState a LineageState to be set in the new QueryState object
+   * @return The new QueryState object
+   */
+  public static QueryState getNewQueryState(HiveConf conf, LineageState 
lineageState) {
+    return new QueryState.Builder()
+        .withGenerateNewQueryId(true)
+        .withHiveConf(conf)
+        .withLineageState(lineageState)
+        .build();
+  }
+
+  /**
    * Builder to instantiate the QueryState object.
    */
   public static class Builder {
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index 20b0ccd..1914089 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -2293,7 +2293,7 @@ public class DDLSemanticAnalyzer extends 
BaseSemanticAnalyzer {
         cmd.append(")");
       }
       // FIXME: is it ok to have a completely new querystate?
-      QueryState newQueryState = Driver.getNewQueryState(conf, 
queryState.getLineageState());
+      QueryState newQueryState = QueryState.getNewQueryState(conf, 
queryState.getLineageState());
       // FIXME: this driver instance is never closed
       Driver driver = new Driver(newQueryState);
       int rc = driver.compile(cmd.toString(), false);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java 
b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java
index a32af75..eab7f45 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java
@@ -33,6 +33,7 @@ import org.apache.hadoop.hive.ql.QueryDisplay;
 import org.apache.hadoop.hive.ql.QueryInfo;
 import org.apache.hadoop.hive.ql.QueryPlan;
 import org.apache.hadoop.hive.ql.QueryState;
+import org.apache.hadoop.hive.ql.exec.ExplainTask;
 import org.apache.hadoop.hive.ql.exec.FetchTask;
 import org.apache.hadoop.hive.ql.exec.Task;
 import org.apache.hadoop.hive.ql.parse.ASTNode;
@@ -252,8 +253,8 @@ public class ReExecDriver implements IDriver {
 
   @Override
   public Schema getSchema() {
-    if(explainReOptimization) {
-      return coreDriver.getExplainSchema();
+    if (explainReOptimization) {
+      return new Schema(ExplainTask.getResultSchema(), null);
     }
     return coreDriver.getSchema();
   }

Reply via email to