Michael Blow has submitted this change and it was merged.

Change subject: Merge commit 'a6bd8d1ad87a85cf402d019de5f4e01855d99b34' from 
release-0.9.4-pre-rc
......................................................................


Merge commit 'a6bd8d1ad87a85cf402d019de5f4e01855d99b34' from 
release-0.9.4-pre-rc

Change-Id: I03b642f9e0ad4bdc034cd8f33b712dbb87a66f5d
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractQueryApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
5 files changed, 0 insertions(+), 160 deletions(-)

Approvals:
  Michael Blow: Looks good to me, approved; Verified



diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
index 8c6a9ab..db9b743 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutor.java
@@ -155,8 +155,4 @@
      * @return the executions plans
      */
     ExecutionPlans getExecutionPlans();
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
-=======
-
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
 }
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractQueryApiServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractQueryApiServlet.java
index e970adb..9844900 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractQueryApiServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractQueryApiServlet.java
@@ -49,12 +49,8 @@
         HANDLE("handle"),
         ERRORS("errors"),
         METRICS("metrics"),
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
         PLANS("plans"),
         WARNINGS("warnings");
-=======
-        PLANS("plans");
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
 
         private final String str;
 
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
index 7affdee..a32f8be 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
@@ -51,10 +51,7 @@
 import org.apache.asterix.lang.common.base.IParser;
 import org.apache.asterix.lang.common.base.Statement;
 import org.apache.asterix.metadata.MetadataManager;
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
 import org.apache.asterix.om.base.IAObject;
-=======
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
 import org.apache.asterix.translator.ExecutionPlans;
 import org.apache.asterix.translator.ExecutionPlansJsonPrintUtil;
 import org.apache.asterix.translator.IRequestParameters;
@@ -80,11 +77,6 @@
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.JsonNode;
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
-=======
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
 
 import io.netty.handler.codec.http.HttpResponseStatus;
 
@@ -160,13 +152,9 @@
         REWRITTEN_EXPRESSION_TREE("rewritten-expression-tree"),
         LOGICAL_PLAN("logical-plan"),
         OPTIMIZED_LOGICAL_PLAN("optimized-logical-plan"),
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
         JOB("job"),
         SIGNATURE("signature"),
         MULTI_STATEMENT("multi-statement");
-=======
-        JOB("job");
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
 
         private final String str;
 
@@ -214,56 +202,7 @@
         }
     }
 
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
     protected static final class RequestExecutionState {
-=======
-    static class RequestParameters {
-        String host;
-        String path;
-        String statement;
-        String format;
-        String timeout;
-        boolean pretty;
-        String clientContextID;
-        String mode;
-        String maxResultReads;
-        String planFormat;
-        boolean expressionTree;
-        boolean rewrittenExpressionTree;
-        boolean logicalPlan;
-        boolean optimizedLogicalPlan;
-        boolean job;
-
-        @Override
-        public String toString() {
-            try {
-                ObjectMapper om = new ObjectMapper();
-                ObjectNode on = om.createObjectNode();
-                on.put("host", host);
-                on.put("path", path);
-                on.put("statement", JSONUtil.escape(new StringBuilder(), 
statement).toString());
-                on.put("pretty", pretty);
-                on.put("mode", mode);
-                on.put("clientContextID", clientContextID);
-                on.put("format", format);
-                on.put("timeout", timeout);
-                on.put("maxResultReads", maxResultReads);
-                on.put("planFormat", planFormat);
-                on.put("expressionTree", expressionTree);
-                on.put("rewrittenExpressionTree", rewrittenExpressionTree);
-                on.put("logicalPlan", logicalPlan);
-                on.put("optimizedLogicalPlan", optimizedLogicalPlan);
-                on.put("job", job);
-                return om.writer(new 
MinimalPrettyPrinter()).writeValueAsString(on);
-            } catch (JsonProcessingException e) { // NOSONAR
-                LOGGER.debug("unexpected exception marshalling {} instance to 
json", getClass(), e);
-                return e.toString();
-            }
-        }
-    }
-
-    static final class RequestExecutionState {
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
         private long execStart = -1;
         private long execEnd = -1;
         private ResultStatus resultStatus = ResultStatus.SUCCESS;
@@ -348,32 +287,17 @@
         SessionOutput.ResultAppender appendHandle = 
ResultUtil.createResultHandleAppender(handleUrl);
         SessionOutput.ResultAppender appendStatus = 
ResultUtil.createResultStatusAppender();
 
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
         SessionConfig.OutputFormat format = getFormat(param.getFormat());
         final SessionConfig.PlanFormat planFormat = 
SessionConfig.PlanFormat.get(param.getPlanFormat(),
                 param.getPlanFormat(), SessionConfig.PlanFormat.JSON, LOGGER);
-=======
-        SessionConfig.OutputFormat format = getFormat(param.format);
-        final SessionConfig.PlanFormat planFormat =
-                SessionConfig.PlanFormat.get(param.planFormat, 
param.planFormat, SessionConfig.PlanFormat.JSON, LOGGER);
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
         SessionConfig sessionConfig = new SessionConfig(format, planFormat);
         sessionConfig.set(SessionConfig.FORMAT_WRAPPER_ARRAY, true);
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
         sessionConfig.set(SessionConfig.OOB_EXPR_TREE, 
param.isExpressionTree());
         sessionConfig.set(SessionConfig.OOB_REWRITTEN_EXPR_TREE, 
param.isRewrittenExpressionTree());
         sessionConfig.set(SessionConfig.OOB_LOGICAL_PLAN, 
param.isLogicalPlan());
         sessionConfig.set(SessionConfig.OOB_OPTIMIZED_LOGICAL_PLAN, 
param.isOptimizedLogicalPlan());
         sessionConfig.set(SessionConfig.OOB_HYRACKS_JOB, param.isJob());
         sessionConfig.set(SessionConfig.FORMAT_INDENT_JSON, param.isPretty());
-=======
-        sessionConfig.set(SessionConfig.OOB_EXPR_TREE, param.expressionTree);
-        sessionConfig.set(SessionConfig.OOB_REWRITTEN_EXPR_TREE, 
param.rewrittenExpressionTree);
-        sessionConfig.set(SessionConfig.OOB_LOGICAL_PLAN, param.logicalPlan);
-        sessionConfig.set(SessionConfig.OOB_OPTIMIZED_LOGICAL_PLAN, 
param.optimizedLogicalPlan);
-        sessionConfig.set(SessionConfig.OOB_HYRACKS_JOB, param.job);
-        sessionConfig.set(SessionConfig.FORMAT_INDENT_JSON, param.pretty);
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
         sessionConfig.set(SessionConfig.FORMAT_QUOTE_RECORD,
                 format != SessionConfig.OutputFormat.CLEAN_JSON && format != 
SessionConfig.OutputFormat.LOSSLESS_JSON);
         sessionConfig.set(SessionConfig.FORMAT_CSV_HEADER, format == 
SessionConfig.OutputFormat.CSV
@@ -494,7 +418,6 @@
         if (HttpUtil.ContentType.APPLICATION_JSON.equals(contentType)) {
             try {
                 JsonNode jsonRequest = 
OBJECT_MAPPER.readTree(HttpUtil.getRequestBody(request));
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
                 final String statementParam = Parameter.STATEMENT.str();
                 if (jsonRequest.has(statementParam)) {
                     
param.setStatement(jsonRequest.get(statementParam).asText());
@@ -517,22 +440,6 @@
                 param.setStatementParams(
                         getOptStatementParameters(jsonRequest, 
jsonRequest.fieldNames(), JsonNode::get, v -> v));
                 param.setMultiStatement(getOptBoolean(jsonRequest, 
Parameter.MULTI_STATEMENT.str(), true));
-=======
-                param.statement = 
jsonRequest.get(Parameter.STATEMENT.str()).asText();
-                param.format = toLower(getOptText(jsonRequest, 
Parameter.FORMAT.str()));
-                param.pretty = getOptBoolean(jsonRequest, 
Parameter.PRETTY.str(), false);
-                param.mode = toLower(getOptText(jsonRequest, 
Parameter.MODE.str()));
-                param.clientContextID = getOptText(jsonRequest, 
Parameter.CLIENT_ID.str());
-                param.timeout = getOptText(jsonRequest, 
Parameter.TIMEOUT.str());
-                param.maxResultReads = getOptText(jsonRequest, 
Parameter.MAX_RESULT_READS.str());
-                param.planFormat = getOptText(jsonRequest, 
Parameter.PLAN_FORMAT.str());
-                param.expressionTree = getOptBoolean(jsonRequest, 
Parameter.EXPRESSION_TREE.str(), false);
-                param.rewrittenExpressionTree =
-                        getOptBoolean(jsonRequest, 
Parameter.REWRITTEN_EXPRESSION_TREE.str(), false);
-                param.logicalPlan = getOptBoolean(jsonRequest, 
Parameter.LOGICAL_PLAN.str(), false);
-                param.optimizedLogicalPlan = getOptBoolean(jsonRequest, 
Parameter.OPTIMIZED_LOGICAL_PLAN.str(), false);
-                param.job = getOptBoolean(jsonRequest, Parameter.JOB.str(), 
false);
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
             } catch (JsonParseException | JsonMappingException e) {
                 // if the JSON parsing fails, the statement is empty and we 
get an empty statement error
                 GlobalConfig.ASTERIX_LOGGER.log(Level.ERROR, e.getMessage(), 
e);
@@ -542,7 +449,6 @@
             if (param.getStatement() == null) {
                 param.setStatement(HttpUtil.getRequestBody(request));
             }
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
             
param.setFormat(toLower(request.getParameter(Parameter.FORMAT.str())));
             
param.setPretty(Boolean.parseBoolean(request.getParameter(Parameter.PRETTY.str())));
             param.setMode(toLower(request.getParameter(Parameter.MODE.str())));
@@ -558,15 +464,6 @@
             } catch (JsonParseException | JsonMappingException e) {
                 GlobalConfig.ASTERIX_LOGGER.log(Level.ERROR, e.getMessage(), 
e);
             }
-=======
-            param.format = 
toLower(request.getParameter(Parameter.FORMAT.str()));
-            param.pretty = 
Boolean.parseBoolean(request.getParameter(Parameter.PRETTY.str()));
-            param.mode = toLower(request.getParameter(Parameter.MODE.str()));
-            param.clientContextID = 
request.getParameter(Parameter.CLIENT_ID.str());
-            param.timeout = request.getParameter(Parameter.TIMEOUT.str());
-            param.maxResultReads = 
request.getParameter(Parameter.MAX_RESULT_READS.str());
-            param.planFormat = 
request.getParameter(Parameter.PLAN_FORMAT.str());
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
         }
         return param;
     }
@@ -744,7 +641,6 @@
         }
     }
 
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
     protected void printError(PrintWriter sessionOut, Throwable throwable) {
         ResultUtil.printError(sessionOut, throwable);
     }
@@ -795,22 +691,5 @@
             }
         }
         return i > startIndex;
-=======
-    protected void printExecutionPlans(SessionOutput output, ExecutionPlans 
executionPlans) {
-        final PrintWriter pw = output.out();
-        pw.print("\t\"");
-        pw.print(ResultFields.PLANS.str());
-        pw.print("\":");
-        final SessionConfig.PlanFormat planFormat = 
output.config().getPlanFormat();
-        switch (planFormat) {
-            case JSON:
-            case STRING:
-                pw.print(ExecutionPlansJsonPrintUtil.asJson(executionPlans, 
planFormat));
-                break;
-            default:
-                throw new IllegalStateException("Unrecognized plan format: " + 
planFormat);
-        }
-        pw.print(",\n");
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
     }
 }
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index fa3e710..8e86b9c 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -1847,13 +1847,9 @@
             CompiledLoadFromFileStatement cls =
                     new CompiledLoadFromFileStatement(dataverseName, 
loadStmt.getDatasetName().getValue(),
                             loadStmt.getAdapter(), loadStmt.getProperties(), 
loadStmt.dataIsAlreadySorted());
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
             cls.setSourceLocation(stmt.getSourceLocation());
             JobSpecification spec =
                     apiFramework.compileQuery(hcc, metadataProvider, null, 0, 
null, sessionOutput, cls, null);
-=======
-            JobSpecification spec = apiFramework.compileQuery(hcc, 
metadataProvider, null, 0, null, sessionOutput, cls);
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
             afterCompile();
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
             bActiveTxn = false;
@@ -1948,13 +1944,9 @@
             CompiledDeleteStatement clfrqs = new 
CompiledDeleteStatement(stmtDelete.getVariableExpr(), dataverseName,
                     stmtDelete.getDatasetName().getValue(), 
stmtDelete.getCondition(), stmtDelete.getVarCounter(),
                     stmtDelete.getQuery());
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
             clfrqs.setSourceLocation(stmt.getSourceLocation());
             JobSpecification jobSpec =
                     rewriteCompileQuery(hcc, metadataProvider, 
clfrqs.getQuery(), clfrqs, stmtParams, stmtRewriter);
-=======
-            JobSpecification jobSpec = rewriteCompileQuery(hcc, 
metadataProvider, clfrqs.getQuery(), clfrqs);
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
             afterCompile();
 
             MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
@@ -2493,12 +2485,8 @@
             boolean bActiveTxn = true;
             metadataProvider.setMetadataTxnContext(mdTxnCtx);
             try {
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
                 final JobSpecification jobSpec =
                         rewriteCompileQuery(hcc, metadataProvider, query, 
null, stmtParams, stmtRewriter);
-=======
-                final JobSpecification jobSpec = rewriteCompileQuery(hcc, 
metadataProvider, query, null);
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
                 afterCompile();
                 MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
                 bActiveTxn = false;
@@ -2918,11 +2906,6 @@
         return apiFramework.getExecutionPlans();
     }
 
-    @Override
-    public ExecutionPlans getExecutionPlans() {
-        return apiFramework.getExecutionPlans();
-    }
-
     public String getActiveDataverse(Identifier dataverse) {
         return getActiveDataverseName(dataverse != null ? dataverse.getValue() 
: null);
     }
@@ -2961,13 +2944,6 @@
         if (index.isPrimaryIndex()) {
             throw new MetadataException(ErrorCode.CANNOT_DROP_INDEX, 
sourceLoc, index.getIndexName(),
                     index.getDatasetName());
-        }
-
-    }
-
-    protected void afterCompile() {
-        if (sessionOutput.config().is(SessionConfig.FORMAT_HTML)) {
-            ExecutionPlansHtmlPrintUtil.print(sessionOutput.out(), 
getExecutionPlans());
         }
     }
 
diff --git 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
index 40d17f9..412cf03 100644
--- 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
+++ 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
@@ -54,12 +54,8 @@
         STATUS("status"),
         TYPE("type"),
         ERRORS("errors"),
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
         PLANS("plans"),
         WARNINGS("warnings");
-=======
-        PLANS("plans");
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
 
         private static final Map<String, ResultField> fields = new HashMap<>();
 
@@ -169,10 +165,7 @@
                 case STATUS:
                 case TYPE:
                 case PLANS:
-<<<<<<< HEAD   (b2a738 [NO ISSUE][RT] Follow IFrameWriter protocol in 
AbstractOneIn)
                 case WARNINGS:
-=======
->>>>>>> BRANCH (a6bd8d [NO ISSUE][API] Add Execution Plans to Query Services)
                     
resultBuilder.append(OBJECT_MAPPER.writeValueAsString(fieldValue));
                     break;
                 default:

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2899
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I03b642f9e0ad4bdc034cd8f33b712dbb87a66f5d
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mhub...@apache.org>

Reply via email to