@PublicEvolving public interface InputTypeStrategy
This interface has three responsibilities during the
It can help in resolving the type of untyped
It validates the types of the input arguments.
During the planning process, it can help in resolving the complete
DataType, i.e., the
conversion class that a function implementation expects from the runtime. This requires that a
strategy can also be called on already validated arguments without affecting the logical type.
|Modifier and Type||Method and Description|
Initial input validation based on the number of arguments.
Returns a summary of the function's expected signatures.
Main logic for inferring and validating the input arguments.
Optional<List<DataType>> inferInputTypes(CallContext callContext, boolean throwOnFailure)
CallContext.getArgumentDataTypes(), a casting operation can be inserted. An empty result means that the given input is invalid.
callContext- provides details about the function call
throwOnFailure- whether this function is allowed to throw an
ValidationExceptionwith a meaningful exception in case the inference is not successful or if this function should simply return an empty result.
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.