diff --git a/presto-parquet/src/main/java/io/prestosql/parquet/predicate/TupleDomainParquetPredicate.java b/presto-parquet/src/main/java/io/prestosql/parquet/predicate/TupleDomainParquetPredicate.java index 1c150d5a13dea..eadba81060a71 100644 --- a/presto-parquet/src/main/java/io/prestosql/parquet/predicate/TupleDomainParquetPredicate.java +++ b/presto-parquet/src/main/java/io/prestosql/parquet/predicate/TupleDomainParquetPredicate.java @@ -118,10 +118,8 @@ public boolean matches(Map dictionaries) } DictionaryDescriptor dictionaryDescriptor = dictionaries.get(column); Domain domain = getDomain(effectivePredicateDomain.getType(), dictionaryDescriptor); - if (domain != null) { - if (effectivePredicateDomain.intersect(domain).isNone()) { - return false; - } + if (effectivePredicateDomain.intersect(domain).isNone()) { + return false; } } return true; @@ -232,13 +230,13 @@ else if (type.equals(DATE) && statistics instanceof IntStatistics) { public static Domain getDomain(Type type, DictionaryDescriptor dictionaryDescriptor) { if (dictionaryDescriptor == null) { - return null; + return Domain.all(type); } ColumnDescriptor columnDescriptor = dictionaryDescriptor.getColumnDescriptor(); Optional dictionaryPage = dictionaryDescriptor.getDictionaryPage(); if (!dictionaryPage.isPresent()) { - return null; + return Domain.all(type); } Dictionary dictionary; @@ -248,7 +246,8 @@ public static Domain getDomain(Type type, DictionaryDescriptor dictionaryDescrip catch (Exception e) { // In case of exception, just continue reading the data, not using dictionary page at all // OK to ignore exception when reading dictionaries - return null; + // TODO take failOnCorruptedParquetStatistics parameter and handle appropriately + return Domain.all(type); } int dictionarySize = dictionaryPage.get().getDictionarySize(); @@ -292,7 +291,7 @@ else if (isVarcharType(type) && columnDescriptor.getType() == PrimitiveTypeName. domains.add(Domain.onlyNull(type)); return Domain.union(domains); } - return null; + return Domain.all(type); } private static void failWithCorruptionException(boolean failOnCorruptedParquetStatistics, String column, ParquetDataSourceId id, Statistics statistics)