public class StatisticsFilter extends Object implements FilterPredicate.Visitor<Boolean>
FilterPredicate to statistics about a group of
records.
Note: the supplied predicate must not contain any instances of the not() operator as this is not supported by this filter.
the supplied predicate should first be run through LogicalInverseRewriter to rewrite it
in a form that doesn't make use of the not() operator.
the supplied predicate should also have already been run through
SchemaCompatibilityValidator
to make sure it is compatible with the schema of this file.
Returns true if all the records represented by the statistics in the provided column metadata can be dropped. false otherwise (including when it is not known, which is often the case).
public static boolean canDrop(FilterPredicate pred, List<ColumnChunkMetaData> columns)
public <T extends Comparable<T>> Boolean visit(Operators.Eq<T> eq)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.In<T> in)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.NotIn<T> notIn)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.Contains<T> contains)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.NotEq<T> notEq)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.Lt<T> lt)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.LtEq<T> ltEq)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.Gt<T> gt)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>> Boolean visit(Operators.GtEq<T> gtEq)
visit in interface FilterPredicate.Visitor<Boolean>public Boolean visit(Operators.And and)
visit in interface FilterPredicate.Visitor<Boolean>public Boolean visit(Operators.Or or)
visit in interface FilterPredicate.Visitor<Boolean>public Boolean visit(Operators.Not not)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>,U extends UserDefinedPredicate<T>> Boolean visit(Operators.UserDefined<T,U> ud)
visit in interface FilterPredicate.Visitor<Boolean>public <T extends Comparable<T>,U extends UserDefinedPredicate<T>> Boolean visit(Operators.LogicalNotUserDefined<T,U> lnud)
visit in interface FilterPredicate.Visitor<Boolean>Copyright © 2024 The Apache Software Foundation. All rights reserved.