Package org.apache.druid.segment.virtual
Class SingleLongInputCachingExpressionColumnValueSelector
- java.lang.Object
-
- org.apache.druid.segment.virtual.BaseExpressionColumnValueSelector
-
- org.apache.druid.segment.virtual.SingleLongInputCachingExpressionColumnValueSelector
-
- All Implemented Interfaces:
HotLoopCallee
,BaseDoubleColumnValueSelector
,BaseFloatColumnValueSelector
,BaseLongColumnValueSelector
,BaseNullableColumnValueSelector
,BaseObjectColumnValueSelector<ExprEval>
,ColumnValueSelector<ExprEval>
public class SingleLongInputCachingExpressionColumnValueSelector extends BaseExpressionColumnValueSelector
LikeExpressionColumnValueSelector
, but caches the most recently computed value and re-uses it in the case of runs in the underlying column. This is especially useful for the __time column, where we expect runs.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SingleLongInputCachingExpressionColumnValueSelector.LruEvalCache
-
Field Summary
-
Fields inherited from interface org.apache.druid.segment.ColumnValueSelector
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description SingleLongInputCachingExpressionColumnValueSelector(ColumnValueSelector selector, Expr expression, boolean useLruCache, RowIdSupplier rowIdSupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ExprEval<?>
eval()
Implementations override this.void
inspectRuntimeShape(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
-
SingleLongInputCachingExpressionColumnValueSelector
public SingleLongInputCachingExpressionColumnValueSelector(ColumnValueSelector selector, Expr expression, boolean useLruCache, @Nullable RowIdSupplier rowIdSupplier)
-
-
Method Detail
-
inspectRuntimeShape
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
Description copied from interface:HotLoopCallee
Implementations 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 withCalledFromHotLoop
2. 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 typeSet
could beHashSet
orTreeSet
in 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:
inspectRuntimeShape
in interfaceHotLoopCallee
- Overrides:
inspectRuntimeShape
in classBaseExpressionColumnValueSelector
-
eval
@Nonnull protected ExprEval<?> eval()
Description copied from class:BaseExpressionColumnValueSelector
Implementations override this.- Specified by:
eval
in classBaseExpressionColumnValueSelector
-
-