Package org.apache.druid.math.expr
Class Function.ArraysFunction
- java.lang.Object
-
- org.apache.druid.math.expr.Function.ArraysFunction
-
- All Implemented Interfaces:
Function
,NamedFunction
- Direct Known Subclasses:
Function.ArrayContainsFunction
,Function.ArrayOverlapFunction
,Function.ArraysMergeFunction
- Enclosing interface:
- Function
public abstract static class Function.ArraysFunction extends Object implements Function
Function
that takes 2 array operands
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.druid.math.expr.Function
Function.Abs, Function.Acos, Function.ArrayAddElementFunction, Function.ArrayAppendFunction, Function.ArrayConcatFunction, Function.ArrayConstructorFunction, Function.ArrayContainsFunction, Function.ArrayLengthFunction, Function.ArrayOffsetFunction, Function.ArrayOffsetOfFunction, Function.ArrayOrdinalFunction, Function.ArrayOrdinalOfFunction, Function.ArrayOverlapFunction, Function.ArrayPrependFunction, Function.ArrayScalarFunction, Function.ArraySetAddAllFunction, Function.ArraySetAddFunction, Function.ArraysFunction, Function.ArraySliceFunction, Function.ArraysMergeFunction, Function.ArrayToMultiValueStringFunction, Function.ArrayToStringFunction, Function.Asin, Function.Atan, Function.Atan2, Function.BitwiseAnd, Function.BitwiseComplement, Function.BitwiseConvertDoubleToLongBits, Function.BitwiseConvertLongBitsToDouble, Function.BitwiseOr, Function.BitwiseShiftLeft, Function.BitwiseShiftRight, Function.BitwiseXor, Function.BivariateBitwiseMathFunction, Function.BivariateFunction, Function.BivariateMathFunction, Function.CaseSearchedFunc, Function.CaseSimpleFunc, Function.CastFunc, Function.Cbrt, Function.Ceil, Function.ConcatFunc, Function.ConditionFunc, Function.CopySign, Function.Cos, Function.Cosh, Function.Cot, Function.Div, Function.DoubleBivariateMathFunction, Function.DoubleUnivariateMathFunction, Function.Exp, Function.Expm1, Function.Floor, Function.GetExponent, Function.GreatestFunc, Function.HumanReadableBinaryByteFormatFunc, Function.HumanReadableDecimalByteFormatFunc, Function.HumanReadableDecimalFormatFunc, Function.Hypot, Function.IsDistinctFromFunc, Function.IsFalseFunc, Function.IsNotDistinctFromFunc, Function.IsNotFalseFunc, Function.IsNotNullFunc, Function.IsNotTrueFunc, Function.IsNullFunc, Function.IsTrueFunc, Function.LeastFunc, Function.LeftFunc, Function.Log, Function.Log10, Function.Log1p, Function.LowerFunc, Function.LpadFunc, Function.Max, Function.Min, Function.MultiValueStringToArrayFunction, Function.NextAfter, Function.NextUp, Function.NvlFunc, Function.ParseLong, Function.Pi, Function.Pow, Function.ReduceFunction, Function.Remainder, Function.RepeatFunc, Function.ReplaceFunc, Function.ReverseFunc, Function.RightFunc, Function.Rint, Function.Round, Function.RpadFunc, Function.SafeDivide, Function.Scalb, Function.Signum, Function.Sin, Function.Sinh, Function.SizeFormatFunc, Function.Sqrt, Function.StringFormatFunc, Function.StringLongFunction, Function.StringToArrayFunction, Function.StrlenFunc, Function.StrposFunc, Function.SubMonthFunc, Function.SubstringFunc, Function.Tan, Function.Tanh, Function.TimestampFromEpochFunc, Function.ToDegrees, Function.ToRadians, Function.Ulp, Function.UnivariateFunction, Function.UnivariateMathFunction, Function.UnixTimestampFunc, Function.UpperFunc
-
-
Constructor Summary
Constructors Constructor Description ArraysFunction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExprEval
apply(List<Expr> args, Expr.ObjectBinding bindings)
Evaluate the function, given a list of arguments and a set of bindings to provide values forIdentifierExpr
.Set<Expr>
getArrayInputs(List<Expr> args)
Given a list of arguments to thisFunction
, get the set of arguments that must evaluate to an array valueSet<Expr>
getScalarInputs(List<Expr> args)
Given a list of arguments to thisFunction
, get the set of arguments that must evaluate to a scalar valueboolean
hasArrayInputs()
Returns true if a function expects any array argumentsvoid
validateArguments(List<Expr> args)
Validate function arguments.-
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.Function
asVectorProcessor, canVectorize, getOutputType, hasArrayOutput
-
Methods inherited from interface org.apache.druid.math.expr.NamedFunction
name, processingFailed, validationFailed, validationFailed, validationHelperCheckAnyOfArgumentCount, validationHelperCheckArgIsLiteral, validationHelperCheckArgumentCount, validationHelperCheckArgumentCount, validationHelperCheckArgumentRange, validationHelperCheckLambaArgumentCount, validationHelperCheckMinArgumentCount, validationHelperCheckMinArgumentCount
-
-
-
-
Method Detail
-
validateArguments
public void validateArguments(List<Expr> args)
Description copied from interface:Function
Validate function arguments. This method is called whenever aFunctionExpr
is created, and should validate everything that is feasible up front. Note that input type information is typically unavailable at the timeExpr
are parsed, and so this method is incapable of performing complete validation.- Specified by:
validateArguments
in interfaceFunction
-
getScalarInputs
public Set<Expr> getScalarInputs(List<Expr> args)
Description copied from interface:Function
Given a list of arguments to thisFunction
, get the set of arguments that must evaluate to a scalar value- Specified by:
getScalarInputs
in interfaceFunction
-
getArrayInputs
public Set<Expr> getArrayInputs(List<Expr> args)
Description copied from interface:Function
Given a list of arguments to thisFunction
, get the set of arguments that must evaluate to an array value- Specified by:
getArrayInputs
in interfaceFunction
-
hasArrayInputs
public boolean hasArrayInputs()
Description copied from interface:Function
Returns true if a function expects any array arguments- Specified by:
hasArrayInputs
in interfaceFunction
-
-