Package io.prestosql.operator.scalar
Class ChoicesScalarFunctionImplementation
- java.lang.Object
-
- io.prestosql.operator.scalar.ChoicesScalarFunctionImplementation
-
- All Implemented Interfaces:
ScalarFunctionImplementation
public final class ChoicesScalarFunctionImplementation extends Object implements ScalarFunctionImplementation
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ChoicesScalarFunctionImplementation.ScalarImplementationChoice
-
Constructor Summary
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<ChoicesScalarFunctionImplementation.ScalarImplementationChoice>
getChoices()
FunctionInvoker
getScalarFunctionInvoker(InvocationConvention invocationConvention)
-
-
-
Constructor Detail
-
ChoicesScalarFunctionImplementation
public ChoicesScalarFunctionImplementation(FunctionBinding functionBinding, InvocationConvention.InvocationReturnConvention returnConvention, List<InvocationConvention.InvocationArgumentConvention> argumentConventions, MethodHandle methodHandle)
-
ChoicesScalarFunctionImplementation
public ChoicesScalarFunctionImplementation(FunctionBinding functionBinding, InvocationConvention.InvocationReturnConvention returnConvention, List<InvocationConvention.InvocationArgumentConvention> argumentConventions, MethodHandle methodHandle, Optional<MethodHandle> instanceFactory)
-
ChoicesScalarFunctionImplementation
public ChoicesScalarFunctionImplementation(FunctionBinding functionBinding, InvocationConvention.InvocationReturnConvention returnConvention, List<InvocationConvention.InvocationArgumentConvention> argumentConventions, List<Class<?>> lambdaInterfaces, MethodHandle methodHandle, Optional<MethodHandle> instanceFactory)
-
ChoicesScalarFunctionImplementation
public ChoicesScalarFunctionImplementation(FunctionBinding functionBinding, List<ChoicesScalarFunctionImplementation.ScalarImplementationChoice> choices)
Creates a ScalarFunctionImplementation consisting of one or more choices.All choices must have the same SQL signature, and are equivalent in what they do. The first choice is the default choice, which is the one used for legacy access methods. The default choice must be usable under any context. (e.g. it must not use BLOCK_POSITION convention.)
- Parameters:
functionBinding
-choices
- the list of choices, ordered from generic to specific
-
-
Method Detail
-
getChoices
public List<ChoicesScalarFunctionImplementation.ScalarImplementationChoice> getChoices()
-
getScalarFunctionInvoker
public FunctionInvoker getScalarFunctionInvoker(InvocationConvention invocationConvention)
- Specified by:
getScalarFunctionInvoker
in interfaceScalarFunctionImplementation
-
-