public class SingleStringInputCachingExpressionColumnValueSelector extends Object implements ColumnValueSelector<ExprEval>
ExpressionColumnValueSelector
, but caches results for the first CACHE_SIZE dictionary IDs of
a string column. Must only be used on selectors with dictionaries.Modifier and Type | Class and Description |
---|---|
static class |
SingleStringInputCachingExpressionColumnValueSelector.LruEvalCache |
Constructor and Description |
---|
SingleStringInputCachingExpressionColumnValueSelector(DimensionSelector selector,
Expr expression) |
Modifier and Type | Method and Description |
---|---|
Class<ExprEval> |
classOfObject() |
double |
getDouble() |
float |
getFloat() |
long |
getLong() |
ExprEval |
getObject() |
void |
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should call
inspector.visit() with all fields of this class, which meet two
conditions:
1. |
public SingleStringInputCachingExpressionColumnValueSelector(DimensionSelector selector, Expr expression)
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
HotLoopCallee
inspector.visit()
with all fields of this class, which meet two
conditions:
1. They are used in methods of this class, annotated with CalledFromHotLoop
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 type Set
could be HashSet
or TreeSet
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.inspectRuntimeShape
in interface HotLoopCallee
public double getDouble()
getDouble
in interface BaseDoubleColumnValueSelector
public float getFloat()
getFloat
in interface BaseFloatColumnValueSelector
public long getLong()
getLong
in interface BaseLongColumnValueSelector
@Nullable public ExprEval getObject()
getObject
in interface BaseObjectColumnValueSelector<ExprEval>
public Class<ExprEval> classOfObject()
classOfObject
in interface BaseObjectColumnValueSelector<ExprEval>
Copyright © 2011–2018. All rights reserved.