Class HiveFunction.HiveFunctionInputStrategy
- java.lang.Object
-
- org.apache.flink.table.functions.hive.HiveFunction.HiveFunctionInputStrategy
-
- All Implemented Interfaces:
InputTypeStrategy
- Enclosing interface:
- HiveFunction<UDFType>
public static class HiveFunction.HiveFunctionInputStrategy extends Object implements InputTypeStrategy
InputTypeStrategy for Hive UDF, UDTF, UDAF.
-
-
Constructor Summary
Constructors Constructor Description HiveFunctionInputStrategy(HiveFunction<?> hiveFunction)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ArgumentCount
getArgumentCount()
Initial input validation based on the number of arguments.List<Signature>
getExpectedSignatures(FunctionDefinition definition)
Returns a summary of the function's expected signatures.Optional<List<DataType>>
inferInputTypes(CallContext callContext, boolean throwOnFailure)
Main logic for inferring and validating the input arguments.
-
-
-
Constructor Detail
-
HiveFunctionInputStrategy
public HiveFunctionInputStrategy(HiveFunction<?> hiveFunction)
-
-
Method Detail
-
getArgumentCount
public ArgumentCount getArgumentCount()
Description copied from interface:InputTypeStrategy
Initial input validation based on the number of arguments.- Specified by:
getArgumentCount
in interfaceInputTypeStrategy
-
inferInputTypes
public Optional<List<DataType>> inferInputTypes(CallContext callContext, boolean throwOnFailure)
Description copied from interface:InputTypeStrategy
Main logic for inferring and validating the input arguments. Returns a list of argument data types that are valid for the given call. If the returned types differ fromCallContext.getArgumentDataTypes()
, a casting operation can be inserted. An empty result means that the given input is invalid.- Specified by:
inferInputTypes
in interfaceInputTypeStrategy
- Parameters:
callContext
- provides details about the function callthrowOnFailure
- whether this function is allowed to throw anValidationException
with a meaningful exception in case the inference is not successful or if this function should simply return an empty result.- Returns:
- three-state result for either "true, same data types as arguments", "true, but arguments must be casted to returned data types", or "false, no inferred data types could be found"
- See Also:
CallContext.newValidationError(String, Object...)
-
getExpectedSignatures
public List<Signature> getExpectedSignatures(FunctionDefinition definition)
Description copied from interface:InputTypeStrategy
Returns a summary of the function's expected signatures.- Specified by:
getExpectedSignatures
in interfaceInputTypeStrategy
- Parameters:
definition
- the function definition that defines the function currently being called.
-
-