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