>From Ali Alsuliman <[email protected]>: Ali Alsuliman has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20277 )
Change subject: [NO ISSUE][OTH] Add extensions for drop transaction pre-commit ...................................................................... [NO ISSUE][OTH] Add extensions for drop transaction pre-commit - user model changes: no - storage format changes: no - interface changes: no Ext-ref: MB-67991 Change-Id: I419f53c25631377b4aeec55355aca7da3b8fc557 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20277 Tested-by: Jenkins <[email protected]> Reviewed-by: Michael Blow <[email protected]> --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java 1 file changed, 35 insertions(+), 0 deletions(-) Approvals: Michael Blow: Looks good to me, approved Jenkins: Verified 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: 4 Gerrit-Owner: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Janhavi Tripurwar Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-MessageType: merged
