public class StatisticsProvider<T extends Comparable<T>> extends AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
Constructor and Description |
---|
StatisticsProvider(Map<SchemaPath,ColumnStatistics<?>> columnStatMap,
long rowCount) |
visitAnyValueExpression, visitBooleanOperator, visitCastExpression, visitConvertExpression, visitDecimal18Constant, visitDecimal28Constant, visitDecimal38Constant, visitDecimal9Constant, visitFunctionCall, visitIfExpression, visitIntervalDayConstant, visitIntervalYearConstant, visitNullConstant, visitNullExpression, visitParameter, visitSchemaPath
public StatisticsProvider(Map<SchemaPath,ColumnStatistics<?>> columnStatMap, long rowCount)
public long getRowCount()
public ColumnStatistics<?> visitUnknown(LogicalExpression e, Void value)
AbstractExprVisitor
instanceof
approach to parse out these "unknown"
expressions.visitUnknown
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitUnknown
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<?> visitTypedFieldExpr(TypedFieldExpr typedFieldExpr, Void value)
visitTypedFieldExpr
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitTypedFieldExpr
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Integer> visitIntConstant(ValueExpressions.IntExpression expr, Void value)
visitIntConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitIntConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Boolean> visitBooleanConstant(ValueExpressions.BooleanExpression expr, Void value)
visitBooleanConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitBooleanConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Long> visitLongConstant(ValueExpressions.LongExpression expr, Void value)
visitLongConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitLongConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Float> visitFloatConstant(ValueExpressions.FloatExpression expr, Void value)
visitFloatConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitFloatConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Double> visitDoubleConstant(ValueExpressions.DoubleExpression expr, Void value)
visitDoubleConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitDoubleConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Long> visitDateConstant(ValueExpressions.DateExpression expr, Void value)
visitDateConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitDateConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Long> visitTimeStampConstant(ValueExpressions.TimeStampExpression expr, Void value)
visitTimeStampConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitTimeStampConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<Integer> visitTimeConstant(ValueExpressions.TimeExpression expr, Void value)
visitTimeConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitTimeConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<String> visitQuotedStringConstant(ValueExpressions.QuotedString expr, Void value)
visitQuotedStringConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitQuotedStringConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<BigInteger> visitVarDecimalConstant(ValueExpressions.VarDecimalExpression expr, Void value)
visitVarDecimalConstant
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitVarDecimalConstant
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public ColumnStatistics<?> visitFunctionHolderExpression(FunctionHolderExpression holderExpr, Void value)
visitFunctionHolderExpression
in interface ExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
visitFunctionHolderExpression
in class AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
public static <V> ColumnStatistics<V> getColumnStatistics(V minVal, V maxVal, long nullsCount, TypeProtos.MinorType type)
ColumnStatistics
instance with set min, max values and nulls count statistics specified in the arguments.V
- type of min and max valuesminVal
- min valuemaxVal
- max valuenullsCount
- nulls counttype
- type of the columnColumnStatistics
instance with set min, max values and nulls count statisticspublic static <V> ColumnStatistics<V> getConstantColumnStatistics(V minMaxValue, LogicalExpression expr)
ColumnStatistics
instance with min and max values set to minMaxValue
and nulls count set to 0. Resulting ColumnStatistics
instance corresponds
to a constant value, so nulls count is set to 0.V
- type of min and max valuesminMaxValue
- value of min and max statisticsexpr
- source of column typeColumnStatistics
instance with min and max values set to minMaxValue
and nulls count set to 0public static <V> ColumnStatistics<V> getConstantColumnStatistics(V minMaxValue, TypeProtos.MinorType type)
ColumnStatistics
instance with min and max values set to minMaxValue
and nulls count set to 0. Resulting ColumnStatistics
instance corresponds
to a constant value, so nulls count is set to 0.V
- type of min and max valuesminMaxValue
- value of min and max statisticstype
- column typeColumnStatistics
instance with min and max values set to minMaxValue
and nulls count set to 0Copyright © 1970 The Apache Software Foundation. All rights reserved.