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 <[email protected]> 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 <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Till Westmann <[email protected]> --- .../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*/;
