>From Ali Alsuliman <[email protected]>:
Ali Alsuliman has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20277 )
Change subject: Before drop txn
......................................................................
Before drop txn
Change-Id: I419f53c25631377b4aeec55355aca7da3b8fc557
---
M
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
1 file changed, 26 insertions(+), 0 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/77/20277/1
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 f921ff0..2b75477 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
@@ -2149,6 +2149,7 @@
validateDatasetsStateAfterNamespaceDrop(mdProvider, mdTxnCtx,
datasets);
+ beforeDropTxnCommit(mdProvider, mdTxnCtx,
EntityDetails.newDatabase(databaseName));
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
return true;
} catch (Exception e) {
@@ -2334,6 +2335,7 @@
}
validateDatasetsStateAfterNamespaceDrop(metadataProvider,
mdTxnCtx, datasets);
+ beforeDropTxnCommit(metadataProvider, mdTxnCtx,
EntityDetails.newDataverse(databaseName, dataverseName));
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
return true;
} catch (Exception e) {
@@ -2537,6 +2539,8 @@
ds.drop(metadataProvider, mdTxnCtx, jobsToExecute, bActiveTxn,
progress, hcc, dropCorrespondingNodeGroup,
sourceLoc, EnumSet.of(DropOption.IF_EXISTS),
requestParameters.isForceDropDataset());
+ beforeDropTxnCommit(metadataProvider, mdTxnCtx.getValue(),
+ EntityDetails.newDataset(databaseName, dataverseName,
datasetName));
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx.getValue());
return true;
} catch (Exception e) {
@@ -2656,6 +2660,8 @@
// #. finally, delete the existing index
MetadataManager.INSTANCE.dropIndex(mdTxnCtx, databaseName,
dataverseName, datasetName, indexName);
}
+ beforeDropTxnCommit(metadataProvider, mdTxnCtx,
+ EntityDetails.newIndex(databaseName, dataverseName,
indexName));
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
return true;
} catch (Exception e) {
@@ -3170,6 +3176,8 @@
MetadataManager.INSTANCE.dropDatatype(mdTxnCtx,
itemTypeDatabaseName,
dataset.getItemTypeDataverseName(),
dataset.getItemTypeName());
}
+ beforeDropTxnCommit(metadataProvider, mdTxnCtx,
+ EntityDetails.newView(databaseName, dataverseName,
viewName));
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
return true;
} catch (Exception e) {
@@ -3600,6 +3608,8 @@
MetadataManager.INSTANCE.dropDatatype(mdTxnCtx,
inlineType.getDatabaseName(),
inlineType.getDataverseName(), inlineType.getName());
}
+ beforeDropTxnCommit(metadataProvider, mdTxnCtx,
+ EntityDetails.newFunction(databaseName, dataverseName,
signature.getName(), signature.getArity()));
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
return true;
} catch (Exception e) {
@@ -4083,6 +4093,8 @@
throw new CompilationException(ErrorCode.UNKNOWN_SYNONYM,
stmtSynDrop.getSourceLocation(), synonymName);
}
MetadataManager.INSTANCE.dropSynonym(mdTxnCtx, databaseName,
dataverseName, synonymName);
+ beforeDropTxnCommit(metadataProvider, mdTxnCtx,
+ EntityDetails.newSynonym(databaseName, dataverseName,
synonymName));
MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
return true;
} catch (Exception e) {
@@ -6048,6 +6060,11 @@
//no op
}
+ protected void beforeDropTxnCommit(MetadataProvider mdProvider,
MetadataTransactionContext mdTxnCtx,
+ EntityDetails entityDetails) throws AlgebricksException {
+ //no op
+ }
+
protected enum CreateResult {
NOOP,
CREATED,
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20277
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: ionic
Gerrit-Change-Id: I419f53c25631377b4aeec55355aca7da3b8fc557
Gerrit-Change-Number: 20277
Gerrit-PatchSet: 1
Gerrit-Owner: Ali Alsuliman <[email protected]>
Gerrit-MessageType: newchange