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).| Modifier and Type | Method and Description |
|---|---|
static boolean |
canDrop(FilterPredicate pred,
List<ColumnChunkMetaData> columns) |
Boolean |
visit(Operators.And and) |
<T extends Comparable<T>> |
visit(Operators.Eq<T> eq) |
<T extends Comparable<T>> |
visit(Operators.Gt<T> gt) |
<T extends Comparable<T>> |
visit(Operators.GtEq<T> gtEq) |
<T extends Comparable<T>,U extends UserDefinedPredicate<T>> |
visit(Operators.LogicalNotUserDefined<T,U> lnud) |
<T extends Comparable<T>> |
visit(Operators.Lt<T> lt) |
<T extends Comparable<T>> |
visit(Operators.LtEq<T> ltEq) |
Boolean |
visit(Operators.Not not) |
<T extends Comparable<T>> |
visit(Operators.NotEq<T> notEq) |
Boolean |
visit(Operators.Or or) |
<T extends Comparable<T>,U extends UserDefinedPredicate<T>> |
visit(Operators.UserDefined<T,U> ud) |
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.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 © 2019 The Apache Software Foundation. All rights reserved.