diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/BackgroundHiveSplitLoader.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/BackgroundHiveSplitLoader.java index aef4a13195fe..5f39feca3a1a 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/BackgroundHiveSplitLoader.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/BackgroundHiveSplitLoader.java @@ -370,7 +370,10 @@ private ListenableFuture loadPartition(HivePartitionMetadata partition) TupleDomain effectivePredicate = compactEffectivePredicate.transformKeys(HiveColumnHandle.class::cast); List partitionColumns = getPartitionKeyColumnHandles(table, typeManager); - BooleanSupplier partitionMatchSupplier = () -> partitionMatches(partitionColumns, dynamicFilter.getCurrentPredicate(), hivePartition); + BooleanSupplier partitionMatchSupplier = + partitionColumns.stream().noneMatch(dynamicFilter.getColumnsCovered()::contains) + ? () -> true + : () -> partitionMatches(partitionColumns, dynamicFilter.getCurrentPredicate(), hivePartition); if (!partitionMatchSupplier.getAsBoolean()) { // Avoid listing files and creating splits from a partition if it has been pruned due to dynamic filters return COMPLETED_FUTURE;