This is an automated email from the ASF dual-hosted git repository.
dlych pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
The following commit(s) were added to refs/heads/master by this push:
new 0f096f3 [ASTERIXDB-2752][MTD] Add metadata for synonyms on upgrade
0f096f3 is described below
commit 0f096f3afbf9f03b4b2606250e0e0cde57ad1e57
Author: Dmitry Lychagin <[email protected]>
AuthorDate: Thu Jun 25 11:21:29 2020 -0700
[ASTERIXDB-2752][MTD] Add metadata for synonyms on upgrade
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- On version upgrade insert synonyms dataset entry
into Metadata.Dataset and corresponding type entry
into Metadata.Datatype
Change-Id: I32b3bafab3c130666f13063d8959f5b6e5fb7261
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/6944
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Reviewed-by: Dmitry Lychagin <[email protected]>
Reviewed-by: Michael Blow <[email protected]>
---
.../metadata/bootstrap/MetadataBootstrap.java | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
index 4309c26..d85422d 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
@@ -21,6 +21,7 @@ package org.apache.asterix.metadata.bootstrap;
import java.io.File;
import java.rmi.RemoteException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -170,6 +171,7 @@ public class MetadataBootstrap {
}
} else {
insertNewCompactionPoliciesIfNotExist(mdTxnCtx);
+ insertSynonymEntitiesIfNotExist(mdTxnCtx);
}
// #. initialize datasetIdFactory
MetadataManager.INSTANCE.initializeDatasetIdFactory(mdTxnCtx);
@@ -222,6 +224,10 @@ public class MetadataBootstrap {
}
}
+ public static void getMetadataIndexes(List<IMetadataIndex> outIndexes) {
+ Collections.addAll(outIndexes, PRIMARY_INDEXES);
+ }
+
private static void getMetadataTypes(ArrayList<IAType> types) {
for (int i = 0; i < PRIMARY_INDEXES.length; i++) {
types.add(PRIMARY_INDEXES[i].getPayloadRecordType());
@@ -293,6 +299,20 @@ public class MetadataBootstrap {
}
}
+ private static void
insertSynonymEntitiesIfNotExist(MetadataTransactionContext mdTxnCtx)
+ throws AlgebricksException {
+ IAType synonymDatasetRecordType =
MetadataPrimaryIndexes.SYNONYM_DATASET.getPayloadRecordType();
+ if (MetadataManager.INSTANCE.getDatatype(mdTxnCtx,
MetadataConstants.METADATA_DATAVERSE_NAME,
+ synonymDatasetRecordType.getTypeName()) == null) {
+ MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new
Datatype(MetadataConstants.METADATA_DATAVERSE_NAME,
+ synonymDatasetRecordType.getTypeName(),
synonymDatasetRecordType, false));
+ }
+ if (MetadataManager.INSTANCE.getDataset(mdTxnCtx,
MetadataConstants.METADATA_DATAVERSE_NAME,
+ MetadataConstants.SYNONYM_DATASET_NAME) == null) {
+ insertMetadataDatasets(mdTxnCtx, new IMetadataIndex[] {
MetadataPrimaryIndexes.SYNONYM_DATASET });
+ }
+ }
+
private static DatasourceAdapter getAdapter(String
adapterFactoryClassName) throws AlgebricksException {
try {
String adapterName =