marton-bod commented on a change in pull request #2137:
URL: https://github.com/apache/hive/pull/2137#discussion_r609494843
##########
File path:
iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java
##########
@@ -153,6 +168,39 @@ public DecomposedPredicate decomposePredicate(JobConf
jobConf, Deserializer dese
return predicate;
}
+ @Override
+ public boolean
addDynamicSplitPruningEdge(org.apache.hadoop.hive.ql.metadata.Table table,
+ ExprNodeDesc syntheticFilterPredicate) {
+ try {
+ Collection<String> partitionColumns = ((HiveIcebergSerDe)
table.getDeserializer()).partitionColumns();
+ if (partitionColumns.size() > 0) {
+ // Collect the column names from the predicate
+ Collection<String> filterColumns = Lists.newArrayList();
+ columns(syntheticFilterPredicate, filterColumns);
+
+ if (filterColumns.removeAll(partitionColumns)) {
Review comment:
IIUC the intention here is to enter this block if the filter columns
contain any partition columns. Instead of using `removeAll`, would it be more
descriptive to do something like this?
```
boolean filterContainsPartitionCols = filterColumns.stream().anyMatch(...);
if (filterContainsPartitionCols) {
}
```
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]