[ASTERIXDB-3227][COMP] Refactor QueryTranslator doCreateDatasetStatement()
- user model changes: no
- storage format changes: no
- interface changes: no
This small patch extracts dataset object creation in function getDataset(..) out of
doCreateDatasetStatement(..)
Change-Id: I7da017d4bf1c56381033e5c07cb6f094bbd22aca
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17648
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Hussain Towaileb <hussainht@gmail.com>
Tested-by: Hussain Towaileb <hussainht@gmail.com>
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 dc165a0..f390237 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
@@ -90,6 +90,7 @@
import org.apache.asterix.common.functions.FunctionSignature;
import org.apache.asterix.common.metadata.DatasetFullyQualifiedName;
import org.apache.asterix.common.metadata.DataverseName;
+import org.apache.asterix.common.metadata.IDataset;
import org.apache.asterix.common.metadata.IMetadataLockUtil;
import org.apache.asterix.common.utils.JobUtils;
import org.apache.asterix.common.utils.JobUtils.ProgressState;
@@ -886,10 +887,9 @@
}
// #. add a new dataset with PendingAddOp
- dataset = new Dataset(dataverseName, datasetName, itemTypeDataverseName, itemTypeName,
- metaItemTypeDataverseName, metaItemTypeName, ngName, compactionPolicy, compactionPolicyProperties,
- datasetDetails, dd.getHints(), dsType, DatasetIdFactory.generateDatasetId(),
- MetadataUtil.PENDING_ADD_OP, compressionScheme, datasetFormatInfo);
+ dataset = (Dataset) createDataset(dd, dataverseName, datasetName, itemTypeDataverseName, itemTypeName,
+ metaItemTypeDataverseName, metaItemTypeName, dsType, compactionPolicy, compactionPolicyProperties,
+ compressionScheme, datasetFormatInfo, datasetDetails, ngName);
MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), dataset);
if (itemTypeIsInline) {
@@ -981,6 +981,18 @@
return Optional.of(dataset);
}
+ protected IDataset createDataset(DatasetDecl dd, DataverseName dataverseName, String datasetName,
+ DataverseName itemTypeDataverseName, String itemTypeName, DataverseName metaItemTypeDataverseName,
+ String metaItemTypeName, DatasetType dsType, String compactionPolicy,
+ Map<String, String> compactionPolicyProperties, String compressionScheme,
+ DatasetFormatInfo datasetFormatInfo, IDatasetDetails datasetDetails, String ngName)
+ throws AlgebricksException {
+ return new Dataset(dataverseName, datasetName, itemTypeDataverseName, itemTypeName, metaItemTypeDataverseName,
+ metaItemTypeName, ngName, compactionPolicy, compactionPolicyProperties, datasetDetails, dd.getHints(),
+ dsType, DatasetIdFactory.generateDatasetId(), MetadataUtil.PENDING_ADD_OP, compressionScheme,
+ datasetFormatInfo);
+ }
+
protected Triple<DataverseName, String, Boolean> extractDatasetItemTypeName(DataverseName datasetDataverseName,
String datasetName, TypeExpression itemTypeExpr, boolean isMetaItemType, SourceLocation sourceLoc)
throws CompilationException {