Package org.apache.druid.math.expr
Interface ApplyFunction.IndexableFoldLambdaBinding
-
- All Superinterfaces:
Expr.InputBindingInspector,Expr.ObjectBinding
- All Known Implementing Classes:
ApplyFunction.CartesianFoldLambdaBinding,ApplyFunction.FoldLambdaBinding
- Enclosing interface:
- ApplyFunction
public static interface ApplyFunction.IndexableFoldLambdaBinding extends Expr.ObjectBinding
Expr.ObjectBindingwhich can be iterated by an integer index position forApplyFunction.BaseFoldFunction. Evaluating anIdentifierExpragainst these bindings will return the value(s) of the array at the current index for any lambda array identifiers, the value of the 'accumulator' for the lambda accumulator identifier, and fall through to the baseExpr.ObjectBindingfor all bindings provided by an outer scope.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ApplyFunction.IndexableFoldLambdaBindingaccumulateWithIndex(int index, Object accumulator)Update the index and accumulator valueExpressionTypegetAccumulatorType()intgetLength()Total number of bindings in this binding-
Methods inherited from interface org.apache.druid.math.expr.Expr.InputBindingInspector
areNumeric, areNumeric, areSameTypes, areSameTypes, areScalar, areScalar, canVectorize, canVectorize, getType
-
Methods inherited from interface org.apache.druid.math.expr.Expr.ObjectBinding
get
-
-
-
-
Method Detail
-
getAccumulatorType
ExpressionType getAccumulatorType()
-
getLength
int getLength()
Total number of bindings in this binding
-
accumulateWithIndex
ApplyFunction.IndexableFoldLambdaBinding accumulateWithIndex(int index, Object accumulator)
Update the index and accumulator value
-
-