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 ExpressionVectorInputBindingaddNumeric(String name, ExpressionType type, VectorValueSelector selector)ExpressionVectorInputBindingaddObjectSelector(String name, ExpressionType type, VectorObjectSelector selector)intgetCurrentVectorId()Returns an integer that uniquely identifies the current position of the underlying vector offset, if this binding is backed by a segment.intgetCurrentVectorSize()double[]getDoubleVector(String name)long[]getLongVector(String name)intgetMaxVectorSize()boolean[]getNullVector(String name)Object[]getObjectVector(String name)ExpressionTypegetType(String name)Get theExpressionTypefrom 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.InputBindingInspectorGet theExpressionTypefrom the backing store for a given identifier (this is likely a column, but could be other things depending on the backing adapter)- Specified by:
getTypein interfaceExpr.InputBindingInspector
-
getObjectVector
public Object[] getObjectVector(String name)
- Specified by:
getObjectVectorin interfaceExpr.VectorInputBinding
-
getLongVector
public long[] getLongVector(String name)
- Specified by:
getLongVectorin interfaceExpr.VectorInputBinding
-
getDoubleVector
public double[] getDoubleVector(String name)
- Specified by:
getDoubleVectorin interfaceExpr.VectorInputBinding
-
getNullVector
@Nullable public boolean[] getNullVector(String name)
- Specified by:
getNullVectorin interfaceExpr.VectorInputBinding
-
getMaxVectorSize
public int getMaxVectorSize()
- Specified by:
getMaxVectorSizein interfaceExpr.VectorInputBindingInspector
-
getCurrentVectorSize
public int getCurrentVectorSize()
- Specified by:
getCurrentVectorSizein interfaceExpr.VectorInputBinding
-
getCurrentVectorId
public int getCurrentVectorId()
Description copied from interface:Expr.VectorInputBindingReturns 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:
getCurrentVectorIdin interfaceExpr.VectorInputBinding
-
-