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 0c91bd7c564e1bd5cb5d54b137f41a4d9b9db076 Author: Dmitry Lychagin <[email protected]> AuthorDate: Fri Apr 3 11:17:39 2020 -0700 [NO ISSUE][COMP] Minor refactoring in QueryTranslator - user model changes: no - storage format changes: no - interface changes: no Details: - Replace QueryTranslator method validateExternalDatasetRequirements() with createExternalDatasetProperties() Change-Id: Ifbf54dbcd560a3c987f6c42a387d1fa0f0e41e0a Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/5566 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Dmitry Lychagin <[email protected]> Reviewed-by: Hussain Towaileb <[email protected]> --- .../asterix/app/translator/QueryTranslator.java | 37 ++++++---------------- 1 file changed, 10 insertions(+), 27 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 a440ae4..81dce6d 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 @@ -157,8 +157,6 @@ import org.apache.asterix.metadata.utils.KeyFieldTypeUtil; import org.apache.asterix.metadata.utils.MetadataConstants; import org.apache.asterix.metadata.utils.MetadataLockUtil; import org.apache.asterix.metadata.utils.MetadataUtil; -import org.apache.asterix.object.base.AdmObjectNode; -import org.apache.asterix.object.base.AdmStringNode; import org.apache.asterix.om.base.IAObject; import org.apache.asterix.om.types.ARecordType; import org.apache.asterix.om.types.ATypeTag; @@ -714,18 +712,10 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen keySourceIndicators, partitioningTypes, autogenerated, filterField); break; case EXTERNAL: - validateExternalDatasetRequirements(appCtx, metadataProvider, mdTxnCtx, dd); - String adapter = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getAdapter(); - Map<String, String> properties = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getProperties(); - - // Add the withObjectNode items to the external dataset properties - if (!dd.getWithObjectNode().isEmpty()) { - AdmObjectNode withObjectNode = dd.getWithObjectNode(); - dd.getWithObjectNode().getFieldNames().iterator().forEachRemaining(fieldName -> properties - .put(fieldName, ((AdmStringNode) withObjectNode.get(fieldName)).get())); - } - datasetDetails = - new ExternalDatasetDetails(adapter, properties, new Date(), TransactionState.COMMIT); + ExternalDetailsDecl externalDetails = (ExternalDetailsDecl) dd.getDatasetDetailsDecl(); + Map<String, String> properties = createExternalDatasetProperties(dd, metadataProvider, mdTxnCtx); + datasetDetails = new ExternalDatasetDetails(externalDetails.getAdapter(), properties, new Date(), + TransactionState.COMMIT); break; default: throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, @@ -814,6 +804,12 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen } } + protected Map<String, String> createExternalDatasetProperties(DatasetDecl dd, MetadataProvider metadataProvider, + MetadataTransactionContext mdTxnCtx) throws AlgebricksException { + ExternalDetailsDecl externalDetails = (ExternalDetailsDecl) dd.getDatasetDetailsDecl(); + return externalDetails.getProperties(); + } + protected static void validateIfResourceIsActiveInFeed(ICcApplicationContext appCtx, Dataset dataset, SourceLocation sourceLoc) throws CompilationException { ActiveNotificationHandler activeEventHandler = @@ -3163,17 +3159,4 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen throw new RuntimeDataException(ErrorCode.REQUEST_CANCELLED, clientRequest.getId()); } } - - /** - * Performs any required validation before creating an external dataset - * - * @param appContext {@link ICcApplicationContext} context - * @param metadataProvider {@link MetadataProvider} metadata provider - * @param mdTxnCtx {@link MetadataTransactionContext} metadata transaction context - * @param datasetDecl {@link DatasetDecl} dataset declaration statement - */ - protected void validateExternalDatasetRequirements(ICcApplicationContext appContext, - MetadataProvider metadataProvider, MetadataTransactionContext mdTxnCtx, DatasetDecl datasetDecl) - throws Exception { - } }
