Class TypeInference.Builder

  • Enclosing class:
    TypeInference

    @PublicEvolving
    public static class TypeInference.Builder
    extends Object
    Builder for configuring and creating instances of TypeInference.
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • namedArguments

        public TypeInference.Builder namedArguments​(List<String> argumentNames)
        Sets the list of argument names for specifying a fixed, not overloaded, not vararg input signature explicitly.

        This information is useful for SQL's concept of named arguments using the assignment operator (e.g. FUNC(max => 42)). The names are used for reordering the call's arguments to the formal argument order of the function.

      • typedArguments

        public TypeInference.Builder typedArguments​(List<DataType> argumentTypes)
        Sets the list of argument types for specifying a fixed, not overloaded, not vararg input signature explicitly.

        This information is useful for optional arguments with default value. In particular, the number of arguments that need to be filled with a default value and their types is important.

      • accumulatorTypeStrategy

        public TypeInference.Builder accumulatorTypeStrategy​(TypeStrategy accumulatorTypeStrategy)
        Sets the strategy for inferring the intermediate accumulator data type of a function call.
      • outputTypeStrategy

        public TypeInference.Builder outputTypeStrategy​(TypeStrategy outputTypeStrategy)
        Sets the strategy for inferring the final output data type of a function call.

        Required.