>From Ali Alsuliman <[email protected]>: Ali Alsuliman has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21135?usp=email )
( 2 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: [NO ISSUE][OTH] Extend statements in QueryTranslator ...................................................................... [NO ISSUE][OTH] Extend statements in QueryTranslator - user model changes: no - storage format changes: no - interface changes: no Details: Extend truncate/compact statements. Ext-ref: MB-68032 Change-Id: Ibbf84366f24b8721e6ddaa50b6fbf05d4154304f Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21135 Reviewed-by: Murtadha Hubail <[email protected]> Integration-Tests: Ali Alsuliman <[email protected]> Reviewed-by: Ali Alsuliman <[email protected]> Tested-by: Ali Alsuliman <[email protected]> --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java 1 file changed, 16 insertions(+), 6 deletions(-) Approvals: Murtadha Hubail: Looks good to me, approved Ali Alsuliman: Looks good to me, but someone else must approve; Verified; 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 31c3595..64c0254 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 @@ -2474,7 +2474,7 @@ } } - protected void doTruncateDataset(String databaseName, DataverseName dataverseName, String datasetName, + protected boolean doTruncateDataset(String databaseName, DataverseName dataverseName, String datasetName, MetadataProvider metadataProvider, boolean ifExists, SourceLocation sourceLoc) throws Exception { MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); @@ -2491,7 +2491,7 @@ .dataverseName(databaseName, dataverseName, metadataProvider.isUsingDatabase()))); } MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); - return; + return false; } else { throw new CompilationException(ErrorCode.UNKNOWN_DATAVERSE, sourceLoc, MetadataUtil .dataverseName(databaseName, dataverseName, metadataProvider.isUsingDatabase())); @@ -2501,7 +2501,7 @@ if (ds == null) { if (ifExists) { MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); - return; + return false; } else { throw new CompilationException(ErrorCode.UNKNOWN_DATASET_IN_DATAVERSE, sourceLoc, datasetName, MetadataUtil.dataverseName(databaseName, dataverseName, @@ -2519,6 +2519,7 @@ DatasetUtil.truncate(metadataProvider, ds); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); + return true; } catch (Exception e) { LOGGER.error("failed to truncate collection {}", new DatasetFullyQualifiedName(databaseName, dataverseName, datasetName), e); @@ -5454,11 +5455,21 @@ if (isCompileOnly()) { return; } + lockUtil.compactBegin(lockManager, metadataProvider.getLocks(), databaseName, dataverseName, datasetName); + try { + doCompactStatement(metadataProvider, hcc, databaseName, dataverseName, datasetName, sourceLoc); + } finally { + metadataProvider.getLocks().unlock(); + } + } + + protected boolean doCompactStatement(MetadataProvider metadataProvider, IHyracksClientConnection hcc, + String databaseName, DataverseName dataverseName, String datasetName, SourceLocation sourceLoc) + throws Exception { MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); boolean bActiveTxn = true; metadataProvider.setMetadataTxnContext(mdTxnCtx); List<JobSpecification> jobsToExecute = new ArrayList<>(); - lockUtil.compactBegin(lockManager, metadataProvider.getLocks(), databaseName, dataverseName, datasetName); try { Dataset ds = metadataProvider.findDataset(databaseName, dataverseName, datasetName); if (ds == null) { @@ -5493,13 +5504,12 @@ for (JobSpecification jobSpec : jobsToExecute) { runJob(hcc, jobSpec); } + return true; } catch (Exception e) { if (bActiveTxn) { abort(e, e, mdTxnCtx); } throw e; - } finally { - metadataProvider.getLocks().unlock(); } } -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21135?usp=email To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: asterixdb Gerrit-Branch: lumina Gerrit-Change-Id: Ibbf84366f24b8721e6ddaa50b6fbf05d4154304f Gerrit-Change-Number: 21135 Gerrit-PatchSet: 4 Gerrit-Owner: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Hussain Towaileb <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]>
