public class ExpressionColumnValueSelector extends Object implements ColumnValueSelector<ExprEval>
Constructor and Description |
---|
ExpressionColumnValueSelector(Expr expression,
Expr.ObjectBinding bindings) |
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 ExpressionColumnValueSelector(Expr expression, Expr.ObjectBinding bindings)
public double getDouble()
getDouble
in interface BaseDoubleColumnValueSelector
public float getFloat()
getFloat
in interface BaseFloatColumnValueSelector
public long getLong()
getLong
in interface BaseLongColumnValueSelector
public Class<ExprEval> classOfObject()
classOfObject
in interface BaseObjectColumnValueSelector<ExprEval>
@Nonnull public ExprEval getObject()
getObject
in interface BaseObjectColumnValueSelector<ExprEval>
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
Copyright © 2011–2018. All rights reserved.