duckplus.functions._base#

Shared utilities for DuckDB function helper modules.

Functions#

register_duckdb_function(...)

Expose the duckdb_function decorator for domain modules.

invoke_duckdb_function(...)

Invoke a DuckDB function helper using the provided signatures.

invoke_duckdb_filter_function(...)

Invoke a DuckDB function helper that applies a FILTER clause.

Module Contents#

duckplus.functions._base.register_duckdb_function(*names: str, symbols: collections.abc.Iterable[str] = ()) Callable[[Callable[Ellipsis, _ExpressionT]], Callable[Ellipsis, _ExpressionT]]#

Expose the duckdb_function decorator for domain modules.

Helpers defined under duckplus.functions should import this wrapper so registration stays centralised without reaching into the typed namespace internals directly.

duckplus.functions._base.invoke_duckdb_function(signatures: collections.abc.Sequence[duckplus.static_typed.functions.DuckDBFunctionDefinition], *, return_category: str, operands: tuple[object, Ellipsis], order_by: collections.abc.Iterable[object] | object | None = None, within_group: collections.abc.Iterable[object] | object | None = None, partition_by: collections.abc.Iterable[object] | object | None = None, over_order_by: collections.abc.Iterable[object] | object | None = None, frame: str | None = None) duckplus.static_typed.expression.TypedExpression#

Invoke a DuckDB function helper using the provided signatures.

duckplus.functions._base.invoke_duckdb_filter_function(predicate: object, signatures: collections.abc.Sequence[duckplus.static_typed.functions.DuckDBFunctionDefinition], *, return_category: str, operands: tuple[object, Ellipsis], order_by: collections.abc.Iterable[object] | object | None = None, within_group: collections.abc.Iterable[object] | object | None = None, partition_by: collections.abc.Iterable[object] | object | None = None, over_order_by: collections.abc.Iterable[object] | object | None = None, frame: str | None = None) duckplus.static_typed.expression.TypedExpression#

Invoke a DuckDB function helper that applies a FILTER clause.