Merge branch 'gerrit/neo'
Change-Id: Id189559017248b3c9ecdfd54fa7c6d84aa21be08
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/BaseClientRequest.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/BaseClientRequest.java
index eaca53b..99cda09 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/BaseClientRequest.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/BaseClientRequest.java
@@ -90,7 +90,7 @@
@Override
public String toJson() {
- return JSONUtil.convertNodeOrThrow(asJson());
+ return JSONUtil.convertNodeUnchecked(asJson());
}
protected ObjectNode asJson() {
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
index 1d226dd..ea80ea6 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
@@ -18,11 +18,9 @@
*/
package org.apache.asterix.translator;
-import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.Deque;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -125,6 +123,7 @@
import org.apache.hyracks.algebricks.core.algebra.operators.logical.AggregateOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.DistinctOperator;
+import org.apache.hyracks.algebricks.core.algebra.operators.logical.EmptyTupleSourceOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.InnerJoinOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.LeftOuterUnnestOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.NestedTupleSourceOperator;
@@ -155,7 +154,6 @@
public static final String REWRITE_IN_AS_OR_OPTION = "rewrite_in_as_or";
private static final boolean REWRITE_IN_AS_OR_OPTION_DEFAULT = true;
- private Deque<Mutable<ILogicalOperator>> uncorrelatedRightBranchStack = new ArrayDeque<>();
private final Map<VarIdentifier, IAObject> externalVars;
private final boolean translateInAsOr;
@@ -303,12 +301,10 @@
throws CompilationException {
Mutable<ILogicalOperator> inputSrc = arg;
Pair<ILogicalOperator, LogicalVariable> topUnnest = null;
- uncorrelatedRightBranchStack.push(inputSrc);
for (FromTerm fromTerm : fromClause.getFromTerms()) {
topUnnest = fromTerm.accept(this, inputSrc);
inputSrc = new MutableObject<>(topUnnest.first);
}
- uncorrelatedRightBranchStack.pop();
return topUnnest;
}
@@ -345,8 +341,10 @@
public Pair<ILogicalOperator, LogicalVariable> visit(JoinClause joinClause, Mutable<ILogicalOperator> leftInputRef)
throws CompilationException {
SourceLocation sourceLoc = joinClause.getSourceLocation();
- if (joinClause.getJoinType() == JoinType.INNER && !context.inSubplan()) {
- Mutable<ILogicalOperator> rightInputRef = uncorrelatedRightBranchStack.peek();
+ if (joinClause.getJoinType() == JoinType.INNER && !hasFreeVariables(joinClause.getRightExpression())) {
+ EmptyTupleSourceOperator ets = new EmptyTupleSourceOperator();
+ ets.setSourceLocation(joinClause.getSourceLocation());
+ Mutable<ILogicalOperator> rightInputRef = new MutableObject<>(ets);
Pair<ILogicalOperator, LogicalVariable> rightBranch =
generateUnnestForBinaryCorrelateRightBranch(joinClause, rightInputRef, false, null);
// A join operator with condition TRUE.
@@ -509,6 +507,16 @@
}
}
+ private boolean hasFreeVariables(Expression expr) throws CompilationException {
+ Set<VariableExpr> freeVars = SqlppRewriteUtil.getFreeVariable(expr);
+ for (VariableExpr varRef : freeVars) {
+ if (!SqlppVariableUtil.isExternalVariableReference(varRef)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private static IAlgebricksConstantValue translateLeftOuterMissingValue(Literal.Type type)
throws CompilationException {
switch (type) {
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java
index 0d6a452..a2b26e7 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java
@@ -236,7 +236,7 @@
break;
default:
throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
- "The field \"" + displayFieldName + "\" which is of type " + fieldType.getTypeTag()
+ "The field '" + displayFieldName + "' which is of type " + fieldType.getTypeTag()
+ " cannot be indexed using the BTree index.");
}
break;
@@ -251,14 +251,14 @@
break;
default:
throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
- "The field \"" + displayFieldName + "\" which is of type " + fieldType.getTypeTag()
+ "The field '" + displayFieldName + "' which is of type " + fieldType.getTypeTag()
+ " cannot be indexed using the RTree index.");
}
break;
case LENGTH_PARTITIONED_NGRAM_INVIX:
if (fieldType.getTypeTag() != ATypeTag.STRING) {
throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
- "The field \"" + displayFieldName + "\" which is of type " + fieldType.getTypeTag()
+ "The field '" + displayFieldName + "' which is of type " + fieldType.getTypeTag()
+ " cannot be indexed using the Length Partitioned N-Gram index.");
}
break;
@@ -270,14 +270,14 @@
break;
default:
throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
- "The field \"" + displayFieldName + "\" which is of type " + fieldType.getTypeTag()
+ "The field '" + displayFieldName + "' which is of type " + fieldType.getTypeTag()
+ " cannot be indexed using the Length Partitioned Keyword index.");
}
break;
case SINGLE_PARTITION_NGRAM_INVIX:
if (fieldType.getTypeTag() != ATypeTag.STRING) {
throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
- "The field \"" + displayFieldName + "\" which is of type " + fieldType.getTypeTag()
+ "The field '" + displayFieldName + "' which is of type " + fieldType.getTypeTag()
+ " cannot be indexed using the N-Gram index.");
}
break;
@@ -289,7 +289,7 @@
break;
default:
throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
- "The field \"" + displayFieldName + "\" which is of type " + fieldType.getTypeTag()
+ "The field '" + displayFieldName + "' which is of type " + fieldType.getTypeTag()
+ " cannot be indexed using the Keyword index.");
}
break;
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
index bdc1bd7..eaeb082 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
@@ -83,7 +83,7 @@
}
JSONUtil.writeNode(responseWriter, json);
} catch (IllegalArgumentException e) { // NOSONAR - exception not logged or rethrown
- response.setStatus(HttpResponseStatus.NOT_FOUND);
+ sendError(response, HttpResponseStatus.NOT_FOUND);
} catch (Exception e) {
LOGGER.log(Level.INFO, "exception thrown for " + request, e);
response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR);
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/DiagnosticsApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/DiagnosticsApiServlet.java
index 9876eed..5e4b376 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/DiagnosticsApiServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/DiagnosticsApiServlet.java
@@ -79,10 +79,10 @@
} catch (RejectedExecutionException e) {
// we must be shutting down, return 503
LOGGER.info("RejectedExecutionException while servicing request; returning 503", e);
- sendError(response, HttpResponseStatus.SERVICE_UNAVAILABLE, null);
+ sendError(response, HttpResponseStatus.SERVICE_UNAVAILABLE);
} catch (Exception e) {
LOGGER.warn("exception while servicing request; returning 500", e);
- sendError(response, HttpResponseStatus.INTERNAL_SERVER_ERROR, e.toString());
+ sendError(response, HttpResponseStatus.INTERNAL_SERVER_ERROR);
}
responseWriter.flush();
}
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java
index 9efb6f8..8cf70b2 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java
@@ -295,7 +295,8 @@
responseWriter.flush();
}
- protected boolean isRequestPermittedForWrite(IServletRequest request, IServletResponse response) {
+ protected boolean isRequestPermittedForWrite(IServletRequest request, IServletResponse response)
+ throws IOException {
if (!isRequestOnLoopback(request)) {
rejectForbidden(response);
return false;
@@ -313,20 +314,21 @@
}
}
- protected static void rejectForbidden(IServletResponse response) {
- response.setStatus(HttpResponseStatus.FORBIDDEN);
- response.writer().write("{ \"error\": \"Forbidden\" }");
+ protected void rejectForbidden(IServletResponse response) throws IOException {
+ // TODO: why this JSON format, do we use this anywhere else?
+ sendError(response, HttpUtil.ContentType.APPLICATION_JSON, HttpResponseStatus.FORBIDDEN,
+ "{ \"error\": \"Forbidden\" }");
}
@Override
- protected void post(IServletRequest request, IServletResponse response) {
+ protected void post(IServletRequest request, IServletResponse response) throws IOException {
if (isRequestPermittedForWrite(request, response)) {
handleModification(request, response, LibraryOperation.UPSERT);
}
}
@Override
- protected void delete(IServletRequest request, IServletResponse response) {
+ protected void delete(IServletRequest request, IServletResponse response) throws IOException {
if (isRequestPermittedForWrite(request, response)) {
handleModification(request, response, LibraryOperation.DELETE);
}
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java
index 6b5cae2..284929f 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java
@@ -181,10 +181,9 @@
@Override
public synchronized IActiveEntityEventsListener[] getEventListeners() {
if (LOGGER.isTraceEnabled()) {
- LOGGER.trace("getEventListeners() was called");
- LOGGER.trace("returning " + entityEventListeners.size() + " Listeners");
+ LOGGER.trace("getEventListeners() returning {} listeners", entityEventListeners.size());
}
- return entityEventListeners.values().toArray(new IActiveEntityEventsListener[entityEventListeners.size()]);
+ return entityEventListeners.values().toArray(IActiveEntityEventsListener[]::new);
}
@Override
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java
index 6270c4c..f1eb315 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java
@@ -26,6 +26,9 @@
import org.apache.asterix.common.api.IResponseFieldPrinter;
import org.apache.hyracks.util.JSONUtil;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
public abstract class AbstractCodedMessagePrinter implements IResponseFieldPrinter {
private enum CodedMessageField {
@@ -68,4 +71,14 @@
}
pw.print("]");
}
+
+ public ObjectNode appendTo(ObjectNode objectNode) {
+ ArrayNode array = objectNode.putArray(getName());
+ messages.forEach(codedMessage -> {
+ ObjectNode error = array.addObject();
+ error.put(CodedMessageField.CODE.str(), codedMessage.getCode());
+ error.put(CodedMessageField.MSG.str(), codedMessage.getMessage());
+ });
+ return objectNode;
+ }
}
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 eb6c779..f7da31d 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
@@ -1248,8 +1248,8 @@
// allow overriding the type of the closed-field only if CAST modifier is used
if (!stmtCreateIndex.hasCastDefaultNull()) {
throw new CompilationException(ErrorCode.COMPILATION_ERROR,
- indexedElement.getSourceLocation(), "Typed index on \"" + projectPath
- + "\" field could be created only for open datatype");
+ indexedElement.getSourceLocation(), "Typed index on '" + projectPath
+ + "' field could be created only for open datatype");
}
}
}
@@ -1631,9 +1631,9 @@
&& !existingIndexKeyFieldTypes.equals(indexKeyFieldTypes)) {
throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
"Cannot create index " + index.getIndexName() + " , enforced index "
- + existingIndex.getIndexName() + " on field \""
- + StringUtils.join(indexKeyFieldNames, ',')
- + "\" is already defined with type \"" + existingIndexKeyFieldTypes + "\"");
+ + existingIndex.getIndexName() + " on field '"
+ + StringUtils.join(indexKeyFieldNames, ',') + "' is already defined with type '"
+ + existingIndexKeyFieldTypes + "'");
}
}
}
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 f83ddb2..091fc20 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
@@ -227,7 +227,7 @@
final String fieldName = fieldNameIter.next();
final ResultField fieldKind = ResultField.ofFieldName(fieldName.split("-")[0]);
if (fieldKind == null) {
- throw new AsterixException("Unanticipated field \"" + fieldName + "\"");
+ throw new AsterixException("Unanticipated field '" + fieldName + "'");
}
if (!resultFields.contains(fieldKind)) {
continue;
diff --git a/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml b/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml
index dc6ae3d..e642922 100644
--- a/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml
+++ b/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml
@@ -498,7 +498,7 @@
<test-case FilePath="exception">
<compilation-unit name="issue_255_create_dataset_error_1">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1014: Field "name" is not found (in line 34, at column 1)</expected-error>
+ <expected-error>ASX1014: Field 'name' is not found (in line 34, at column 1)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
@@ -511,56 +511,56 @@
<test-case FilePath="exception">
<compilation-unit name="issue_255_create_feed_error">
<output-dir compare="Text">none</output-dir>
- <expected-error>org.json.JSONException: JSONObject["summary"] not found</expected-error>
+ <expected-error>org.json.JSONException: JSONObject['summary'] not found</expected-error>
</compilation-unit>
</test-case> -->
<!-- This case should be fixed to return a proper message rather than NPE -->
<test-case FilePath="exception">
<compilation-unit name="issue_266_create_dataset_error_1">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1014: Field "point" is not found (in line 34, at column 1)</expected-error>
+ <expected-error>ASX1014: Field 'point' is not found (in line 34, at column 1)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
<compilation-unit name="issue_266_create_dataset_error_2">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1021: The primary key field "id" cannot be nullable (in line 34, at column 1)</expected-error>
+ <expected-error>ASX1021: The primary key field 'id' cannot be nullable (in line 34, at column 1)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
<compilation-unit name="issue_384_create_index_error_1">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1079: Compilation error: The field "[loc]" which is of type point cannot be indexed using the BTree index. (in line 37, at column 33)</expected-error>
+ <expected-error>ASX1079: Compilation error: The field '[loc]' which is of type point cannot be indexed using the BTree index. (in line 37, at column 33)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
<compilation-unit name="issue_384_create_index_error_2">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1079: Compilation error: The field "[age]" which is of type integer cannot be indexed using the RTree index. (in line 37, at column 33)</expected-error>
+ <expected-error>ASX1079: Compilation error: The field '[age]' which is of type integer cannot be indexed using the RTree index. (in line 37, at column 33)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
<compilation-unit name="issue_384_create_index_error_3">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1079: Compilation error: The field "[loc]" which is of type point cannot be indexed using the Length Partitioned Keyword index. (in line 37, at column 33)</expected-error>
+ <expected-error>ASX1079: Compilation error: The field '[loc]' which is of type point cannot be indexed using the Length Partitioned Keyword index. (in line 37, at column 33)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
<compilation-unit name="issue_384_create_index_error_4">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1079: Compilation error: The field "[loc]" which is of type point cannot be indexed using the Length Partitioned Keyword index. (in line 37, at column 33)</expected-error>
+ <expected-error>ASX1079: Compilation error: The field '[loc]' which is of type point cannot be indexed using the Length Partitioned Keyword index. (in line 37, at column 33)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
<compilation-unit name="issue_384_create_index_error_5">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1079: Compilation error: The field "[loc]" which is of type point cannot be indexed using the Length Partitioned N-Gram index. (in line 37, at column 33)</expected-error>
+ <expected-error>ASX1079: Compilation error: The field '[loc]' which is of type point cannot be indexed using the Length Partitioned N-Gram index. (in line 37, at column 33)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="exception">
<compilation-unit name="issue_384_create_index_error_6">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1079: Compilation error: The field "[loc]" which is of type point cannot be indexed using the Length Partitioned N-Gram index. (in line 37, at column 33)</expected-error>
+ <expected-error>ASX1079: Compilation error: The field '[loc]' which is of type point cannot be indexed using the Length Partitioned N-Gram index. (in line 37, at column 33)</expected-error>
</compilation-unit>
</test-case>
</test-group>
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/ch2/ch2_q8_subquery.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/ch2/ch2_q8_subquery.sqlpp
new file mode 100644
index 0000000..3b31cf7
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/ch2/ch2_q8_subquery.sqlpp
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Test plan for CH2 Q8
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use test;
+
+create dataset stock(id uuid not unknown) open type primary key `id` autogenerated;
+create dataset orders(id uuid not unknown) open type primary key `id` autogenerated;
+create dataset customer(id uuid not unknown) open type primary key `id` autogenerated;
+create dataset nation(id uuid not unknown) open type primary key `id` autogenerated;
+create dataset supplier(id uuid not unknown) open type primary key `id` autogenerated;
+create dataset item(id uuid not unknown) open type primary key `id` autogenerated;
+create dataset region(id uuid not unknown) open type primary key `id` autogenerated;
+
+SELECT
+ GET_YEAR(DATE(rn1coolis.o_entry_d)) AS l_year,
+ ROUND((SUM(CASE WHEN sun2.n_name = 'Germany' THEN rn1coolis.ol_amount ELSE 0 END) / SUM(rn1coolis.ol_amount)),2)
+ AS mkt_share
+FROM (
+ SELECT rn1cooli.o_entry_d, rn1cooli.ol_amount, s.s_w_id, s.s_i_id
+ FROM stock s
+ JOIN (
+ SELECT o.o_entry_d, ol.ol_i_id, ol.ol_amount, ol.ol_supply_w_id
+ FROM orders o, o.o_orderline ol, item i
+ JOIN (
+ SELECT c.c_id,c.c_w_id, c.c_d_id
+ FROM customer c
+ JOIN (
+ SELECT n1.n_nationkey
+ FROM nation n1, region r
+ WHERE n1.n_regionkey = r.r_regionkey AND r.r_name = 'Europe'
+ ) nr ON nr.n_nationkey = string_to_codepoint(c.c_state)[0]
+ ) cnr ON cnr.c_id = o.o_c_id
+ AND cnr.c_w_id = o.o_w_id AND cnr.c_d_id = o.o_d_id AND i.i_data LIKE '%b'
+ AND i.i_id = ol.ol_i_id AND ol.ol_i_id < 1000
+ AND o.o_entry_d BETWEEN '2017-01-01 00:00:00.000000' AND '2018-12-31 00:00:00.000000'
+ ) rn1cooli ON rn1cooli.ol_i_id = s.s_i_id AND rn1cooli.ol_supply_w_id = s.s_w_id
+) rn1coolis
+JOIN (
+ SELECT su.su_suppkey, n2.n_name
+ FROM supplier su, nation n2
+ WHERE su.su_nationkey = n2.n_nationkey
+) sun2 ON rn1coolis.s_w_id * rn1coolis.s_i_id MOD 10000 = sun2.su_suppkey
+GROUP BY get_year(date(rn1coolis.o_entry_d))
+ORDER BY l_year;
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/queries/joins/inner_right_corr.sqlpp b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/joins/inner_right_corr.sqlpp
new file mode 100644
index 0000000..86821b1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/queries/joins/inner_right_corr.sqlpp
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Test plan when right branch of an inner join uses an outer variable.
+ * Currently this results in NL join
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use test;
+
+create dataset t1(id uuid not unknown) open type primary key id autogenerated;
+create dataset t2(id uuid not unknown) open type primary key id autogenerated;
+
+select a
+from t1
+let a = (select value count(*) from t2 join t1.x as z on t2.y = z.b );
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q8_subquery.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q8_subquery.plan
new file mode 100644
index 0000000..3c62aa7
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q8_subquery.plan
@@ -0,0 +1,128 @@
+-- DISTRIBUTE_RESULT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- SORT_MERGE_EXCHANGE [$#1(ASC) ] |PARTITIONED|
+ -- SORT_GROUP_BY[$$333] |PARTITIONED|
+ {
+ -- AGGREGATE |LOCAL|
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- HASH_PARTITION_EXCHANGE [$$333] |PARTITIONED|
+ -- SORT_GROUP_BY[$$278] |PARTITIONED|
+ {
+ -- AGGREGATE |LOCAL|
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$304][$$325] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$304] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$280, $$279][$$290, $$320] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$280, $$279] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.stock) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$290, $$320] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$297, $$299, $$301][$$317, $$318, $$316] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$297, $$299, $$301] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$290][$$308] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$290] |PARTITIONED|
+ -- STREAM_SELECT |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- UNNEST |PARTITIONED|
+ -- STREAM_SELECT |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.orders) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$308] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- STREAM_SELECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.item) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$317, $$318, $$316] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$295][$$315] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$295] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.customer) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$315] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$292][$$293] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$292] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- REPLICATE |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.nation) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$293] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- STREAM_SELECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.region) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$325] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$309][$$310] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$309] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.supplier) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$310] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- REPLICATE |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.nation) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan
new file mode 100644
index 0000000..37c3434
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan
@@ -0,0 +1,53 @@
+-- DISTRIBUTE_RESULT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- PRE_CLUSTERED_GROUP_BY[$$71] |PARTITIONED|
+ {
+ -- AGGREGATE |LOCAL|
+ -- AGGREGATE |LOCAL|
+ -- STREAM_SELECT |LOCAL|
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- HYBRID_HASH_JOIN [$$71][$$87] |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.t1) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$87] |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- UNNEST |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- SUBPLAN |PARTITIONED|
+ {
+ -- AGGREGATE |LOCAL|
+ -- STREAM_SELECT |LOCAL|
+ -- ASSIGN |LOCAL|
+ -- UNNEST |LOCAL|
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- NESTED_LOOP |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.t1) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- BROADCAST_EXCHANGE |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.t2) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan
index a5264a9..dfaa310 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan
@@ -1,49 +1,41 @@
-- DISTRIBUTE_RESULT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
- -- SORT_MERGE_EXCHANGE [$$64(ASC) ] |PARTITIONED|
+ -- SORT_MERGE_EXCHANGE [$$55(ASC) ] |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- STREAM_SELECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- SORT_GROUP_BY[$$78] |PARTITIONED|
+ -- SORT_GROUP_BY[$$65] |PARTITIONED|
{
-- AGGREGATE |LOCAL|
-- NESTED_TUPLE_SOURCE |LOCAL|
}
- -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$65] |PARTITIONED|
+ -- PRE_CLUSTERED_GROUP_BY[$$46] |PARTITIONED|
{
-- AGGREGATE |LOCAL|
-- STREAM_SELECT |LOCAL|
-- NESTED_TUPLE_SOURCE |LOCAL|
}
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
+ -- STABLE_SORT [$$46(ASC)] |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- HYBRID_HASH_JOIN [$$48][$$61] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- DATASOURCE_SCAN (test.ds1) |PARTITIONED|
- -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- EMPTY_TUPLE_SOURCE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$61] |PARTITIONED|
- -- ASSIGN |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
- -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- HYBRID_HASH_JOIN [$$b][$$51] |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$b] |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
- -- UNNEST |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
- -- ASSIGN |PARTITIONED|
- -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- DATASOURCE_SCAN (test.ds1) |PARTITIONED|
- -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- EMPTY_TUPLE_SOURCE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$51] |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
- -- ASSIGN |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
- -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- DATASOURCE_SCAN (test.ds2) |PARTITIONED|
- -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- -- EMPTY_TUPLE_SOURCE |PARTITIONED|
\ No newline at end of file
+ -- HYBRID_HASH_JOIN [$$b][$$48] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$b] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- UNNEST |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.ds1) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$48] |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- DATASOURCE_SCAN (test.ds2) |PARTITIONED|
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp
index 97a9955..eb34dbf 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_01/datetime_01.3.query.sqlpp
@@ -34,7 +34,8 @@
'-19280329T17493737+0630',
'-19280301T05493737+0630',
test.datetime('-19280301T05493737+0630'),
- date('2020-01-02')
+ date('2020-01-02'),
+ time('01:02:03.456')
],
testNull = [
null,
@@ -47,7 +48,6 @@
int64(0),
float(0),
double(0),
- time('01:02:03'),
duration('PT0H'),
year_month_duration('P0Y0M'),
day_time_duration('P0D')
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_02/datetime_02.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_02/datetime_02.1.query.sqlpp
index 082d840..dec3016 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_02/datetime_02.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/constructor/datetime_02/datetime_02.1.query.sqlpp
@@ -24,8 +24,7 @@
"null_0": datetime("@#!"),
"null_1": datetime(false),
"null_2": datetime(0),
- "null_3": datetime(time("01:02:03")),
- "null_4": datetime([]),
- "null_5": datetime({}),
- "null_6": datetime("1951-12-27T12:20:15Z", "INVALID_FORMAT")
+ "null_3": datetime([]),
+ "null_4": datetime({}),
+ "null_5": datetime("1951-12-27T12:20:15Z", "INVALID_FORMAT")
};
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/ObjectsQueries.xml b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/ObjectsQueries.xml
index 2675c40..bf48a7b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/ObjectsQueries.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/ObjectsQueries.xml
@@ -111,7 +111,7 @@
<compilation-unit name="no_fieldname_constr">
<output-dir compare="Text">no_fieldname_constr</output-dir>
<expected-warn>Encountered a cross product join (in line 27, at column 22)</expected-warn>
- <expected-warn>Duplicate field name "a" (in line 31, at column 24)</expected-warn>
+ <expected-warn>Duplicate field name 'a' (in line 31, at column 24)</expected-warn>
</compilation-unit>
</test-case>
<test-case FilePath="objects">
@@ -199,7 +199,7 @@
<test-case FilePath="objects" check-warnings="true">
<compilation-unit name="closed-closed-fieldname-conflict_issue173">
<output-dir compare="Text">closed-closed-fieldname-conflict_issue173</output-dir>
- <expected-warn>Duplicate field name "name" (in line 30, at column 16)</expected-warn>
+ <expected-warn>Duplicate field name 'name' (in line 30, at column 16)</expected-warn>
</compilation-unit>
</test-case>
<test-case FilePath="objects" check-warnings="true">
@@ -227,15 +227,15 @@
<test-case FilePath="objects" check-warnings="true">
<compilation-unit name="object_duplicate_fields">
<output-dir compare="Text">object_duplicate_fields</output-dir>
- <expected-warn>Duplicate field name "name" (in line 27, at column 1)</expected-warn>
- <expected-warn>Duplicate field name "Name" (in line 29, at column 1)</expected-warn>
- <expected-warn>Duplicate field name "name" (in line 31, at column 1)</expected-warn>
- <expected-warn>Duplicate field name "name" (in line 22, at column 30)</expected-warn>
- <expected-warn>Duplicate field name "id" (in line 22, at column 56)</expected-warn>
- <expected-warn>Duplicate field name "f1" (in line 22, at column 70)</expected-warn>
- <expected-warn>Duplicate field name "id" (in line 22, at column 56)</expected-warn>
- <expected-warn>Duplicate field name "f1" (in line 22, at column 83)</expected-warn>
- <expected-warn>Duplicate field name "fname1" (in line 25, at column 45)</expected-warn>
+ <expected-warn>Duplicate field name 'name' (in line 27, at column 1)</expected-warn>
+ <expected-warn>Duplicate field name 'Name' (in line 29, at column 1)</expected-warn>
+ <expected-warn>Duplicate field name 'name' (in line 31, at column 1)</expected-warn>
+ <expected-warn>Duplicate field name 'name' (in line 22, at column 30)</expected-warn>
+ <expected-warn>Duplicate field name 'id' (in line 22, at column 56)</expected-warn>
+ <expected-warn>Duplicate field name 'f1' (in line 22, at column 70)</expected-warn>
+ <expected-warn>Duplicate field name 'id' (in line 22, at column 56)</expected-warn>
+ <expected-warn>Duplicate field name 'f1' (in line 22, at column 83)</expected-warn>
+ <expected-warn>Duplicate field name 'fname1' (in line 25, at column 45)</expected-warn>
</compilation-unit>
</test-case>
</test-group>
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
index f444fa1..ad95b7b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
@@ -1,6 +1,6 @@
{
"errors": [{
- "code": 1, "msg": "ASX0047: Invalid value for parameter \"format\": foo" }
+ "code": 1, "msg": "ASX0047: Invalid value for parameter 'format': foo" }
],
"status": "fatal",
"metrics": {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
index 8d2b2d2..cb20c29 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_01/datetime_01.1.adm
@@ -14,6 +14,7 @@
{ "g": 0, "i": 13, "actual": datetime("-1928-03-01T05:49:37.370") }
{ "g": 0, "i": 14, "actual": datetime("-1928-03-01T05:49:37.370") }
{ "g": 0, "i": 15, "actual": datetime("2020-01-02T00:00:00.000") }
+{ "g": 0, "i": 16, "actual": datetime("1970-01-01T01:02:03.456") }
{ "g": 1, "i": 0, "expected": null, "actual": null }
{ "g": 1, "i": 1, "expected": null, "actual": null }
{ "g": 1, "i": 2, "expected": null, "actual": null }
@@ -27,5 +28,4 @@
{ "g": 1, "i": 10, "expected": null, "actual": null }
{ "g": 1, "i": 11, "expected": null, "actual": null }
{ "g": 1, "i": 12, "expected": null, "actual": null }
-{ "g": 1, "i": 13, "expected": null, "actual": null }
{ "g": 2, "i": 0, "expected": true, "actual": true }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_02/datetime_02.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_02/datetime_02.1.adm
index a7601ae..4d80977 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_02/datetime_02.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/datetime_02/datetime_02.1.adm
@@ -1 +1 @@
-{ "null_0": null, "null_1": null, "null_2": null, "null_3": null, "null_4": null, "null_5": null, "null_6": null }
\ No newline at end of file
+{ "null_0": null, "null_1": null, "null_2": null, "null_3": null, "null_4": null, "null_5": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.03.regexadm b/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.03.regexadm
index d67e7a1..519019a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.03.regexadm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.03.regexadm
@@ -23,7 +23,7 @@
\s*\Q"warnings": [{\E\s*
\s*\Q"code": 1,\E\s*\Q"msg": "ASX1107: Unexpected hint: hint. None expected at this location\E[^}]+\Q}\E\s*
\s*\Q,{\E\s*
-\s*\Q"code": 1,\E\s*\Q"msg": "ASX1006: Duplicate field name \"a\"\E[^}]+\Q}\E\s*
+\s*\Q"code": 1,\E\s*\Q"msg": "ASX1006: Duplicate field name 'a'\E[^}]+\Q}\E\s*
\s*\Q,{\E\s*
\s*\Q"code": 1,\E\s*\Q"msg": "ASX0002: Type mismatch: function isbitset expects its 2nd input parameter to be of type bigint or array, but the actual input type is string\E[^}]+\Q}\E\s*
\s*\Q],\E
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.06.regexadm b/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.06.regexadm
index 64a3bde..5eeb3df 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.06.regexadm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.06.regexadm
@@ -6,7 +6,7 @@
\s*\Q"results": [ {\E.*warnings\Q": [{\E\s*
\s*\Q"code": 1,\E\s*\Q"msg": "ASX1107: Unexpected hint: hint. None expected at this location\E[^}]+\Q}\E\s*
\s*\Q,{\E\s*
-\s*\Q"code": 1,\E\s*\Q"msg": "ASX1006: Duplicate field name \"a\"\E[^}]+\Q}\E\s*
+\s*\Q"code": 1,\E\s*\Q"msg": "ASX1006: Duplicate field name 'a'\E[^}]+\Q}\E\s*
\s*\Q],\E
\s*\Q"status": "success",\E
\s*\Q"metrics": {\E
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.08.regexadm b/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.08.regexadm
index d67e7a1..519019a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.08.regexadm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/warnings/warnings-limit/warnings-limit.08.regexadm
@@ -23,7 +23,7 @@
\s*\Q"warnings": [{\E\s*
\s*\Q"code": 1,\E\s*\Q"msg": "ASX1107: Unexpected hint: hint. None expected at this location\E[^}]+\Q}\E\s*
\s*\Q,{\E\s*
-\s*\Q"code": 1,\E\s*\Q"msg": "ASX1006: Duplicate field name \"a\"\E[^}]+\Q}\E\s*
+\s*\Q"code": 1,\E\s*\Q"msg": "ASX1006: Duplicate field name 'a'\E[^}]+\Q}\E\s*
\s*\Q,{\E\s*
\s*\Q"code": 1,\E\s*\Q"msg": "ASX0002: Type mismatch: function isbitset expects its 2nd input parameter to be of type bigint or array, but the actual input type is string\E[^}]+\Q}\E\s*
\s*\Q],\E
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast
index b348fda..ad2b9d9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/constructor/datetime_01/datetime_01.3.ast
@@ -22,6 +22,9 @@
FunctionCall asterix.date@1[
LiteralExpr [STRING] [2020-01-02]
]
+ FunctionCall asterix.time@1[
+ LiteralExpr [STRING] [01:02:03.456]
+ ]
]
Let Variable [ Name=$testNull ]
:=
@@ -48,9 +51,6 @@
FunctionCall asterix.double@1[
LiteralExpr [LONG] [0]
]
- FunctionCall asterix.time@1[
- LiteralExpr [STRING] [01:02:03]
- ]
FunctionCall asterix.duration@1[
LiteralExpr [STRING] [PT0H]
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_azure_blob_storage.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_azure_blob_storage.xml
index 2e1a6bf..ae3b2aa 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_azure_blob_storage.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_azure_blob_storage.xml
@@ -218,28 +218,28 @@
<compilation-unit name="common/include-exclude/bad-name-1">
<placeholder name="adapter" value="AZUREBLOB" />
<output-dir compare="Text">common/include-exclude/bad-name-1</output-dir>
- <expected-error>Invalid format for property "exclude1"</expected-error>
+ <expected-error>Invalid format for property 'exclude1'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
<compilation-unit name="common/include-exclude/bad-name-2">
<placeholder name="adapter" value="AZUREBLOB" />
<output-dir compare="Text">common/include-exclude/bad-name-2</output-dir>
- <expected-error>Invalid format for property "exclude#"</expected-error>
+ <expected-error>Invalid format for property 'exclude#'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
<compilation-unit name="common/include-exclude/bad-name-3">
<placeholder name="adapter" value="AZUREBLOB" />
<output-dir compare="Text">common/include-exclude/bad-name-3</output-dir>
- <expected-error>Invalid format for property "exclude#hello"</expected-error>
+ <expected-error>Invalid format for property 'exclude#hello'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
<compilation-unit name="common/include-exclude/both">
<placeholder name="adapter" value="AZUREBLOB" />
<output-dir compare="Text">common/include-exclude/both</output-dir>
- <expected-error>The parameters "include" and "exclude" cannot be provided at the same time</expected-error>
+ <expected-error>The parameters 'include' and 'exclude' cannot be provided at the same time</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml
index a8786e2..12a8ae2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml
@@ -305,28 +305,28 @@
<compilation-unit name="common/include-exclude/bad-name-1">
<placeholder name="adapter" value="S3" />
<output-dir compare="Text">common/include-exclude/bad-name-1</output-dir>
- <expected-error>Invalid format for property "exclude1"</expected-error>
+ <expected-error>Invalid format for property 'exclude1'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
<compilation-unit name="common/include-exclude/bad-name-2">
<placeholder name="adapter" value="S3" />
<output-dir compare="Text">common/include-exclude/bad-name-2</output-dir>
- <expected-error>Invalid format for property "exclude#"</expected-error>
+ <expected-error>Invalid format for property 'exclude#'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
<compilation-unit name="common/include-exclude/bad-name-3">
<placeholder name="adapter" value="S3" />
<output-dir compare="Text">common/include-exclude/bad-name-3</output-dir>
- <expected-error>Invalid format for property "exclude#hello"</expected-error>
+ <expected-error>Invalid format for property 'exclude#hello'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
<compilation-unit name="common/include-exclude/both">
<placeholder name="adapter" value="S3" />
<output-dir compare="Text">common/include-exclude/both</output-dir>
- <expected-error>The parameters "include" and "exclude" cannot be provided at the same time</expected-error>
+ <expected-error>The parameters 'include' and 'exclude' cannot be provided at the same time</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="external-dataset">
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_it_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_it_sqlpp.xml
index 7667bb4..b922fe4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_it_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_it_sqlpp.xml
@@ -72,7 +72,7 @@
<expected-error>ASX3042: Unsupported function language badType</expected-error>
<expected-error>ASX1117: Cannot find library with name testlib</expected-error>
<expected-error>ASX0049: Parameter(s) type must be specified</expected-error>
- <expected-error>ASX0047: Invalid value for parameter \"data\": Attribute</expected-error>
+ <expected-error>ASX0047: Invalid value for parameter 'data': Attribute</expected-error>
<expected-error>ASX0049: Parameter(s) data must be specified</expected-error>
</compilation-unit>
</test-case>
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 0bfbcf2..bc9353b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -62,31 +62,31 @@
<test-case FilePath="api">
<compilation-unit name="request-param-validation">
<output-dir compare="Text">request-param-validation</output-dir>
- <expected-error>Invalid value for parameter "format": foo</expected-error>
- <expected-error>Invalid value for parameter "pretty": bar</expected-error>
- <expected-error>Invalid value for parameter "plan-format": blah</expected-error>
- <expected-error>Invalid value for parameter "max-result-reads": foo</expected-error>
- <expected-error>Invalid value for parameter "max-result-reads": 9999999999999999999999999999999999999999</expected-error>
- <expected-error>Invalid value for parameter "max-warnings": baz</expected-error>
- <expected-error>Invalid value for parameter "max-warnings": 1.5</expected-error>
- <expected-error>Invalid value for parameter "mode": asyn</expected-error>
- <expected-error>Invalid value for parameter "timeout": 12</expected-error>
- <expected-error>Invalid value for parameter "args": 12</expected-error>
+ <expected-error>Invalid value for parameter 'format': foo</expected-error>
+ <expected-error>Invalid value for parameter 'pretty': bar</expected-error>
+ <expected-error>Invalid value for parameter 'plan-format': blah</expected-error>
+ <expected-error>Invalid value for parameter 'max-result-reads': foo</expected-error>
+ <expected-error>Invalid value for parameter 'max-result-reads': 9999999999999999999999999999999999999999</expected-error>
+ <expected-error>Invalid value for parameter 'max-warnings': baz</expected-error>
+ <expected-error>Invalid value for parameter 'max-warnings': 1.5</expected-error>
+ <expected-error>Invalid value for parameter 'mode': asyn</expected-error>
+ <expected-error>Invalid value for parameter 'timeout': 12</expected-error>
+ <expected-error>Invalid value for parameter 'args': 12</expected-error>
<expected-error>Unable to process JSON content in request</expected-error>
<expected-error>Unable to process JSON content in request</expected-error>
- <expected-error>Invalid value for parameter "format": foo</expected-error>
- <expected-error>Invalid value for parameter "pretty": bar</expected-error>
- <expected-error>Invalid value for parameter "plan-format": blah</expected-error>
- <expected-error>Invalid value for parameter "max-result-reads": foo</expected-error>
- <expected-error>Invalid value for parameter "max-warnings": baz</expected-error>
- <expected-error>Invalid value for parameter "mode": asyn</expected-error>
- <expected-error>Invalid value for parameter "args": 12</expected-error>
+ <expected-error>Invalid value for parameter 'format': foo</expected-error>
+ <expected-error>Invalid value for parameter 'pretty': bar</expected-error>
+ <expected-error>Invalid value for parameter 'plan-format': blah</expected-error>
+ <expected-error>Invalid value for parameter 'max-result-reads': foo</expected-error>
+ <expected-error>Invalid value for parameter 'max-warnings': baz</expected-error>
+ <expected-error>Invalid value for parameter 'mode': asyn</expected-error>
+ <expected-error>Invalid value for parameter 'args': 12</expected-error>
<expected-error>Unable to process JSON content in request</expected-error>
<expected-error>Unable to process JSON content in request</expected-error>
- <expected-error>Invalid value for parameter "profile": true</expected-error>
- <expected-error>Invalid value for parameter "profile": true</expected-error>
- <expected-error>Invalid value for parameter "profile": foo</expected-error>
- <expected-error>Invalid value for parameter "profile": foo</expected-error>
+ <expected-error>Invalid value for parameter 'profile': true</expected-error>
+ <expected-error>Invalid value for parameter 'profile': true</expected-error>
+ <expected-error>Invalid value for parameter 'profile': foo</expected-error>
+ <expected-error>Invalid value for parameter 'profile': foo</expected-error>
<source-location>false</source-location>
</compilation-unit>
</test-case>
@@ -232,21 +232,21 @@
<test-case FilePath="flwor" check-warnings="true">
<compilation-unit name="query-ASTERIXDB-2446">
<output-dir compare="Text">query-ASTERIXDB-2446</output-dir>
- <expected-error>ASX0013: Duplicate field name "a"</expected-error>
- <expected-warn>Duplicate field name "c" (in line 28, at column 84)</expected-warn>
- <expected-warn>Duplicate field name "e" (in line 28, at column 116)</expected-warn>
+ <expected-error>ASX0013: Duplicate field name 'a'</expected-error>
+ <expected-warn>Duplicate field name 'c' (in line 28, at column 84)</expected-warn>
+ <expected-warn>Duplicate field name 'e' (in line 28, at column 116)</expected-warn>
</compilation-unit>
</test-case>
<test-case FilePath="flwor">
<compilation-unit name="query-ASTERIXDB-2446-2">
<output-dir compare="Text">query-ASTERIXDB-883</output-dir>
- <expected-error>ASX0013: Duplicate field name "a" (in line 27, at column 20)</expected-error>
- <expected-error>ASX0013: Duplicate field name "b" (in line 27, at column 20)</expected-error>
- <expected-error>ASX0013: Duplicate field name "c" (in line 27, at column 11)</expected-error>
- <expected-error>ASX0013: Duplicate field name "d" (in line 27, at column 11)</expected-error>
- <expected-error>ASX0013: Duplicate field name "e" (in line 27, at column 14)</expected-error>
- <expected-error>ASX0013: Duplicate field name "f" (in line 27, at column 11)</expected-error>
- <expected-error>ASX0013: Duplicate field name "g" (in line 27, at column 11)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'a' (in line 27, at column 20)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'b' (in line 27, at column 20)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'c' (in line 27, at column 11)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'd' (in line 27, at column 11)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'e' (in line 27, at column 14)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'f' (in line 27, at column 11)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'g' (in line 27, at column 11)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="flwor">
@@ -3674,10 +3674,9 @@
<expected-warn>ASX0006: Invalid format for datetime in @#! (in line 24, at column 13)</expected-warn>
<expected-warn>ASX0004: Unsupported type: datetime() cannot process input type boolean (in line 25, at column 13)</expected-warn>
<expected-warn>ASX0004: Unsupported type: datetime() cannot process input type bigint (in line 26, at column 13)</expected-warn>
- <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type time (in line 27, at column 13)</expected-warn>
- <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type array (in line 28, at column 13)</expected-warn>
- <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type object (in line 29, at column 13)</expected-warn>
- <expected-warn>ASX0006: Invalid format for datetime in 1951-12-27T12:20:15Z (in line 30, at column 13)</expected-warn>
+ <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type array (in line 27, at column 13)</expected-warn>
+ <expected-warn>ASX0004: Unsupported type: datetime() cannot process input type object (in line 28, at column 13)</expected-warn>
+ <expected-warn>ASX0006: Invalid format for datetime in 1951-12-27T12:20:15Z (in line 29, at column 13)</expected-warn>
</compilation-unit>
</test-case>
<test-case FilePath="constructor">
@@ -4158,7 +4157,7 @@
<compilation-unit name="bad-type-ddl">
<output-dir compare="Text">none</output-dir>
<expected-error>ASX1079: Compilation error: Reserved type name $x</expected-error>
- <expected-error>ASX0013: Duplicate field name "c" (in line 29, at column 19)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'c' (in line 29, at column 19)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
@@ -4172,13 +4171,13 @@
<expected-error>ASX1082: Cannot find datatype with name test.$d$t$i$Cust1</expected-error>
<expected-error>ASX1082: Cannot find datatype with name test.$d$t$i$Cust2</expected-error>
<expected-error>ASX1082: Cannot find datatype with name my_unknown_type</expected-error>
- <expected-error>ASX0013: Duplicate field name "c_name" (in line 25, at column 22)</expected-error>
+ <expected-error>ASX0013: Duplicate field name 'c_name' (in line 25, at column 22)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="drop-primary-index">
<output-dir compare="Text">drop-primary-index</output-dir>
- <expected-error>Cannot drop index "ds". Drop dataset "ds" to remove this index</expected-error>
+ <expected-error>Cannot drop index 'ds'. Drop dataset 'ds' to remove this index</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl" check-warnings="true">
@@ -4197,89 +4196,89 @@
<test-case FilePath="ddl">
<compilation-unit name="invalid-dataverse-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " invalid"</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
<expected-error>ASX1079: Compilation error: Invalid operation - Cannot create dataverse: asterix</expected-error>
<expected-error>ASX1079: Compilation error: Invalid operation - Cannot create dataverse: algebricks</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "" (in line 24, at column 16)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 27, at column 16)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: '' (in line 24, at column 16)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 27, at column 16)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-dataset-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " invalid"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 29, at column 16)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "c/d" (in line 31, at column 14)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 16)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 31, at column 14)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-feed-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " invalid"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 34, at column 13)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "c/d" (in line 42, at column 11)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 34, at column 13)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 42, at column 11)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-feed-policy-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 29, at column 1)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "c/d" (in line 32, at column 23)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 1)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 32, at column 23)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-index-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " invalid"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 29, at column 19)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "c/d" (in line 33, at column 12)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 19)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 33, at column 12)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-nodegroup-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-type-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " invalid"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 29, at column 13)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "c/d" (in line 33, at column 11)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 13)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 33, at column 11)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-udf-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: ""</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " invalid"</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 29, at column 17)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "c/d" (in line 33, at column 15)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ''</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' invalid'</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 17)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 33, at column 15)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
<compilation-unit name="invalid-view-name">
<output-dir compare="Text">none</output-dir>
- <expected-error>ASX1115: Invalid name for a database object: "" (in line 29, at column 1)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " a" (in line 29, at column 1)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: " invalid" (in line 29, at column 1)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "a/b" (in line 29, at column 13)</expected-error>
- <expected-error>ASX1115: Invalid name for a database object: "c/d" (in line 32, at column 11)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: '' (in line 29, at column 1)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' a' (in line 29, at column 1)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: ' invalid' (in line 29, at column 1)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'a/b' (in line 29, at column 13)</expected-error>
+ <expected-error>ASX1115: Invalid name for a database object: 'c/d' (in line 32, at column 11)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="ddl">
@@ -4328,7 +4327,7 @@
<expected-error>CAST modifier is only allowed for B-Tree indexes</expected-error>
<expected-error>CAST modifier cannot be specified together with ENFORCED</expected-error>
<expected-error>CAST modifier is used without specifying the type of the indexed field</expected-error>
- <expected-error>Typed index on "[typed_f2]" field could be created only for open datatype</expected-error>
+ <expected-error>Typed index on '[typed_f2]' field could be created only for open datatype</expected-error>
<expected-error>Parameter invalid_date cannot be set</expected-error>
</compilation-unit>
</test-case>
@@ -4592,8 +4591,8 @@
<test-case FilePath="dml">
<compilation-unit name="load-with-autogenerated-no-field">
<output-dir compare="Text">load-with-autogenerated-no-field</output-dir>
- <expected-error>ASX1014: Field "not_id" is not found</expected-error>
- <expected-error>ASX1014: Field "not_id" is not found</expected-error>
+ <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
+ <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="dml">
@@ -5110,8 +5109,8 @@
<test-case FilePath="dml">
<compilation-unit name="load-with-autogenerated-no-field">
<output-dir compare="Text">load-with-autogenerated-no-field</output-dir>
- <expected-error>ASX1014: Field "not_id" is not found</expected-error>
- <expected-error>ASX1014: Field "not_id" is not found</expected-error>
+ <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
+ <expected-error>ASX1014: Field 'not_id' is not found</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="dml">
@@ -6985,7 +6984,7 @@
<test-case FilePath="misc">
<compilation-unit name="partition-by-nonexistent-field">
<output-dir compare="Text">partition-by-nonexistent-field</output-dir>
- <expected-error>Field "id" is not found</expected-error>
+ <expected-error>Field 'id' is not found</expected-error>
<expected-error>Cannot find dataset with name testds in dataverse test</expected-error>
<expected-error>Cannot find dataset testds in dataverse test nor an alias with name testds</expected-error>
</compilation-unit>
@@ -7274,7 +7273,7 @@
<test-case FilePath="index/validations">
<compilation-unit name="repetitive-keys">
<output-dir compare="Text">repetitive-keys</output-dir>
- <expected-error>Cannot create index with the same field "[value]" specified more than once.</expected-error>
+ <expected-error>Cannot create index with the same field '[value]' specified more than once.</expected-error>
</compilation-unit>
</test-case>
</test-group>
@@ -7284,13 +7283,13 @@
<test-case FilePath="open-index-enforced/error-checking">
<compilation-unit name="enforced-field-name-collision">
<output-dir compare="Text">enforced-field-name-collision</output-dir>
- <expected-error>Cannot create enforced index on "[value]" field. The field is closed type.</expected-error>
+ <expected-error>Cannot create enforced index on '[value]' field. The field is closed type.</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="open-index-enforced/error-checking">
<compilation-unit name="enforced-field-type-collision">
<output-dir compare="Text">enforced-field-type-collision</output-dir>
- <expected-error>Cannot create enforced index on "[value]" field. The field is closed type.</expected-error>
+ <expected-error>Cannot create enforced index on '[value]' field. The field is closed type.</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="open-index-enforced/error-checking">
@@ -7302,31 +7301,31 @@
<test-case FilePath="open-index-enforced/error-checking">
<compilation-unit name="missing-optionality">
<output-dir compare="Text">missing-optionality</output-dir>
- <expected-error>Cannot create enforced index on "[value]" field with non-optional type</expected-error>
+ <expected-error>Cannot create enforced index on '[value]' field with non-optional type</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="open-index-enforced/error-checking">
<compilation-unit name="index-on-closed-type">
<output-dir compare="Text">index-on-closed-type</output-dir>
- <expected-error>ASX1014: Field "value" is not found (in line 33, at column 34)</expected-error>
+ <expected-error>ASX1014: Field 'value' is not found (in line 33, at column 34)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="open-index-enforced/error-checking">
<compilation-unit name="index-type-collision">
<output-dir compare="Text">index-type-collision</output-dir>
- <expected-error>Cannot create index testIdx2 , enforced index testIdx1 on field "[value]" is already defined with type "[integer]"</expected-error>
+ <expected-error>Cannot create index testIdx2 , enforced index testIdx1 on field '[value]' is already defined with type '[integer]'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="open-index-enforced/error-checking">
<compilation-unit name="index-type-promotion-collision">
<output-dir compare="Text">index-type-promotion-collision</output-dir>
- <expected-error>Cannot create index testIdx2 , enforced index testIdx1 on field "[value]" is already defined with type "[bigint]"</expected-error>
+ <expected-error>Cannot create index testIdx2 , enforced index testIdx1 on field '[value]' is already defined with type '[bigint]'</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="open-index-enforced/error-checking">
<compilation-unit name="object-type-collision">
<output-dir compare="Text">object-type-collision</output-dir>
- <expected-error>ASX1051: Cannot create enforced index on "[value]" field. The field is closed type.</expected-error>
+ <expected-error>ASX1051: Cannot create enforced index on '[value]' field. The field is closed type.</expected-error>
</compilation-unit>
</test-case>
</test-group>
@@ -8142,7 +8141,7 @@
<test-case FilePath="array-index/error-handling">
<compilation-unit name="index-on-closed-array">
<output-dir compare="Text">index-on-closed-array</output-dir>
- <expected-error>ASX1014: Field "date" is not found</expected-error>
+ <expected-error>ASX1014: Field 'date' is not found</expected-error>
<source-location>false</source-location>
</compilation-unit>
</test-case>
@@ -8587,7 +8586,7 @@
<test-case FilePath="nestrecords">
<compilation-unit name="nested-optional-pk">
<output-dir compare="Text">nested-optional-pk</output-dir>
- <expected-error>ASX1021: The primary key field "nested.id" cannot be nullable</expected-error>
+ <expected-error>ASX1021: The primary key field 'nested.id' cannot be nullable</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="nestrecords">
@@ -9660,13 +9659,13 @@
<!-- Fail sporadically <test-case FilePath="range-hints">
<compilation-unit name="order-by-exception_01">
<output-dir compare="Text">order-by</output-dir>
- <expected-error>org.json.JSONException: JSONObject["summary"] not found</expected-error>
+ <expected-error>org.json.JSONException: JSONObject['summary'] not found</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="range-hints">
<compilation-unit name="order-by-exception_02">
<output-dir compare="Text">order-by</output-dir>
- <expected-error>org.json.JSONException: JSONObject["summary"] not found</expected-error>
+ <expected-error>org.json.JSONException: JSONObject['summary'] not found</expected-error>
</compilation-unit>
</test-case> -->
</test-group>
@@ -10535,8 +10534,8 @@
<test-case FilePath="string">
<compilation-unit name="like_03_negative">
<output-dir compare="Text">like_03_negative</output-dir>
- <expected-error>Invalid pattern "__\c" for LIKE (in line 21, at column 11)</expected-error>
- <expected-error>Invalid pattern "%\" for LIKE (in line 21, at column 18)</expected-error>
+ <expected-error>Invalid pattern '__\c' for LIKE (in line 21, at column 11)</expected-error>
+ <expected-error>Invalid pattern '%\' for LIKE (in line 21, at column 18)</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="string">
@@ -13422,10 +13421,10 @@
<expected-error><![CDATA[ASX1001: Syntax error: In line 25 >>create view test.v1(r bigint, a [bigint]) default null as<< Encountered "[" at column 33]]></expected-error>
<expected-error>ASX1092: Parameter date_illegal_property_name cannot be set (in line 25, at column 1)</expected-error>
<expected-error><![CDATA[ASX1001: Syntax error: In line 25 >>create view test.v1(r bigint) as<< Encountered "as" at column 31]]></expected-error>
- <expected-error><![CDATA[ASX1014: Field "unknown_field" is not found (in line 25, at column 1)]]></expected-error>
- <expected-error><![CDATA[ASX1014: Field "unknown_field_2" is not found (in line 25, at column 1)]]></expected-error>
+ <expected-error><![CDATA[ASX1014: Field 'unknown_field' is not found (in line 25, at column 1)]]></expected-error>
+ <expected-error><![CDATA[ASX1014: Field 'unknown_field_2' is not found (in line 25, at column 1)]]></expected-error>
<expected-error><![CDATA[ASX1001: Syntax error: In line 28 >> as select r from range(1,2) r;<< Encountered "as" at column 3]]></expected-error>
- <expected-error><![CDATA[ASX0013: Duplicate field name "r" (in line 25, at column 20)]]></expected-error>
+ <expected-error><![CDATA[ASX0013: Duplicate field name 'r' (in line 25, at column 20)]]></expected-error>
<expected-error><![CDATA[ASX1167: Cannot change primary key of view test1.employee_v1 (in line 38, at column 1)]]></expected-error>
<expected-error><![CDATA[ASX1162: Invalid primary key definition (in line 25, at column 1)]]></expected-error>
<expected-error><![CDATA[ASX1162: Invalid primary key definition (in line 26, at column 1)]]></expected-error>
@@ -15303,14 +15302,14 @@
<test-case FilePath="ddl-with-clause">
<compilation-unit name="missing-non-optional">
<output-dir compare="Text">missing-non-optional</output-dir>
- <expected-error>ASX1061: Field "merge-policy.name" in the with clause cannot be null or missing</expected-error>
+ <expected-error>ASX1061: Field 'merge-policy.name' in the with clause cannot be null or missing</expected-error>
<source-location>false</source-location>
</compilation-unit>
</test-case>
<test-case FilePath="ddl-with-clause">
<compilation-unit name="type-mismatch">
<output-dir compare="Text">type-mismatch</output-dir>
- <expected-error>ASX1060: Field "merge-policy.parameters.max-mergable-component-size" in the with clause must be of type bigint, but found string</expected-error>
+ <expected-error>ASX1060: Field 'merge-policy.parameters.max-mergable-component-size' in the with clause must be of type bigint, but found string</expected-error>
<source-location>false</source-location>
</compilation-unit>
</test-case>
@@ -15324,7 +15323,7 @@
<test-case FilePath="ddl-with-clause">
<compilation-unit name="unsupported-subfield">
<output-dir compare="Text">unsupported-subfield</output-dir>
- <expected-error>ASX1097: Subfield(s) [unknown-subfield] in "merge-policy" unsupported in the with clause</expected-error>
+ <expected-error>ASX1097: Subfield(s) [unknown-subfield] in 'merge-policy' unsupported in the with clause</expected-error>
<source-location>false</source-location>
</compilation-unit>
</test-case>
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/RequestReference.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/RequestReference.java
index eb08c09..78b6b3b 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/RequestReference.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/RequestReference.java
@@ -79,6 +79,6 @@
object.put("time", time);
object.put("userAgent", userAgent);
object.put("remoteAddr", remoteAddr);
- return JSONUtil.convertNodeOrThrow(object);
+ return JSONUtil.convertNodeUnchecked(object);
}
}
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java
index 12c9c68..5b10777 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/StorageProperties.java
@@ -54,7 +54,7 @@
STORAGE_FILTERED_MEMORYCOMPONENT_MAX_SIZE(LONG_BYTE_UNIT, 0L),
STORAGE_LSM_BLOOMFILTER_FALSEPOSITIVERATE(DOUBLE, 0.01d),
STORAGE_COMPRESSION_BLOCK(STRING, "snappy"),
- STORAGE_DISK_FORCE_BYTES(LONG_BYTE_UNIT, StorageUtil.getLongSizeInBytes(16, MEGABYTE)),
+ STORAGE_DISK_FORCE_BYTES(LONG_BYTE_UNIT, StorageUtil.getLongSizeInBytes(1, MEGABYTE)),
STORAGE_IO_SCHEDULER(STRING, "greedy"),
STORAGE_WRITE_RATE_LIMIT(LONG_BYTE_UNIT, 0l),
STORAGE_MAX_CONCURRENT_FLUSHES_PER_PARTITION(NONNEGATIVE_INTEGER, 2),
diff --git a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
index faaf8d5..f5ef79d 100644
--- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
+++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
@@ -37,7 +37,7 @@
3,1003 = Type incompatibility: function %1$s gets incompatible input values: %2$s and %3$s
4,1004 = Unsupported type: %1$s cannot process input type %2$s
5,1005 = Invalid item type: function %1$s cannot process item type %2$s in an input array (or multiset)
-13,1006 = Duplicate field name \"%1$s\"
+13,1006 = Duplicate field name '%1$s'
1009 = A returning expression cannot contain dataset access
37,1091 = Type mismatch: expected value of type %1$s, but got the value of type %2$s
51 = Incomparable input types: %1$s and %2$s
@@ -64,7 +64,7 @@
25 = Polygon must have at least 3 points
26 = %1$s can not be an instance of polygon
27 = Operation not supported
-28 = Invalid duration \"%1$s\"
+28 = Invalid duration '%1$s'
29 = Unknown duration unit %1$s
30 = Request timed out and will be cancelled
31 = Invalid type-casting math function: %1$s for converting %2$s to %3$s
@@ -76,15 +76,15 @@
39 = Expected integer value, got %1$s
40 = No statement provided
41 = Request %1$s has been cancelled
-42 = %1$s: \"%2$s\" is not a TPC-DS table name
+42 = %1$s: '%2$s' is not a TPC-DS table name
43 = Value out of range, function %1$s expects its %2$s input parameter value to be between %3$s and %4$s, received %5$s
44 = %1$s statement is not supported in read-only mode
45 = Invalid value: function %1$s expects its %2$s input parameter to be an integer value, got %3$s
-46 = Invalid pattern \"%1$s\" for LIKE
-47 = Invalid value for parameter \"%1$s\": %2$s
+46 = Invalid pattern '%1$s' for LIKE
+47 = Invalid value for parameter '%1$s': %2$s
48 = Unable to process JSON content in request
49 = Parameter(s) %1$s must be specified
-50 = Invalid parameter \"%1$s\"
+50 = Invalid parameter '%1$s'
#51 is used
52 = Illegal state. %1$s
53 = Unsupported Parquet type '%1$s'
@@ -107,14 +107,14 @@
1011 = Unknown dataset type %1$s
1012 = Unknown index type %1$s
1013 = Cannot use %1$s fields as a key for the %2$s index. The index can only support keys of size %3$s
-1014 = Field \"%1$s\" is not found
-1015 = Index of type %1$s is not supported for dataset \"%2$s\" since it has composite primary keys
+1014 = Field '%1$s' is not found
+1015 = Index of type %1$s is not supported for dataset '%2$s' since it has composite primary keys
1016 = Index of type %1$s is not supported for dataset of type %2$s
-1017 = The filter field \"%1$s\" cannot be an optional field
+1017 = The filter field '%1$s' cannot be an optional field
1018 = Field of type %1$s cannot be used as a filter field
1019 = Cannot autogenerate a composite %1$s key
1020 = Cannot autogenerate a %1$s key for %1$s key of type %2$s. Autogenerated %1$s keys must be of type %3$s
-1021 = The %1$s key field \"%2$s\" cannot be nullable
+1021 = The %1$s key field '%2$s' cannot be nullable
1022 = Field of type %1$s cannot be used as a %2$s key field
1023 = Cannot drop dataset %1$s since it is connected to active entity: %2$s
#1024 is no longer used
@@ -134,7 +134,7 @@
1038 = Illegal state. %1$s
1039 = Two-phase locking violation -- locks can not be acquired after unlocking
1040 = Dataset id space is exhausted
-1041 = Cannot create enforced index on \"%1$s\" field with non-optional type
+1041 = Cannot create enforced index on '%1$s' field with non-optional type
1042 = Cannot create non-enforced typed index of this kind: %1$s
1043 = Cannot use %1$s fields as key for the R-tree index. There can be only one field as a key for the R-tree index.
1044 = Communication-related exception occurred during the execution of a remote method call
@@ -144,8 +144,8 @@
1048 = Metadata lock cannot be downgraded! because it was not acquired before
1049 = Metadata lock cannot be acquired for %1$s since it is already acquired for %2$s
1050 = Cannot find dataset with name %1$s in dataverse %2$s
-1051 = Cannot create enforced index on \"%1$s\" field. The field is closed type.
-1052 = Cannot create index with the same field \"%1$s\" specified more than once.
+1051 = Cannot create enforced index on '%1$s' field. The field is closed type.
+1052 = Cannot create index with the same field '%1$s' specified more than once.
1053 = Cannot create primary index on external dataset.
1054 = Compilation failed due to some problem in the query plan.
1055 = Incompatible implementation language %1$s for function %2$s. Expected language %3$s.
@@ -153,8 +153,8 @@
1057 = Expression of type %1$s is not supported in constant record
1058 = Literal of type %1$s is not supported in constant record
1059 = Field(s) %1$s unsupported in the with clause
-1060 = Field \"%1$s\" in the with clause must be of type %2$s, but found %3$s
-1061 = Field \"%1$s\" in the with clause cannot be null or missing
+1060 = Field '%1$s' in the with clause must be of type %2$s, but found %3$s
+1061 = Field '%1$s' in the with clause cannot be null or missing
1062 = Configuration parameter cannot be of type %1$s
1063 = Cannot find dataverse with name %1$s
1064 = An error was occurred while converting type %1$s to type %2$s.
@@ -162,7 +162,7 @@
1066 = Cannot serialize a value.
1067 = Cannot find a non-missing SELECT operator in GROUP operator for a left-outer-join plan optimization.
1068 = Cannot get the conditional split variable for the given UNNESTMAP operator.
-1069 = Cannot drop index \"%1$s\". Drop dataset \"%1$s\" to remove this index
+1069 = Cannot drop index '%1$s'. Drop dataset '%1$s' to remove this index
1070 = Metadata error. %1$s
1071 = A dataverse with this name %1$s already exists.
1072 = A dataset with name %1$s already exists in dataverse %2$s
@@ -189,7 +189,7 @@
1094 = Cannot parse range map: %1$s
1095 = Expected function call
1096 = Unknown compression scheme %1$s. Supported schemes are %2$s
-1097 = Subfield(s) %1$s in \"%2$s\" unsupported in the with clause
+1097 = Subfield(s) %1$s in '%2$s' unsupported in the with clause
1098 = Invalid window frame definition
1099 = Unexpected window frame definition
1100 = Unexpected window expression
@@ -202,12 +202,12 @@
1107 = Unexpected hint: %1$s. %2$s expected at this location
1108 = External source error. %1$s
1109 = External source container %1$s not found
-1110 = The parameters \"%1$s\" and \"%2$s\" cannot be provided at the same time
-1111 = Property \"%1$s\" expects value(s) of type %2$s
-1112 = Invalid format for property \"%1$s\"
+1110 = The parameters '%1$s' and '%2$s' cannot be provided at the same time
+1111 = Property '%1$s' expects value(s) of type %2$s
+1112 = Invalid format for property '%1$s'
1113 = Invalid pattern %1$s
1114 = The provided external dataset configuration returned no files from the external source
-1115 = Invalid name for a database object: \"%1$s\"
+1115 = Invalid name for a database object: '%1$s'
1116 = Cannot find synonym with name %1$s
1117 = Cannot find library with name %1$s
1118 = Too many grouping sets in group by clause: %1$s. Maximum allowed: %2$s.
@@ -324,7 +324,7 @@
3056 = Illegal escape '\%1$s'
3057 = Found END_RECORD while expecting a record field.
3058 = This record is closed, you can not add extra fields! new field name: %1$s
-3059 = Unexpected ADM token kind: %1$s while expecting ":"
+3059 = Unexpected ADM token kind: %1$s while expecting ':'
3060 = Found COMMA %1$s %2$s record field
3061 = Unsupported interval type: %1$s
3062 = Interval was not closed
diff --git a/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/FreeVariableVisitor.java b/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/FreeVariableVisitor.java
index 77b9991..9115b1c 100644
--- a/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/FreeVariableVisitor.java
+++ b/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/FreeVariableVisitor.java
@@ -23,6 +23,7 @@
import java.util.List;
import org.apache.asterix.common.exceptions.CompilationException;
+import org.apache.asterix.common.exceptions.ErrorCode;
import org.apache.asterix.lang.common.base.AbstractClause;
import org.apache.asterix.lang.common.base.Clause.ClauseType;
import org.apache.asterix.lang.common.base.Expression;
@@ -50,6 +51,7 @@
import org.apache.asterix.lang.common.struct.Identifier;
import org.apache.asterix.lang.common.struct.QuantifiedPair;
import org.apache.asterix.lang.sqlpp.clause.AbstractBinaryCorrelateClause;
+import org.apache.asterix.lang.sqlpp.clause.AbstractBinaryCorrelateWithConditionClause;
import org.apache.asterix.lang.sqlpp.clause.FromClause;
import org.apache.asterix.lang.sqlpp.clause.FromTerm;
import org.apache.asterix.lang.sqlpp.clause.HavingClause;
@@ -107,41 +109,74 @@
}
// Visits join/unnest/nest clauses.
- for (AbstractBinaryCorrelateClause correlateClause : fromTerm.getCorrelateClauses()) {
- Collection<VariableExpr> correlateFreeVars = new HashSet<>();
- correlateClause.accept(this, correlateFreeVars);
- if (correlateClause.getClauseType() != ClauseType.JOIN_CLAUSE) {
- // Correlation is allowed if the clause is not a join clause,
- // therefore we remove left-side binding variables for these cases.
- correlateFreeVars.removeAll(bindingVariables);
-
- // Adds binding variables.
- bindingVariables.add(correlateClause.getRightVariable());
- if (correlateClause.hasPositionalVariable()) {
- bindingVariables.add(correlateClause.getPositionalVariable());
- }
+ Collection<VariableExpr> clauseFreeVars = null;
+ Collection<VariableExpr> conditionFreeVars = null;
+ for (AbstractBinaryCorrelateClause clause : fromTerm.getCorrelateClauses()) {
+ if (clauseFreeVars == null) {
+ clauseFreeVars = new HashSet<>();
+ } else {
+ clauseFreeVars.clear();
}
- freeVars.addAll(correlateFreeVars);
+ clause.getRightExpression().accept(this, clauseFreeVars);
+
+ switch (clause.getClauseType()) {
+ case UNNEST_CLAUSE:
+ // right branch CAN be use binding variables from prior clauses
+ // -> these binding variables are not free vars for the whole FromTerm
+ clauseFreeVars.removeAll(bindingVariables);
+ break;
+ case JOIN_CLAUSE:
+ case NEST_CLAUSE:
+ // right branch CANNOT use binding variables from prior clauses, but condition expression CAN.
+ if (conditionFreeVars == null) {
+ conditionFreeVars = new HashSet<>();
+ } else {
+ conditionFreeVars.clear();
+ }
+ AbstractBinaryCorrelateWithConditionClause clauseWithCondition =
+ (AbstractBinaryCorrelateWithConditionClause) clause;
+ clauseWithCondition.getConditionExpression().accept(this, conditionFreeVars);
+ conditionFreeVars.removeAll(bindingVariables);
+ conditionFreeVars.remove(clause.getRightVariable());
+ if (clause.hasPositionalVariable()) {
+ conditionFreeVars.remove(clause.getPositionalVariable());
+ }
+ clauseFreeVars.addAll(conditionFreeVars);
+ break;
+ default:
+ throw new CompilationException(ErrorCode.COMPILATION_ILLEGAL_STATE, clause.getSourceLocation(),
+ clause.getClauseType().toString());
+ }
+
+ // Adds binding variables.
+ bindingVariables.add(clause.getRightVariable());
+ if (clause.hasPositionalVariable()) {
+ bindingVariables.add(clause.getPositionalVariable());
+ }
+ freeVars.addAll(clauseFreeVars);
}
return null;
}
@Override
- public Void visit(JoinClause joinClause, Collection<VariableExpr> freeVars) throws CompilationException {
- visitJoinAndNest(joinClause, joinClause.getConditionExpression(), freeVars);
- return null;
+ public Void visit(JoinClause joinClause, Collection<VariableExpr> arg) throws CompilationException {
+ // not supposed to be invoked
+ throw new CompilationException(ErrorCode.COMPILATION_ILLEGAL_STATE, joinClause.getSourceLocation(),
+ joinClause.getClauseType().toString());
}
@Override
- public Void visit(NestClause nestClause, Collection<VariableExpr> freeVars) throws CompilationException {
- visitJoinAndNest(nestClause, nestClause.getConditionExpression(), freeVars);
- return null;
+ public Void visit(NestClause nestClause, Collection<VariableExpr> arg) throws CompilationException {
+ // not supposed to be invoked
+ throw new CompilationException(ErrorCode.COMPILATION_ILLEGAL_STATE, nestClause.getSourceLocation(),
+ nestClause.getClauseType().toString());
}
@Override
- public Void visit(UnnestClause unnestClause, Collection<VariableExpr> freeVars) throws CompilationException {
- unnestClause.getRightExpression().accept(this, freeVars);
- return null;
+ public Void visit(UnnestClause unnestClause, Collection<VariableExpr> arg) throws CompilationException {
+ // not supposed to be invoked
+ throw new CompilationException(ErrorCode.COMPILATION_ILLEGAL_STATE, unnestClause.getSourceLocation(),
+ unnestClause.getClauseType().toString());
}
@Override
@@ -491,20 +526,6 @@
}
}
- private void visitJoinAndNest(AbstractBinaryCorrelateClause clause, Expression condition,
- Collection<VariableExpr> freeVars) throws CompilationException {
- clause.getRightExpression().accept(this, freeVars);
- Collection<VariableExpr> conditionFreeVars = new HashSet<>();
- condition.accept(this, freeVars);
-
- // The condition expression can free binding variables defined in the join clause.
- conditionFreeVars.remove(clause.getRightVariable());
- if (clause.hasPositionalVariable()) {
- conditionFreeVars.remove(clause.getPositionalVariable());
- }
- freeVars.addAll(conditionFreeVars);
- }
-
private void visit(List<Expression> exprs, Collection<VariableExpr> arg) throws CompilationException {
for (Expression expr : exprs) {
expr.accept(this, arg);
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/ReplicateFileTask.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/ReplicateFileTask.java
index bf1613c..5bec257 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/ReplicateFileTask.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/messaging/ReplicateFileTask.java
@@ -95,7 +95,7 @@
}
//delete mask
Files.delete(maskPath);
- LOGGER.info("received file {} from master", localPath);
+ LOGGER.debug("received file {} from master", localPath);
ReplicationProtocol.sendAck(worker.getChannel(), worker.getReusableBuffer());
} catch (IOException e) {
throw new ReplicationException(e);
diff --git a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java
index 813b293..968f883 100644
--- a/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java
+++ b/asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/sync/FileSynchronizer.java
@@ -58,7 +58,7 @@
String masterNode = appCtx.getReplicaManager().isPartitionOwner(replica.getIdentifier().getPartition())
? appCtx.getServiceContext().getNodeId() : null;
ReplicateFileTask task = new ReplicateFileTask(file, filePath.getFile().length(), metadata, masterNode);
- LOGGER.info("attempting to replicate {} to replica {}", task, replica);
+ LOGGER.debug("attempting to replicate {} to replica {}", task, replica);
ReplicationProtocol.sendTo(replica, task);
// send the file itself
try (RandomAccessFile fromFile = new RandomAccessFile(filePath.getFile(), "r");
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDateTimeConstructorEvaluator.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDateTimeConstructorEvaluator.java
index 6765d90..3b4355d 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDateTimeConstructorEvaluator.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDateTimeConstructorEvaluator.java
@@ -20,6 +20,7 @@
package org.apache.asterix.runtime.evaluators.constructors;
import org.apache.asterix.dataflow.data.nontagged.serde.ADateSerializerDeserializer;
+import org.apache.asterix.dataflow.data.nontagged.serde.ATimeSerializerDeserializer;
import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider;
import org.apache.asterix.om.base.ADateTime;
import org.apache.asterix.om.base.AMutableDateTime;
@@ -67,6 +68,13 @@
datetimeSerde.serialize(aDateTime, out);
result.set(resultStorage);
break;
+ case TIME:
+ int chronon = ATimeSerializerDeserializer.getChronon(bytes, startOffset + 1);
+ aDateTime.setValue(chronon);
+ resultStorage.reset();
+ datetimeSerde.serialize(aDateTime, out);
+ result.set(resultStorage);
+ break;
case STRING:
utf8Ptr.set(bytes, startOffset + 1, len - 1);
if (parseDateTime(utf8Ptr, aDateTime)) {
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java
index 6de1dda..052f568 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java
@@ -470,7 +470,12 @@
@Override
public synchronized void setRebalanceRequired(boolean rebalanceRequired) throws HyracksDataException {
this.rebalanceRequired = rebalanceRequired;
- refreshState();
+ // if the cluster requires a rebalance, we will refresh the cluster state to ensure the state is updated
+ // to REBALANCE_REQUIRED. Otherwise, we will let the rebalance operation update the cluster state to avoid
+ // changing the cluster state during the rebalance
+ if (rebalanceRequired) {
+ refreshState();
+ }
}
@Override
diff --git a/asterixdb/asterix-server/pom.xml b/asterixdb/asterix-server/pom.xml
index 1c7208e..d8ad238 100644
--- a/asterixdb/asterix-server/pom.xml
+++ b/asterixdb/asterix-server/pom.xml
@@ -314,41 +314,42 @@
</override>
<override>
<gavs>
- <gav>com.google.http-client:google-http-client-jackson2:1.39.2</gav>
- <gav>com.google.http-client:google-http-client-appengine:1.39.2</gav>
- <gav>com.google.http-client:google-http-client-gson:1.39.2</gav>
- <gav>com.google.http-client:google-http-client-apache-v2:1.39.2</gav>
+ <gav>com.google.http-client:google-http-client:1.41.0</gav>
+ <gav>com.google.http-client:google-http-client-jackson2:1.41.0</gav>
+ <gav>com.google.http-client:google-http-client-appengine:1.41.0</gav>
+ <gav>com.google.http-client:google-http-client-gson:1.41.0</gav>
+ <gav>com.google.http-client:google-http-client-apache-v2:1.41.0</gav>
</gavs>
- <url>https://raw.githubusercontent.com/googleapis/google-http-java-client/v1.39.2/LICENSE</url>
+ <url>https://raw.githubusercontent.com/googleapis/google-http-java-client/v1.41.0/LICENSE</url>
</override>
<override>
- <gav>com.google.oauth-client:google-oauth-client:1.31.5</gav>
- <url>https://raw.githubusercontent.com/googleapis/google-oauth-java-client/v1.31.5/LICENSE</url>
+ <gav>com.google.oauth-client:google-oauth-client:1.32.1</gav>
+ <url>https://raw.githubusercontent.com/googleapis/google-oauth-java-client/v1.32.1/LICENSE</url>
</override>
<override>
<gavs>
- <gav>com.google.protobuf:protobuf-java:3.16.0</gav>
- <gav>com.google.protobuf:protobuf-java-util:3.16.0</gav>
+ <gav>com.google.protobuf:protobuf-java:3.19.2</gav>
+ <gav>com.google.protobuf:protobuf-java-util:3.19.2</gav>
</gavs>
- <url>https://raw.githubusercontent.com/protocolbuffers/protobuf/v3.16.0/LICENSE</url>
+ <url>https://raw.githubusercontent.com/protocolbuffers/protobuf/v3.19.2/LICENSE</url>
</override>
<override>
<gavs>
- <gav>com.google.auth:google-auth-library-oauth2-http:0.25.5</gav>
- <gav>com.google.auth:google-auth-library-credentials:0.25.5</gav>
+ <gav>com.google.auth:google-auth-library-oauth2-http:1.3.0</gav>
+ <gav>com.google.auth:google-auth-library-credentials:1.3.0</gav>
</gavs>
- <url>https://raw.githubusercontent.com/googleapis/google-auth-library-java/v0.25.5/LICENSE</url>
+ <url>https://raw.githubusercontent.com/googleapis/google-auth-library-java/v1.3.0/LICENSE</url>
</override>
<override>
<gavs>
- <gav>com.google.cloud:google-cloud-core:1.94.8</gav>
- <gav>com.google.cloud:google-cloud-core-http:1.94.8</gav>
+ <gav>com.google.cloud:google-cloud-core:2.3.5</gav>
+ <gav>com.google.cloud:google-cloud-core-http:2.3.5</gav>
</gavs>
- <url>https://raw.githubusercontent.com/googleapis/java-core/v1.94.8/LICENSE</url>
+ <url>https://raw.githubusercontent.com/googleapis/java-core/v2.3.5/LICENSE</url>
</override>
<override>
- <gav>com.google.cloud:google-cloud-storage:1.114.0</gav>
- <url>https://raw.githubusercontent.com/googleapis/java-storage/v1.114.0/LICENSE</url>
+ <gav>com.google.cloud:google-cloud-storage:2.3.0</gav>
+ <url>https://raw.githubusercontent.com/googleapis/java-storage/v2.3.0/LICENSE</url>
</override>
<override>
<gavs>
@@ -358,39 +359,39 @@
<url>https://raw.githubusercontent.com/census-instrumentation/opencensus-java/v0.28.0/LICENSE</url>
</override>
<override>
- <gav>com.google.api-client:google-api-client:1.31.5</gav>
- <url>https://raw.githubusercontent.com/googleapis/google-api-java-client/v1.31.5/LICENSE</url>
+ <gav>com.google.api-client:google-api-client:1.33.0</gav>
+ <url>https://raw.githubusercontent.com/googleapis/google-api-java-client/v1.33.0/LICENSE</url>
</override>
<override>
- <gav>com.google.api.grpc:proto-google-iam-v1:1.0.13</gav>
- <url>https://raw.githubusercontent.com/googleapis/java-iam/v1.0.13/proto-google-iam-v1/LICENSE</url>
+ <gav>com.google.api.grpc:proto-google-iam-v1:1.2.0</gav>
+ <url>https://raw.githubusercontent.com/googleapis/java-iam/v1.2.0/proto-google-iam-v1/LICENSE</url>
</override>
<override>
- <gav>com.google.api.grpc:proto-google-common-protos:2.1.0</gav>
- <url>https://raw.githubusercontent.com/googleapis/java-common-protos/v2.1.0/proto-google-common-protos/LICENSE</url>
+ <gav>com.google.api.grpc:proto-google-common-protos:2.7.1</gav>
+ <url>https://raw.githubusercontent.com/googleapis/java-common-protos/v2.7.1/proto-google-common-protos/LICENSE</url>
</override>
<override>
- <gav>com.google.api:api-common:1.10.3</gav>
- <url>https://raw.githubusercontent.com/googleapis/api-common-java/v1.10.3/LICENSE</url>
+ <gav>com.google.api:api-common:2.1.2</gav>
+ <url>https://raw.githubusercontent.com/googleapis/api-common-java/v2.1.2/LICENSE</url>
</override>
<override>
<gavs>
- <gav>com.google.api:gax-httpjson:0.81.0</gav>
- <gav>com.google.api:gax:1.64.0</gav>
+ <gav>com.google.api:gax-httpjson:0.93.1</gav>
+ <gav>com.google.api:gax:2.8.1</gav>
</gavs>
- <url>https://raw.githubusercontent.com/googleapis/gax-java/v1.64.0/LICENSE</url>
+ <url>https://raw.githubusercontent.com/googleapis/gax-java/v2.8.1/LICENSE</url>
</override>
<override>
- <gav>com.google.auto.value:auto-value-annotations:1.8.1</gav>
- <url>https://raw.githubusercontent.com/google/auto/auto-value-1.8.1/LICENSE</url>
+ <gav>com.google.auto.value:auto-value-annotations:1.9</gav>
+ <url>https://raw.githubusercontent.com/google/auto/auto-value-1.9/LICENSE</url>
</override>
<override>
<gav>com.google.code.findbugs:jsr305:3.0.2</gav>
<url>https://raw.githubusercontent.com/findbugsproject/findbugs/3.0.2_preview2/findbugs/licenses/LICENSE-jsr305.txt</url>
</override>
<override>
- <gav>com.google.code.gson:gson:2.8.6</gav>
- <url>https://raw.githubusercontent.com/google/gson/gson-parent-2.8.6/LICENSE</url>
+ <gav>com.google.code.gson:gson:2.8.9</gav>
+ <url>https://raw.githubusercontent.com/google/gson/gson-parent-2.8.9/LICENSE</url>
</override>
<override>
<gav>com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava</gav>
@@ -401,17 +402,9 @@
<url>https://raw.githubusercontent.com/google/j2objc/1.3/LICENSE</url>
</override>
<override>
- <gav>io.grpc:grpc-context:1.37.0</gav>
- <url>https://raw.githubusercontent.com/grpc/grpc-java/v1.37.0/LICENSE</url>
- <noticeUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.37.0/NOTICE.txt</noticeUrl>
- </override>
- <override>
- <gav>org.checkerframework:checker-compat-qual:2.5.5</gav>
- <url>https://raw.githubusercontent.com/typetools/checker-framework/checker-framework-2.5.5/LICENSE.txt</url>
- </override>
- <override>
- <gav>com.google.api:api-common:1.10.3</gav>
- <url>https://raw.githubusercontent.com/googleapis/api-common-java/v1.10.3/LICENSE</url>
+ <gav>io.grpc:grpc-context:1.43.2</gav>
+ <url>https://raw.githubusercontent.com/grpc/grpc-java/v1.43.2/LICENSE</url>
+ <noticeUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.43.2/NOTICE.txt</noticeUrl>
</override>
<override>
<gav>org.mindrot:jbcrypt:0.4</gav>
@@ -467,11 +460,11 @@
<aliasUrl>https://raw.githubusercontent.com/reactor/reactor-core/v3.4.10/LICENSE</aliasUrl>
<aliasUrl>https://raw.githubusercontent.com/codehaus/stax/master/dev/ASF2.0.txt</aliasUrl>
<aliasUrl>https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/raw/5d13925b57ace092ea5e1131c338f464d85545f4/LICENSE.txt</aliasUrl>
- <aliasUrl>https://raw.githubusercontent.com/google/auto/auto-value-1.8.1/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/google/auto/auto-value-1.9/LICENSE</aliasUrl>
<aliasUrl>https://raw.githubusercontent.com/google/j2objc/1.3/LICENSE</aliasUrl>
- <aliasUrl>https://raw.githubusercontent.com/googleapis/java-common-protos/v2.1.0/proto-google-common-protos/LICENSE</aliasUrl>
- <aliasUrl>https://raw.githubusercontent.com/googleapis/java-iam/v1.0.13/proto-google-iam-v1/LICENSE</aliasUrl>
- <aliasUrl>https://raw.githubusercontent.com/googleapis/java-storage/v1.114.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/java-common-protos/v2.7.1/proto-google-common-protos/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/java-iam/v1.2.0/proto-google-iam-v1/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/java-storage/v2.3.0/LICENSE</aliasUrl>
<aliasUrl>http://repository.jboss.org/licenses/apache-2.0.txt</aliasUrl>
</aliasUrls>
<metric>1</metric>
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index 09c5f4a..40ff4e6 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -92,7 +92,7 @@
<hadoop-awsjavasdk.version>1.12.109</hadoop-awsjavasdk.version>
<azureblobjavasdk.version>12.14.2</azureblobjavasdk.version>
<azuredatalakejavasdk.version>12.7.2</azuredatalakejavasdk.version>
- <gcsjavasdk.version>1.114.0</gcsjavasdk.version>
+ <gcsjavasdk.version>2.3.0</gcsjavasdk.version>
<hadoop-azuresdk.version>8.6.6</hadoop-azuresdk.version>
<implementation.title>Apache AsterixDB - ${project.name}</implementation.title>
@@ -1819,7 +1819,7 @@
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
- <version>10.0.12</version>
+ <version>10.0.16</version>
</dependency>
<!-- Google Cloud Storage end -->
<!-- Azure Data Lake start -->
diff --git a/asterixdb/src/main/appended-resources/supplemental-models.xml b/asterixdb/src/main/appended-resources/supplemental-models.xml
index 61ac8b5..825c845 100644
--- a/asterixdb/src/main/appended-resources/supplemental-models.xml
+++ b/asterixdb/src/main/appended-resources/supplemental-models.xml
@@ -1109,27 +1109,15 @@
</supplement>
<!-- GCS SDK for Java start -->
- <!-- com.google.http-client is ALv2 with no NOTICE file -->
- <supplement>
- <project>
- <groupId>com.google.http-client</groupId>
- <artifactId>google-http-client-jackson2</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>1.39.2</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.39.2</license.ignoreMissingEmbeddedNotice>
- </properties>
- </project>
- </supplement>
-
<!-- com.google.api has no NOTICE file -->
<supplement>
<project>
<groupId>com.google.api</groupId>
<artifactId>api-common</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.10.3</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.10.3</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.10.3</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>2.1.2</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.1.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.1.2</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1140,9 +1128,9 @@
<groupId>com.google.api</groupId>
<artifactId>gax-httpjson</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>0.81.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>0.81.0</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>0.81.0</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>0.93.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.93.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.93.1</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1153,9 +1141,9 @@
<groupId>com.google.api</groupId>
<artifactId>gax</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.64.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.64.0</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.64.0</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>2.8.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.8.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.8.1</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1166,9 +1154,9 @@
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.31.5</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.31.5</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.31.5</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>1.33.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.33.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.33.0</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1205,9 +1193,9 @@
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-core</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.94.8</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.94.8</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.94.8</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>2.3.5</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.3.5</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.3.5</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1218,9 +1206,9 @@
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-core-http</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.94.8</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.94.8</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.94.8</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>2.3.5</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.3.5</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.3.5</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1231,35 +1219,9 @@
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-credentials</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>0.25.5</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>0.25.5</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>0.25.5</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
- <!-- io.grpc:grpc-context uses non-fixed ALv2 and has no NOTICE -->
- <supplement>
- <project>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-context</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>1.37.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.37.0</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.37.0</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
- <!-- com.google.protobuf has no NOTICE file -->
- <supplement>
- <project>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java-util</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>3.16.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>3.16.0</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>3.16.0</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>1.3.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.3.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.3.0</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1270,9 +1232,35 @@
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-oauth2-http</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>0.25.5</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>0.25.5</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>0.25.5</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>1.3.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.3.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.3.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- io.grpc:grpc-context uses non-fixed ALv2 and has no NOTICE -->
+ <supplement>
+ <project>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-context</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>1.43.2</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.43.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.43.2</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.protobuf has no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java-util</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>3.19.2</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>3.19.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>3.19.2</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1283,9 +1271,9 @@
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>3.16.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>3.16.0</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>3.16.0</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>3.19.2</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>3.19.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>3.19.2</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1296,7 +1284,19 @@
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<properties>
- <license.ignoreMissingEmbeddedNotice>1.5.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedNotice>1.5.2</license.ignoreMissingEmbeddedNotice>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.http-client is ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.http-client</groupId>
+ <artifactId>google-http-client-jackson2</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>1.41.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.41.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1307,8 +1307,8 @@
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.39.2</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.39.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>1.41.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.41.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1319,8 +1319,8 @@
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-appengine</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.39.2</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.39.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>1.41.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.41.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1331,8 +1331,8 @@
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-apache-v2</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.39.2</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.39.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>1.41.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.41.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1343,8 +1343,8 @@
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-gson</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.39.2</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.39.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>1.41.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.41.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1368,9 +1368,9 @@
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>2.8.6</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>2.8.6</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>2.8.6</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>2.8.9</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.8.9</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.8.9</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1392,24 +1392,9 @@
<supplement>
<project>
<groupId>org.checkerframework</groupId>
- <artifactId>checker-compat-qual</artifactId>
+ <artifactId>checker-qual</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>2.5.5</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>2.5.5</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>2.5.5</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
- <!-- com.google.api:api-common has no NOTICE file -->
- <supplement>
- <project>
- <groupId>com.google.api</groupId>
- <artifactId>api-common</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>1.10.3</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.10.3</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.10.3</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedNotice>3.20.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1420,8 +1405,8 @@
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value-annotations</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.8.1</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.8.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>1.9</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.9</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1444,21 +1429,21 @@
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-storage</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>v1-rev20210127-1.31.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>v1-rev20210127-1.31.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>v1-rev20211201-1.32.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>v1-rev20211201-1.32.1</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
- <!-- com.google.oauth-client:google-oauth-client:1.31.5 uses non-fixed ALv2 and has no NOTICE file -->
+ <!-- com.google.oauth-client:google-oauth-client uses non-fixed ALv2 and has no NOTICE file -->
<supplement>
<project>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.31.5</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.31.5</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.31.5</license.ignoreLicenseOverride>
+ <license.ignoreMissingEmbeddedLicense>1.32.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.32.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.32.1</license.ignoreLicenseOverride>
</properties>
</project>
</supplement>
@@ -1469,8 +1454,8 @@
<groupId>com.google.api.grpc</groupId>
<artifactId>proto-google-iam-v1</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.0.13</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.0.13</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>1.2.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.2.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1481,8 +1466,8 @@
<groupId>com.google.api.grpc</groupId>
<artifactId>proto-google-common-protos</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>2.1.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>2.1.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>2.7.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.7.1</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
@@ -1493,8 +1478,8 @@
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.114.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.114.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreMissingEmbeddedLicense>2.3.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.3.0</license.ignoreMissingEmbeddedNotice>
</properties>
</project>
</supplement>
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_google_gson_gson-parent-2.8.6_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_google_gson_gson-parent-2.8.9_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_google_gson_gson-parent-2.8.6_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_google_gson_gson-parent-2.8.9_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_api-common-java_v1.10.3_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_api-common-java_v2.1.2_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_api-common-java_v1.10.3_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_api-common-java_v2.1.2_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_gax-java_v1.64.0_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_gax-java_v2.8.1_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_gax-java_v1.64.0_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_gax-java_v2.8.1_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.31.5_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.33.0_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.31.5_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.33.0_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-auth-library-java_v0.25.5_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-auth-library-java_v1.3.0_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-auth-library-java_v0.25.5_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-auth-library-java_v1.3.0_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-http-java-client_v1.39.2_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-http-java-client_v1.39.2_LICENSE.txt
deleted file mode 100644
index f49a4e1..0000000
--- a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-http-java-client_v1.39.2_LICENSE.txt
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
\ No newline at end of file
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.31.5_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-http-java-client_v1.41.0_LICENSE.txt
similarity index 100%
copy from asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.31.5_LICENSE.txt
copy to asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-http-java-client_v1.41.0_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-oauth-java-client_v1.31.5_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-oauth-java-client_v1.31.5_LICENSE.txt
deleted file mode 100644
index f49a4e1..0000000
--- a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-oauth-java-client_v1.31.5_LICENSE.txt
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
\ No newline at end of file
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.31.5_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-oauth-java-client_v1.32.1_LICENSE.txt
similarity index 100%
copy from asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-api-java-client_v1.31.5_LICENSE.txt
copy to asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_google-oauth-java-client_v1.32.1_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_java-core_v1.94.8_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_java-core_v2.3.5_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_java-core_v1.94.8_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_googleapis_java-core_v2.3.5_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.37.0_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.43.2_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.37.0_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.43.2_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.37.0_NOTICE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.43.2_NOTICE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.37.0_NOTICE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_grpc_grpc-java_v1.43.2_NOTICE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_protocolbuffers_protobuf_v3.16.0_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_protocolbuffers_protobuf_v3.19.2_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_protocolbuffers_protobuf_v3.16.0_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_protocolbuffers_protobuf_v3.19.2_LICENSE.txt
diff --git a/hyracks-fullstack/hyracks/hyracks-http/pom.xml b/hyracks-fullstack/hyracks/hyracks-http/pom.xml
index 466a447..e06f6be 100644
--- a/hyracks-fullstack/hyracks/hyracks-http/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-http/pom.xml
@@ -125,5 +125,10 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.hyracks</groupId>
+ <artifactId>hyracks-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
index ff23ac2..64a76f7 100644
--- a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
+++ b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
@@ -26,6 +26,7 @@
import java.util.Arrays;
import java.util.concurrent.ConcurrentMap;
+import org.apache.hyracks.api.exceptions.IFormattedException;
import org.apache.hyracks.http.api.IServlet;
import org.apache.hyracks.http.api.IServletRequest;
import org.apache.hyracks.http.api.IServletResponse;
@@ -98,7 +99,7 @@
} else if (HttpMethod.OPTIONS.equals(method)) {
options(request, response);
} else {
- notAllowed(method, response);
+ methodNotAllowed(method, response);
}
} catch (Exception e) {
LOGGER.log(Level.WARN, "Unhandled exception", e);
@@ -113,21 +114,31 @@
}
protected void sendError(IServletResponse response, HttpResponseStatus status, String message) throws IOException {
+ sendError(response, HttpUtil.ContentType.TEXT_PLAIN, status, message);
+ }
+
+ protected void sendError(IServletResponse response, String contentType, HttpResponseStatus status, String message)
+ throws IOException {
response.setStatus(status);
- HttpUtil.setContentType(response, HttpUtil.ContentType.TEXT_PLAIN, StandardCharsets.UTF_8);
+ HttpUtil.setContentType(response, contentType, StandardCharsets.UTF_8);
if (message != null) {
response.writer().println(message);
}
if (LOGGER.isInfoEnabled()) {
- LOGGER.info("sendError: status=" + status + ", message=" + message);
+ LOGGER.info("sendError: status={}, message={}", status, message);
}
}
- protected void sendError(IServletResponse response, HttpResponseStatus status) throws IOException {
- sendError(response, status, null);
+ protected void sendError(IServletResponse response, HttpResponseStatus status, IFormattedException ex)
+ throws IOException {
+ sendError(response, status, ex != null ? ex.getMessage() : null);
}
- protected void notAllowed(HttpMethod method, IServletResponse response) throws IOException {
+ protected void sendError(IServletResponse response, HttpResponseStatus status) throws IOException {
+ sendError(response, status, status.reasonPhrase());
+ }
+
+ protected void methodNotAllowed(HttpMethod method, IServletResponse response) throws IOException {
sendError(response, HttpResponseStatus.METHOD_NOT_ALLOWED,
"Method " + method + " not allowed for the requested resource.");
}
@@ -135,37 +146,37 @@
@SuppressWarnings("squid:S1172")
protected void get(IServletRequest request, IServletResponse response) throws Exception {
// designed to be extended but an error in standard case
- notAllowed(HttpMethod.GET, response);
+ methodNotAllowed(HttpMethod.GET, response);
}
@SuppressWarnings("squid:S1172")
protected void head(IServletRequest request, IServletResponse response) throws Exception {
// designed to be extended but an error in standard case
- notAllowed(HttpMethod.HEAD, response);
+ methodNotAllowed(HttpMethod.HEAD, response);
}
@SuppressWarnings("squid:S1172")
protected void post(IServletRequest request, IServletResponse response) throws Exception {
// designed to be extended but an error in standard case
- notAllowed(HttpMethod.POST, response);
+ methodNotAllowed(HttpMethod.POST, response);
}
@SuppressWarnings("squid:S1172")
protected void put(IServletRequest request, IServletResponse response) throws Exception {
// designed to be extended but an error in standard case
- notAllowed(HttpMethod.PUT, response);
+ methodNotAllowed(HttpMethod.PUT, response);
}
@SuppressWarnings("squid:S1172")
protected void delete(IServletRequest request, IServletResponse response) throws Exception {
// designed to be extended but an error in standard case
- notAllowed(HttpMethod.DELETE, response);
+ methodNotAllowed(HttpMethod.DELETE, response);
}
@SuppressWarnings("squid:S1172")
protected void options(IServletRequest request, IServletResponse response) throws Exception {
// designed to be extended but an error in standard case
- notAllowed(HttpMethod.OPTIONS, response);
+ methodNotAllowed(HttpMethod.OPTIONS, response);
}
public String host(IServletRequest request) {
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java
index 5c1b292..f937e97 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.util.concurrent.UncheckedExecutionException;
public class JSONUtil {
@@ -53,11 +54,11 @@
return SORTED_MAPPER.writeValueAsString(SORTED_MAPPER.treeToValue(node, Object.class));
}
- public static String convertNodeOrThrow(final JsonNode node) {
+ public static String convertNodeUnchecked(final JsonNode node) throws UncheckedExecutionException {
try {
return convertNode(node);
} catch (JsonProcessingException e) {
- throw new IllegalStateException(e);
+ throw new UncheckedExecutionException(e);
}
}