gravitino.api.function.function_definition.FunctionDefinitions¶
- class gravitino.api.function.function_definition.FunctionDefinitions¶
Bases:
objectFactory class for creating FunctionDefinition instances.
- __init__()¶
Methods
__init__()of(parameters, return_type, impls)Create a FunctionDefinition instance for a scalar or aggregate function.
of_table(parameters, return_columns, impls)Create a FunctionDefinition instance for a table-valued function.
- class SimpleFunctionDefinition(parameters: List[FunctionParam], return_type: Type | None, return_columns: List[FunctionColumn] | None, impls: List[FunctionImpl])¶
Bases:
FunctionDefinitionSimple implementation of FunctionDefinition.
- EMPTY_COLUMNS: List[FunctionColumn] = []¶
An empty list of FunctionColumn.
- impls() List[FunctionImpl]¶
Returns the implementations associated with this definition.
- parameters() List[FunctionParam]¶
Returns the parameters for this definition.
- Returns:
The parameters for this definition. May be an empty list for a no-arg definition.
- return_columns() List[FunctionColumn]¶
The output columns for a table-valued function definition.
A table-valued function is a function that returns a table instead of a scalar value or an aggregate result. The returned table has a fixed schema defined by the columns returned from this method.
- Returns:
The output columns that define the schema of the table returned by this definition, or an empty list if this is a scalar or aggregate function definition.
- classmethod of(parameters: List[FunctionParam], return_type: Type, impls: List[FunctionImpl]) FunctionDefinition¶
Create a FunctionDefinition instance for a scalar or aggregate function.
- Args:
parameters: The parameters for this definition, may be empty. return_type: The return type for this definition, must not be None. impls: The implementations for this definition, must not be empty.
- Returns:
A FunctionDefinition instance.
- Raises:
ValueError: If return_type is None.
- classmethod of_table(parameters: List[FunctionParam], return_columns: List[FunctionColumn], impls: List[FunctionImpl]) FunctionDefinition¶
Create a FunctionDefinition instance for a table-valued function.
- Args:
parameters: The parameters for this definition, may be empty. return_columns: The return columns for this definition, must not be empty. impls: The implementations for this definition, must not be empty.
- Returns:
A FunctionDefinition instance.
- Raises:
ValueError: If return_columns is None or empty.