Package org.apache.druid.segment.virtual
Class ExpressionVectorInputBinding
- java.lang.Object
-
- org.apache.druid.segment.virtual.ExpressionVectorInputBinding
-
- All Implemented Interfaces:
Expr.InputBindingInspector
,Expr.VectorInputBinding
,Expr.VectorInputBindingInspector
public class ExpressionVectorInputBinding extends Object implements Expr.VectorInputBinding
-
-
Constructor Summary
Constructors Constructor Description ExpressionVectorInputBinding(ReadableVectorInspector vectorInspector)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExpressionVectorInputBinding
addNumeric(String name, ExpressionType type, VectorValueSelector selector)
ExpressionVectorInputBinding
addObjectSelector(String name, ExpressionType type, VectorObjectSelector selector)
int
getCurrentVectorId()
Returns an integer that uniquely identifies the current position of the underlying vector offset, if this binding is backed by a segment.int
getCurrentVectorSize()
double[]
getDoubleVector(String name)
long[]
getLongVector(String name)
int
getMaxVectorSize()
boolean[]
getNullVector(String name)
Object[]
getObjectVector(String name)
ExpressionType
getType(String name)
Get theExpressionType
from the backing store for a given identifier (this is likely a column, but could be other things depending on the backing adapter)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.math.expr.Expr.InputBindingInspector
areNumeric, areNumeric, areSameTypes, areSameTypes, areScalar, areScalar, canVectorize, canVectorize
-
-
-
-
Constructor Detail
-
ExpressionVectorInputBinding
public ExpressionVectorInputBinding(ReadableVectorInspector vectorInspector)
-
-
Method Detail
-
addNumeric
public ExpressionVectorInputBinding addNumeric(String name, ExpressionType type, VectorValueSelector selector)
-
addObjectSelector
public ExpressionVectorInputBinding addObjectSelector(String name, ExpressionType type, VectorObjectSelector selector)
-
getType
public ExpressionType getType(String name)
Description copied from interface:Expr.InputBindingInspector
Get theExpressionType
from the backing store for a given identifier (this is likely a column, but could be other things depending on the backing adapter)- Specified by:
getType
in interfaceExpr.InputBindingInspector
-
getObjectVector
public Object[] getObjectVector(String name)
- Specified by:
getObjectVector
in interfaceExpr.VectorInputBinding
-
getLongVector
public long[] getLongVector(String name)
- Specified by:
getLongVector
in interfaceExpr.VectorInputBinding
-
getDoubleVector
public double[] getDoubleVector(String name)
- Specified by:
getDoubleVector
in interfaceExpr.VectorInputBinding
-
getNullVector
@Nullable public boolean[] getNullVector(String name)
- Specified by:
getNullVector
in interfaceExpr.VectorInputBinding
-
getMaxVectorSize
public int getMaxVectorSize()
- Specified by:
getMaxVectorSize
in interfaceExpr.VectorInputBindingInspector
-
getCurrentVectorSize
public int getCurrentVectorSize()
- Specified by:
getCurrentVectorSize
in interfaceExpr.VectorInputBinding
-
getCurrentVectorId
public int getCurrentVectorId()
Description copied from interface:Expr.VectorInputBinding
Returns an integer that uniquely identifies the current position of the underlying vector offset, if this binding is backed by a segment. This is useful for caching: it is safe to assume nothing has changed in the offset so long as the id remains the same. See also: ReadableVectorOffset (in druid-processing)- Specified by:
getCurrentVectorId
in interfaceExpr.VectorInputBinding
-
-