>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]>

Reply via email to