public static class ApplyFunction.CartesianMapFunction extends ApplyFunction.BaseMapFunction
LambdaExpr
ApplyFunction.AllMatchFunction, ApplyFunction.AnyMatchFunction, ApplyFunction.BaseFoldFunction, ApplyFunction.BaseMapFunction, ApplyFunction.CartesianFoldFunction, ApplyFunction.CartesianFoldLambdaBinding, ApplyFunction.CartesianMapFunction, ApplyFunction.CartesianMapLambdaBinding, ApplyFunction.FilterFunction, ApplyFunction.FoldFunction, ApplyFunction.FoldLambdaBinding, ApplyFunction.IndexableFoldLambdaBinding, ApplyFunction.IndexableMapLambdaObjectBinding, ApplyFunction.LambdaInputBindingInspector, ApplyFunction.MapFunction, ApplyFunction.MapLambdaBinding, ApplyFunction.MatchFunction, ApplyFunction.SettableLambdaBinding
Constructor and Description |
---|
CartesianMapFunction() |
Modifier and Type | Method and Description |
---|---|
ExprEval |
apply(org.apache.druid.math.expr.LambdaExpr lambdaExpr,
List<Expr> argsExpr,
Expr.ObjectBinding bindings)
|
Set<Expr> |
getArrayInputs(List<Expr> args)
Get list of input arguments which must evaluate to an array
ExprType |
String |
name()
Name of the function
|
void |
validateArguments(org.apache.druid.math.expr.LambdaExpr lambdaExpr,
List<Expr> args)
Validate function arguments.
|
getOutputType, hasArrayOutput
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
asVectorProcessor, canVectorize
processingFailed, validationFailed, validationFailed, validationHelperCheckAnyOfArgumentCount, validationHelperCheckArgIsLiteral, validationHelperCheckArgumentCount, validationHelperCheckArgumentCount, validationHelperCheckArgumentRange, validationHelperCheckLambaArgumentCount, validationHelperCheckMinArgumentCount, validationHelperCheckMinArgumentCount
public String name()
NamedFunction
public ExprEval apply(org.apache.druid.math.expr.LambdaExpr lambdaExpr, List<Expr> argsExpr, Expr.ObjectBinding bindings)
ApplyFunction
LambdaExpr
to argument list of Expr
given a set of outer Expr.ObjectBinding
. These
outer bindings will be used to form the scope for the bindings used to evaluate the LambdaExpr
, which use
the array inputs to supply scalar values to use as bindings for IdentifierExpr
in the lambda body.public Set<Expr> getArrayInputs(List<Expr> args)
ApplyFunction
ExprType
public void validateArguments(org.apache.druid.math.expr.LambdaExpr lambdaExpr, List<Expr> args)
ApplyFunction
ApplyFunctionExpr
is created, and should
validate everything that is feasible up front. Note that input type information is typically unavailable at the
time Expr
are parsed, and so this method is incapable of performing complete validation.Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.