You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by ht...@apache.org on 2020/05/25 11:42:56 UTC

[asterixdb] 03/03: Merge commit '0f407d9224' from 'gerrit/mad-hatter'

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

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

commit 9627b2a371aff80ed87280617d6ce1ce79ce4026
Merge: ed6bf2a 0f407d9
Author: Hussain Towaileb <Hu...@Gmail.com>
AuthorDate: Thu May 21 14:36:23 2020 +0300

    Merge commit '0f407d9224' from 'gerrit/mad-hatter'
    
    Change-Id: I89eaf1bace87130d8d35ec0ce8e0c263ac87b59a

 .../asterix/app/translator/QueryTranslator.java    | 33 +++++++++++++++++--
 .../aws/AwsS3ExternalDatasetTest.java              | 18 +++++++++++
 .../dataset-and-index-same-dataverse.000.ddl.sqlpp | 32 +++++++++++++++++++
 ...ataset-and-index-same-dataverse.001.query.sqlpp | 24 ++++++++++++++
 .../dataset-and-index-same-dataverse.999.ddl.sqlpp | 21 ++++++++++++
 .../invalid-dataverse.001.ddl.sqlpp                | 21 ++++++++++++
 .../invalid-dataverse.002.ddl.sqlpp                | 26 +++++++++++++++
 .../invalid-dataverse.003.ddl.sqlpp                | 28 ++++++++++++++++
 .../invalid-dataverse.004.ddl.sqlpp                | 29 +++++++++++++++++
 .../invalid-dataverse.005.ddl.sqlpp                | 29 +++++++++++++++++
 .../invalid-dataverse.006.ddl.sqlpp                | 29 +++++++++++++++++
 .../invalid-dataverse.007.ddl.sqlpp                | 29 +++++++++++++++++
 .../invalid-dataverse.008.ddl.sqlpp                | 31 ++++++++++++++++++
 .../invalid-dataverse.099.ddl.sqlpp                | 21 ++++++++++++
 .../over-1000-objects.000.ddl.sqlpp                | 37 ++++++++++++++++++++++
 .../over-1000-objects.001.query.sqlpp              | 22 +++++++++++++
 .../over-1000-objects.099.ddl.sqlpp                | 20 ++++++++++++
 .../dataset-and-index-same-dataverse.001.adm       |  1 +
 .../s3/over-1000-objects/over-1000-objects.001.adm |  1 +
 .../runtimets/testsuite_external_dataset.xml       |  5 +++
 .../test/resources/runtimets/testsuite_sqlpp.xml   | 20 +++++++++++-
 .../record/reader/aws/AwsS3InputStreamFactory.java | 32 ++++++++++++++++---
 22 files changed, 500 insertions(+), 9 deletions(-)

diff --cc asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index 9fdc81a,0f540ff..d40957f
--- 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
@@@ -669,9 -624,20 +671,15 @@@ public class QueryTranslator extends Ab
          MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
          boolean bActiveTxn = true;
          metadataProvider.setMetadataTxnContext(mdTxnCtx);
 -        createDatasetBegin(metadataProvider, dataverseName, dataverseName + "." + datasetName, itemTypeDataverseName,
 -                itemTypeAnonymous, itemTypeFullyQualifiedName, metaItemTypeDataverseName,
 -                metaItemTypeFullyQualifiedName, metaItemTypeAnonymous, nodegroupName, compactionPolicy,
 -                defaultCompactionPolicy, dd);
          Dataset dataset = null;
          try {
-             IDatasetDetails datasetDetails;
+             // Check if the dataverse exists
+             Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName);
+             if (dv == null) {
+                 throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, dataverseName);
+             }
+ 
+             IDatasetDetails datasetDetails = null;
              Dataset ds = metadataProvider.findDataset(dataverseName, datasetName);
              if (ds != null) {
                  if (dd.getIfNotExists()) {
@@@ -928,10 -906,20 +936,18 @@@
          List<Integer> keySourceIndicators = stmtCreateIndex.getFieldSourceIndicators();
          MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
          metadataProvider.setMetadataTxnContext(mdTxnCtx);
 -        String datasetFullyQualifiedName = dataverseName + "." + datasetName;
          boolean isSecondaryPrimary = stmtCreateIndex.getFieldExprs().isEmpty();
+         Dataset ds;
+         Index index;
 -        MetadataLockUtil.createIndexBegin(lockManager, metadataProvider.getLocks(), dataverseName,
 -                datasetFullyQualifiedName);
 +        lockUtil.createIndexBegin(lockManager, metadataProvider.getLocks(), dataverseName, datasetName);
          try {
-             Dataset ds = metadataProvider.findDataset(dataverseName, datasetName);
+             // Check if the dataverse exists
+             Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName);
+             if (dv == null) {
+                 throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, dataverseName);
+             }
+ 
+             ds = metadataProvider.findDataset(dataverseName, datasetName);
              if (ds == null) {
                  throw new CompilationException(ErrorCode.UNKNOWN_DATASET_IN_DATAVERSE, sourceLoc, datasetName,
                          dataverseName);
@@@ -1867,8 -1849,15 +1888,14 @@@
  
          MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
          metadataProvider.setMetadataTxnContext(mdTxnCtx);
 -        MetadataLockUtil.dropTypeBegin(lockManager, metadataProvider.getLocks(), dataverseName,
 -                dataverseName + "." + typeName);
 +        lockUtil.dropTypeBegin(lockManager, metadataProvider.getLocks(), dataverseName, typeName);
          try {
+             // Check if the dataverse exists
+             Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName);
+             if (dv == null) {
+                 throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, dataverseName);
+             }
+ 
              Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
              if (dt == null) {
                  if (!stmtTypeDrop.getIfExists()) {