Interface FunctionReturnTypeResolver


  • public interface FunctionReturnTypeResolver
    Pluggable strategy for resolving a function return type for a specific call.
    • Method Detail

      • resolveFunctionReturnType

        AllowableFunctionReturnType<?> resolveFunctionReturnType​(AllowableFunctionReturnType<?> impliedType,
                                                                 List<? extends SqmTypedNode<?>> arguments,
                                                                 TypeConfiguration typeConfiguration)
        Resolve the return type for a function given its context-implied type and the arguments to this call.

        NOTE : the _context-implied_ type is the type implied by where the function's occurs in the query. E.g., for an equality predicate (`something = some_function`) the implied type of the return from `some_function` would be defined by the type of `some_function`.

        Returns:
        The resolved type.
      • resolveFunctionReturnType

        BasicValuedMapping resolveFunctionReturnType​(Supplier<BasicValuedMapping> impliedTypeAccess,
                                                     List<? extends SqlAstNode> arguments)
        Resolve the return type for a function given its context-implied type and the arguments to this call.

        NOTE : the _context-implied_ type is the type implied by where the function's occurs in the query. E.g., for an equality predicate (`something = some_function`) the implied type of the return from `some_function` would be defined by the type of `some_function`.

        Returns:
        The resolved type.
      • getReturnType

        default String getReturnType()
        The return type in a format suitable for display to the user.