public class SingleLongInputCachingExpressionColumnValueSelector extends Object implements ColumnValueSelector<ExprEval>
ExpressionColumnValueSelector
, 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.Constructor and Description |
---|
SingleLongInputCachingExpressionColumnValueSelector(ColumnValueSelector 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 SingleLongInputCachingExpressionColumnValueSelector(ColumnValueSelector 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
@Nonnull public ExprEval getObject()
getObject
in interface BaseObjectColumnValueSelector<ExprEval>
public Class<ExprEval> classOfObject()
classOfObject
in interface BaseObjectColumnValueSelector<ExprEval>
Copyright © 2011–2018. All rights reserved.