Package org.apache.druid.segment.virtual
Class ExpressionColumnValueSelector
- java.lang.Object
-
- org.apache.druid.segment.virtual.BaseExpressionColumnValueSelector
-
- org.apache.druid.segment.virtual.ExpressionColumnValueSelector
-
- All Implemented Interfaces:
HotLoopCallee,BaseDoubleColumnValueSelector,BaseFloatColumnValueSelector,BaseLongColumnValueSelector,BaseNullableColumnValueSelector,BaseObjectColumnValueSelector<ExprEval>,ColumnValueSelector<ExprEval>
public class ExpressionColumnValueSelector extends BaseExpressionColumnValueSelector
Basic expressionColumnValueSelector. EvaluatesExprintoExprEvalagainstExpr.ObjectBindingwhich are backed by the underlying expression inputColumnValueSelectors
-
-
Field Summary
-
Fields inherited from interface org.apache.druid.segment.ColumnValueSelector
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description ExpressionColumnValueSelector(Expr expression, Expr.ObjectBinding bindings, RowIdSupplier rowIdSupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ExprEval<?>eval()Implementations override this.voidinspectRuntimeShape(RuntimeShapeInspector inspector)Implementations of this method should callinspector.visit()with all fields of this class, which meet two conditions: 1.-
Methods inherited from class org.apache.druid.segment.virtual.BaseExpressionColumnValueSelector
classOfObject, getDouble, getFloat, getLong, getObject, isNull
-
-
-
-
Constructor Detail
-
ExpressionColumnValueSelector
public ExpressionColumnValueSelector(Expr expression, Expr.ObjectBinding bindings, @Nullable RowIdSupplier rowIdSupplier)
-
-
Method Detail
-
eval
protected ExprEval<?> eval()
Description copied from class:BaseExpressionColumnValueSelectorImplementations override this.- Specified by:
evalin classBaseExpressionColumnValueSelector
-
inspectRuntimeShape
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
Description copied from interface:HotLoopCalleeImplementations of this method should callinspector.visit()with all fields of this class, which meet two conditions: 1. They are used in methods of this class, annotated withCalledFromHotLoop2. They are either: a. Nullable objects b. Instances of HotLoopCallee c. Objects, which don't always have a specific class in runtime. For example, a field of typeSetcould beHashSetorTreeSetin runtime, depending on how this instance (the instance on which inspectRuntimeShape() is called) is configured. d. ByteBuffer or similar objects, where byte order matters e. boolean flags, affecting branch taking f. Arrays of objects, meeting any of conditions a-e.- Specified by:
inspectRuntimeShapein interfaceHotLoopCallee- Overrides:
inspectRuntimeShapein classBaseExpressionColumnValueSelector
-
-