Package org.apache.druid.math.expr
Class Function.ConcatFunc
- java.lang.Object
-
- org.apache.druid.math.expr.Function.ConcatFunc
-
- All Implemented Interfaces:
Function
,NamedFunction
- Enclosing interface:
- Function
public static class Function.ConcatFunc extends Object implements Function
-
-
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.CoalesceFunc, 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.MultiValueStringHarmonizeNullsFunction, 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.ScalarInArrayFunction, 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 ConcatFunc()
-
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
.<T> ExprVectorProcessor<T>
asVectorProcessor(Expr.VectorInputBindingInspector inspector, List<Expr> args)
Builds a 'vectorized' function expression processor, that can build vectorized processors for its input values usingExpr.asVectorProcessor(org.apache.druid.math.expr.Expr.VectorInputBindingInspector)
, for use in vectorized query engines.boolean
canVectorize(Expr.InputBindingInspector inspector, List<Expr> args)
Check if a function can be 'vectorized', for a given set ofExpr
inputs.ExpressionType
getOutputType(Expr.InputBindingInspector inspector, List<Expr> args)
Compute the output type of this function for a given set of argument expression inputs.String
name()
Name of the functionvoid
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
asSingleThreaded, getArrayInputs, getScalarInputs, hasArrayInputs, hasArrayOutput
-
Methods inherited from interface org.apache.druid.math.expr.NamedFunction
processingFailed, validationFailed, validationFailed, validationHelperCheckAnyOfArgumentCount, validationHelperCheckArgIsLiteral, validationHelperCheckArgumentCount, validationHelperCheckArgumentCount, validationHelperCheckArgumentRange, validationHelperCheckLambaArgumentCount, validationHelperCheckMinArgumentCount, validationHelperCheckMinArgumentCount
-
-
-
-
Method Detail
-
name
public String name()
Description copied from interface:NamedFunction
Name of the function- Specified by:
name
in interfaceNamedFunction
-
apply
public ExprEval apply(List<Expr> args, Expr.ObjectBinding bindings)
Description copied from interface:Function
Evaluate the function, given a list of arguments and a set of bindings to provide values forIdentifierExpr
.
-
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
-
getOutputType
@Nullable public ExpressionType getOutputType(Expr.InputBindingInspector inspector, List<Expr> args)
Description copied from interface:Function
Compute the output type of this function for a given set of argument expression inputs.- Specified by:
getOutputType
in interfaceFunction
- See Also:
Expr.getOutputType(org.apache.druid.math.expr.Expr.InputBindingInspector)
-
canVectorize
public boolean canVectorize(Expr.InputBindingInspector inspector, List<Expr> args)
Description copied from interface:Function
Check if a function can be 'vectorized', for a given set ofExpr
inputs. If this method returns true,Function.asVectorProcessor(org.apache.druid.math.expr.Expr.VectorInputBindingInspector, java.util.List<org.apache.druid.math.expr.Expr>)
is expected to produce aExprVectorProcessor
which can evaluate values in batches to use with vectorized query engines.- Specified by:
canVectorize
in interfaceFunction
- See Also:
Expr.canVectorize(Expr.InputBindingInspector)
,ApplyFunction.canVectorize(Expr.InputBindingInspector, Expr, List)
-
asVectorProcessor
public <T> ExprVectorProcessor<T> asVectorProcessor(Expr.VectorInputBindingInspector inspector, List<Expr> args)
Description copied from interface:Function
Builds a 'vectorized' function expression processor, that can build vectorized processors for its input values usingExpr.asVectorProcessor(org.apache.druid.math.expr.Expr.VectorInputBindingInspector)
, for use in vectorized query engines.- Specified by:
asVectorProcessor
in interfaceFunction
- See Also:
Expr.asVectorProcessor(Expr.VectorInputBindingInspector)
,ApplyFunction.asVectorProcessor(Expr.VectorInputBindingInspector, Expr, List)
-
-