Package org.apache.druid.segment.virtual
Class SingleStringInputCachingExpressionColumnValueSelector
java.lang.Object
org.apache.druid.segment.virtual.BaseExpressionColumnValueSelector
org.apache.druid.segment.virtual.SingleStringInputCachingExpressionColumnValueSelector
- All Implemented Interfaces:
HotLoopCallee,BaseDoubleColumnValueSelector,BaseFloatColumnValueSelector,BaseLongColumnValueSelector,BaseNullableColumnValueSelector,BaseObjectColumnValueSelector<ExprEval>,ColumnValueSelector<ExprEval>
public class SingleStringInputCachingExpressionColumnValueSelector
extends BaseExpressionColumnValueSelector
Like
ExpressionColumnValueSelector, but caches results for the first CACHE_SIZE dictionary IDs of
a string column. Must only be used on selectors with dictionaries.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class -
Field Summary
Fields inherited from interface org.apache.druid.segment.ColumnValueSelector
EMPTY_ARRAY -
Constructor Summary
ConstructorsConstructorDescriptionSingleStringInputCachingExpressionColumnValueSelector(DimensionSelector selector, Expr expression, RowIdSupplier rowIdSupplier) -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.booleanisNull()Returns true if the primitive long, double, or float value returned by this selector should be treated as null.Methods inherited from class org.apache.druid.segment.virtual.BaseExpressionColumnValueSelector
classOfObject, getDouble, getFloat, getLong, getObject
-
Constructor Details
-
SingleStringInputCachingExpressionColumnValueSelector
public SingleStringInputCachingExpressionColumnValueSelector(DimensionSelector selector, Expr expression, @Nullable RowIdSupplier rowIdSupplier)
-
-
Method Details
-
inspectRuntimeShape
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
-
eval
Description copied from class:BaseExpressionColumnValueSelectorImplementations override this.- Specified by:
evalin classBaseExpressionColumnValueSelector
-
isNull
public boolean isNull()Description copied from interface:BaseNullableColumnValueSelectorReturns true if the primitive long, double, or float value returned by this selector should be treated as null. Users ofBaseLongColumnValueSelector.getLong(),BaseDoubleColumnValueSelector.getDouble()andBaseFloatColumnValueSelector.getFloat()must check this method first, or else they may improperly use placeholder values returned by the primitive get methods. Users ofBaseObjectColumnValueSelector.getObject()should not call this method. Instead, call "getObject" and check if it is null.- Specified by:
isNullin interfaceBaseNullableColumnValueSelector- Overrides:
isNullin classBaseExpressionColumnValueSelector
-