SourabhBadhya commented on code in PR #4748:
URL: https://github.com/apache/hive/pull/4748#discussion_r1350424172


##########
ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveStorageHandler.java:
##########
@@ -718,4 +719,18 @@ default ColumnInfo 
getColumnInfo(org.apache.hadoop.hive.ql.metadata.Table hmsTab
             "for a specific column.");
   }
 
+  default boolean supportsMetadataDelete() {
+    return false;
+  }
+
+  default boolean 
canPerformMetadataDelete(org.apache.hadoop.hive.ql.metadata.Table hmsTable, 
SearchArgument searchArgument) {
+    throw new UnsupportedOperationException("Storage handler does not support 
validation of metadata " +
+            " delete operation using search argument.");
+  }
+
+  default void performMetadataDelete(org.apache.hadoop.hive.ql.metadata.Table 
hmsTable, SearchArgument searchArgument) {

Review Comment:
   This function is not required now. Completely removed.



##########
ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java:
##########
@@ -287,6 +299,29 @@ private void reparseAndSuperAnalyze(ASTNode tree, Table 
mTable, ASTNode tabNameN
     }
   }
 
+  private void checkAndPerformStorageMetadataUpdate(Table table, 
HiveStorageHandler storageHandler) {
+    if (!deleting() || storageHandler == null) {
+      return;
+    }
+    Map<String, TableScanOperator> topOps = getParseContext().getTopOps();
+    if (!topOps.containsKey(table.getTableName())) {
+      return;
+    }
+    ExprNodeGenericFuncDesc hiveFilter = getParseContext().getTopOps()

Review Comment:
   Done.



##########
ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java:
##########
@@ -271,6 +280,9 @@ private void reparseAndSuperAnalyze(ASTNode tree, Table 
mTable, ASTNode tabNameN
     rewrittenCtx.setEnableUnparse(false);
     analyzeRewrittenTree(rewrittenTree, rewrittenCtx);
 
+    // Check if metadata delete is possible and convert the tasks to metadata 
delete.
+    checkAndPerformStorageMetadataUpdate(mTable, storageHandler);

Review Comment:
   Done.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to