Interface FunctionReturnTypeResolver

    • Method Detail

      • resolveFunctionReturnType

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

        The context-implied type is the type implied by where the function 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.

        The context-implied type is the type implied by where the function 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.