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 <[email protected]> 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()) {
