Package org.apache.drill.exec.expr
Class StatisticsProvider<T extends Comparable<T>>
java.lang.Object
org.apache.drill.common.expression.visitors.AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
org.apache.drill.exec.expr.StatisticsProvider<T>
- All Implemented Interfaces:
ExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
public class StatisticsProvider<T extends Comparable<T>>
extends AbstractExprVisitor<ColumnStatistics<?>,Void,RuntimeException>
-
Constructor Summary
ConstructorsConstructorDescriptionStatisticsProvider(Map<SchemaPath, ColumnStatistics<?>> columnStatMap, long rowCount, UdfUtilities udfUtilities) -
Method Summary
Modifier and TypeMethodDescriptionstatic <V> ColumnStatistics<V> getColumnStatistics(V minVal, V maxVal, long nullsCount, TypeProtos.MinorType type) ReturnsColumnStatisticsinstance with set min, max values and nulls count statistics specified in the arguments.static <V> ColumnStatistics<V> getConstantColumnStatistics(V minMaxValue, LogicalExpression expr) ReturnsColumnStatisticsinstance with min and max values set tominMaxValueand nulls count set to 0.static <V> ColumnStatistics<V> getConstantColumnStatistics(V minMaxValue, TypeProtos.MinorType type) ReturnsColumnStatisticsinstance with min and max values set tominMaxValueand nulls count set to 0.longvisitBooleanConstant(ValueExpressions.BooleanExpression expr, Void value) visitDateConstant(ValueExpressions.DateExpression expr, Void value) visitDoubleConstant(ValueExpressions.DoubleExpression expr, Void value) visitFloatConstant(ValueExpressions.FloatExpression expr, Void value) visitFunctionHolderExpression(FunctionHolderExpression holderExpr, Void value) visitIntConstant(ValueExpressions.IntExpression expr, Void value) visitLongConstant(ValueExpressions.LongExpression expr, Void value) visitQuotedStringConstant(ValueExpressions.QuotedString expr, Void value) visitTimeConstant(ValueExpressions.TimeExpression expr, Void value) visitTypedFieldExpr(TypedFieldExpr typedFieldExpr, Void value) visitUnknown(LogicalExpression e, Void value) Handles implementation-specific expressions not known to the visitor structure.Methods inherited from class org.apache.drill.common.expression.visitors.AbstractExprVisitor
visitAnyValueExpression, visitBooleanOperator, visitCastExpression, visitConvertExpression, visitDecimal18Constant, visitDecimal28Constant, visitDecimal38Constant, visitDecimal9Constant, visitFunctionCall, visitIfExpression, visitIntervalDayConstant, visitIntervalYearConstant, visitNullConstant, visitNullExpression, visitParameter, visitSchemaPath
-
Constructor Details
-
StatisticsProvider
public StatisticsProvider(Map<SchemaPath, ColumnStatistics<?>> columnStatMap, long rowCount, UdfUtilities udfUtilities)
-
-
Method Details
-
getRowCount
public long getRowCount() -
visitUnknown
Description copied from class:AbstractExprVisitorHandles implementation-specific expressions not known to the visitor structure. Since there are no "visitFoo" methods for these "unknown" expressions, subclassses should use the functionally-equivalentinstanceofapproach to parse out these "unknown" expressions.- Specified by:
visitUnknownin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitUnknownin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitTypedFieldExpr
- Specified by:
visitTypedFieldExprin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitTypedFieldExprin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitIntConstant
- Specified by:
visitIntConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitIntConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitBooleanConstant
public ColumnStatistics<Boolean> visitBooleanConstant(ValueExpressions.BooleanExpression expr, Void value) - Specified by:
visitBooleanConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitBooleanConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitLongConstant
- Specified by:
visitLongConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitLongConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitFloatConstant
public ColumnStatistics<Float> visitFloatConstant(ValueExpressions.FloatExpression expr, Void value) - Specified by:
visitFloatConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitFloatConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitDoubleConstant
public ColumnStatistics<Double> visitDoubleConstant(ValueExpressions.DoubleExpression expr, Void value) - Specified by:
visitDoubleConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitDoubleConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitDateConstant
- Specified by:
visitDateConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitDateConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitTimeStampConstant
public ColumnStatistics<Long> visitTimeStampConstant(ValueExpressions.TimeStampExpression expr, Void value) - Specified by:
visitTimeStampConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitTimeStampConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitTimeConstant
public ColumnStatistics<Integer> visitTimeConstant(ValueExpressions.TimeExpression expr, Void value) - Specified by:
visitTimeConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitTimeConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitQuotedStringConstant
public ColumnStatistics<String> visitQuotedStringConstant(ValueExpressions.QuotedString expr, Void value) - Specified by:
visitQuotedStringConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitQuotedStringConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitVarDecimalConstant
public ColumnStatistics<BigInteger> visitVarDecimalConstant(ValueExpressions.VarDecimalExpression expr, Void value) - Specified by:
visitVarDecimalConstantin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitVarDecimalConstantin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
visitFunctionHolderExpression
public ColumnStatistics<?> visitFunctionHolderExpression(FunctionHolderExpression holderExpr, Void value) - Specified by:
visitFunctionHolderExpressionin interfaceExprVisitor<ColumnStatistics<?>,Void, RuntimeException> - Overrides:
visitFunctionHolderExpressionin classAbstractExprVisitor<ColumnStatistics<?>,Void, RuntimeException>
-
getColumnStatistics
public static <V> ColumnStatistics<V> getColumnStatistics(V minVal, V maxVal, long nullsCount, TypeProtos.MinorType type) ReturnsColumnStatisticsinstance with set min, max values and nulls count statistics specified in the arguments.- Type Parameters:
V- type of min and max values- Parameters:
minVal- min valuemaxVal- max valuenullsCount- nulls counttype- type of the column- Returns:
ColumnStatisticsinstance with set min, max values and nulls count statistics
-
getConstantColumnStatistics
public static <V> ColumnStatistics<V> getConstantColumnStatistics(V minMaxValue, LogicalExpression expr) ReturnsColumnStatisticsinstance with min and max values set tominMaxValueand nulls count set to 0. ResultingColumnStatisticsinstance corresponds to a constant value, so nulls count is set to 0.- Type Parameters:
V- type of min and max values- Parameters:
minMaxValue- value of min and max statisticsexpr- source of column type- Returns:
ColumnStatisticsinstance with min and max values set tominMaxValueand nulls count set to 0
-
getConstantColumnStatistics
public static <V> ColumnStatistics<V> getConstantColumnStatistics(V minMaxValue, TypeProtos.MinorType type) ReturnsColumnStatisticsinstance with min and max values set tominMaxValueand nulls count set to 0. ResultingColumnStatisticsinstance corresponds to a constant value, so nulls count is set to 0.- Type Parameters:
V- type of min and max values- Parameters:
minMaxValue- value of min and max statisticstype- column type- Returns:
ColumnStatisticsinstance with min and max values set tominMaxValueand nulls count set to 0
-