You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2020/07/31 16:53:09 UTC

[asterixdb] branch master updated (c961938 -> 8bab19a)

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

mblow pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git.


    from c961938  [ASTERIXDB-2762] Fix str_to_codepoint() and codepoint_to_str()
     new 7576840  [NO ISSUE] Minor AlgebricksException, TestExecutor updates
     new ae88ece  [NO ISSUE] DROP DATASET IF EXISTS must not fail if dataverse not found
     new 8bab19a  Merge branch 'gerrit/mad-hatter'

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/asterix/app/translator/QueryTranslator.java |  7 ++++++-
 .../java/org/apache/asterix/test/common/TestExecutor.java  | 14 ++++++++++++--
 .../ddl/invalid-dataverse/invalid-dataverse.003.ddl.sqlpp  |  2 +-
 .../algebricks/common/exceptions/AlgebricksException.java  |  2 +-
 4 files changed, 20 insertions(+), 5 deletions(-)


[asterixdb] 01/03: [NO ISSUE] Minor AlgebricksException, TestExecutor updates

Posted by mb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit 757684048eb136389f8764cd7bb58b185a004c8e
Author: Michael Blow <mi...@couchbase.com>
AuthorDate: Thu Jul 23 17:42:17 2020 -0400

    [NO ISSUE] Minor AlgebricksException, TestExecutor updates
    
    - update AlgebricksException.getParams() to return Serializable[]
    - accept regex patters for expected errors
    
    Change-Id: I2b181719979878b2d8ec0442dab0ed3678c0d9b4
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/7324
    Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Michael Blow <mb...@apache.org>
    Reviewed-by: Till Westmann <ti...@apache.org>
---
 .../java/org/apache/asterix/test/common/TestExecutor.java  | 14 ++++++++++++--
 .../algebricks/common/exceptions/AlgebricksException.java  |  2 +-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
index 5d71a26..e4063c0 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
@@ -68,6 +68,7 @@ import java.util.concurrent.TimeoutException;
 import java.util.function.Predicate;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
 import java.util.stream.IntStream;
 import java.util.stream.Stream;
 
@@ -1576,13 +1577,22 @@ public class TestExecutor {
     protected static boolean isExpected(Exception e, CompilationUnit cUnit) {
         final List<String> expErrors = cUnit.getExpectedError();
         for (String exp : expErrors) {
-            if (e.toString().contains(exp)) {
+            if (e.toString().contains(exp) || containsPattern(e.toString(), exp)) {
                 return true;
             }
         }
         return false;
     }
 
+    private static boolean containsPattern(String exception, String maybePattern) {
+        try {
+            return Pattern.compile(maybePattern).matcher(exception).find();
+        } catch (PatternSyntaxException pse) {
+            // ignore, this isn't always a legal pattern
+            return false;
+        }
+    }
+
     public int getTimeoutSecs(String statement) {
         final Matcher timeoutMatcher = POLL_TIMEOUT_PATTERN.matcher(statement);
         if (timeoutMatcher.find()) {
@@ -1903,7 +1913,7 @@ public class TestExecutor {
             // Get the expected exception
             expectedError = expectedErrors.get(numOfErrors - 1);
             String actualError = e.toString();
-            if (!actualError.contains(expectedError)) {
+            if (!actualError.contains(expectedError) && !containsPattern(actualError, expectedError)) {
                 LOGGER.error("Expected to find the following in error text: +++++{}+++++", expectedError);
                 return true;
             }
diff --git a/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/exceptions/AlgebricksException.java b/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/exceptions/AlgebricksException.java
index 46e80be..ac22b60 100644
--- a/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/exceptions/AlgebricksException.java
+++ b/hyracks-fullstack/algebricks/algebricks-common/src/main/java/org/apache/hyracks/algebricks/common/exceptions/AlgebricksException.java
@@ -135,7 +135,7 @@ public class AlgebricksException extends Exception implements IFormattedExceptio
         return errorCode;
     }
 
-    public Object[] getParams() {
+    public Serializable[] getParams() {
         return params;
     }
 


[asterixdb] 03/03: Merge branch 'gerrit/mad-hatter'

Posted by mb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit 8bab19affcedf57492c9861069fd5eab593bbd52
Merge: c961938 ae88ece
Author: Michael Blow <mb...@apache.org>
AuthorDate: Thu Jul 30 18:39:45 2020 -0400

    Merge branch 'gerrit/mad-hatter'
    
    Change-Id: I78f3e2ee495feec5bf311261188c48dd770b66ad

 .../org/apache/asterix/app/translator/QueryTranslator.java |  7 ++++++-
 .../java/org/apache/asterix/test/common/TestExecutor.java  | 14 ++++++++++++--
 .../ddl/invalid-dataverse/invalid-dataverse.003.ddl.sqlpp  |  2 +-
 .../algebricks/common/exceptions/AlgebricksException.java  |  2 +-
 4 files changed, 20 insertions(+), 5 deletions(-)

diff --cc asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index 95fb793,66ea5f8..3e64d37
--- 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
@@@ -1643,7 -1579,12 +1643,12 @@@ public class QueryTranslator extends Ab
              // Check if the dataverse exists
              Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx.getValue(), dataverseName);
              if (dv == null) {
-                 throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, dataverseName);
+                 if (ifExists) {
+                     MetadataManager.INSTANCE.commitTransaction(mdTxnCtx.getValue());
 -                    return;
++                    return false;
+                 } else {
+                     throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, dataverseName);
+                 }
              }
              Dataset ds = metadataProvider.findDataset(dataverseName, datasetName);
              if (ds == null) {
diff --cc asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
index ceb0dbb,e4063c0..2399064
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
@@@ -68,7 -68,7 +68,8 @@@ import java.util.concurrent.TimeoutExce
  import java.util.function.Predicate;
  import java.util.regex.Matcher;
  import java.util.regex.Pattern;
+ import java.util.regex.PatternSyntaxException;
 +import java.util.stream.Collectors;
  import java.util.stream.IntStream;
  import java.util.stream.Stream;
  


[asterixdb] 02/03: [NO ISSUE] DROP DATASET IF EXISTS must not fail if dataverse not found

Posted by mb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit ae88eceb5aa6e946d06db14547c5a4ae8740c551
Author: Dmitry Lychagin <dm...@couchbase.com>
AuthorDate: Thu Jul 23 15:36:44 2020 -0700

    [NO ISSUE] DROP DATASET IF EXISTS must not fail if dataverse not found
    
    Details:
    - Fixed regression in DROP DATASET IF EXISTS.
      The statement must not fail if dataset's dataverse
      is not found.
    
    Change-Id: I613c0b84cd57ce690b4e7d28e3e376ddfd633791
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/7325
    Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Till Westmann <ti...@apache.org>
---
 .../java/org/apache/asterix/app/translator/QueryTranslator.java    | 7 ++++++-
 .../ddl/invalid-dataverse/invalid-dataverse.003.ddl.sqlpp          | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

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 0f669ef..66ea5f8 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
@@ -1579,7 +1579,12 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen
             // Check if the dataverse exists
             Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx.getValue(), dataverseName);
             if (dv == null) {
-                throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, dataverseName);
+                if (ifExists) {
+                    MetadataManager.INSTANCE.commitTransaction(mdTxnCtx.getValue());
+                    return;
+                } else {
+                    throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, dataverseName);
+                }
             }
             Dataset ds = metadataProvider.findDataset(dataverseName, datasetName);
             if (ds == null) {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/invalid-dataverse/invalid-dataverse.003.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/invalid-dataverse/invalid-dataverse.003.ddl.sqlpp
index 7d482dd..0bb88db 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/invalid-dataverse/invalid-dataverse.003.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/ddl/invalid-dataverse/invalid-dataverse.003.ddl.sqlpp
@@ -24,5 +24,5 @@ use realDataverse;
 drop type realDataverse.myType if exists;
 create type realDataverse.myType as open { id: uuid, f1: int };
 
-drop dataset fakeDataverse.myDataset if exists;
+drop dataset fakeDataverse.myDataset /*if exists*/;