Class SequenceInputTypeStrategy
java.lang.Object
org.apache.flink.table.types.inference.strategies.SequenceInputTypeStrategy
- All Implemented Interfaces:
InputTypeStrategy
Strategy for inferring and validating a function signature like
f(STRING, NUMERIC) or
f(s STRING, n NUMERIC) using a sequence of ArgumentTypeStrategys.-
Constructor Summary
ConstructorsConstructorDescriptionSequenceInputTypeStrategy(List<? extends ArgumentTypeStrategy> argumentStrategies, List<String> argumentNames) -
Method Summary
Modifier and TypeMethodDescriptionbooleanInitial input validation based on the number of arguments.getExpectedSignatures(FunctionDefinition definition) Returns a summary of the function's expected signatures.inthashCode()inferInputTypes(CallContext callContext, boolean throwOnFailure) Main logic for inferring and validating the input arguments.
-
Constructor Details
-
SequenceInputTypeStrategy
public SequenceInputTypeStrategy(List<? extends ArgumentTypeStrategy> argumentStrategies, @Nullable List<String> argumentNames)
-
-
Method Details
-
getArgumentCount
Description copied from interface:InputTypeStrategyInitial input validation based on the number of arguments.- Specified by:
getArgumentCountin interfaceInputTypeStrategy
-
inferInputTypes
Description copied from interface:InputTypeStrategyMain 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:
inferInputTypesin interfaceInputTypeStrategy- Parameters:
callContext- provides details about the function callthrowOnFailure- whether this function is allowed to throw anValidationExceptionwith 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:
-
getExpectedSignatures
Description copied from interface:InputTypeStrategyReturns a summary of the function's expected signatures.- Specified by:
getExpectedSignaturesin interfaceInputTypeStrategy- Parameters:
definition- the function definition that defines the function currently being called.
-
equals
-
hashCode
public int hashCode()
-