From 05d0d9784d4497fb3bfee540fbc51747c1767c90 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Yannick=20P=C3=89ROUX?= Date: Tue, 4 Nov 2025 16:15:57 +0100 Subject: [PATCH] Fix generate_sql_functions --- tools/generate_sql_functions.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/generate_sql_functions.py b/tools/generate_sql_functions.py index a78e2492a5..769922dd6c 100644 --- a/tools/generate_sql_functions.py +++ b/tools/generate_sql_functions.py @@ -61,6 +61,7 @@ def process_functions(filename: str, cmd: code_writer_cmd) -> str: builtins = set(dir(__builtins__)) for key, fn_class in _fns_in_deterministic_order(): is_reserved_word = key in builtins + is_first_arg_optional = fn_class.__name__ == "coalesce" if issubclass(fn_class, ReturnTypeFromArgs): buf.write( @@ -84,7 +85,7 @@ def {key}( {' # noqa: A001' if is_reserved_word else ''} @overload def {key}( {' # noqa: A001' if is_reserved_word else ''} self, - col: _ColumnExpressionArgument[_T], + col: _ColumnExpressionArgument[{'Optional[_T]' if is_first_arg_optional else '_T'}], *args: _ColumnExpressionOrLiteralArgument[Any], **kwargs: Any, ) -> {fn_class.__name__}[_T]: @@ -93,7 +94,7 @@ def {key}( {' # noqa: A001' if is_reserved_word else ''} @overload def {key}( {' # noqa: A001' if is_reserved_word else ''} self, - col: _T, + col: {'Optional[_T]' if is_first_arg_optional else '_T'}, *args: _ColumnExpressionOrLiteralArgument[Any], **kwargs: Any, ) -> {fn_class.__name__}[_T]: @@ -101,7 +102,7 @@ def {key}( {' # noqa: A001' if is_reserved_word else ''} def {key}( {' # noqa: A001' if is_reserved_word else ''} self, - col: _ColumnExpressionOrLiteralArgument[_T], + col: _ColumnExpressionOrLiteralArgument[{'Optional[_T]' if is_first_arg_optional else '_T'}], *args: _ColumnExpressionOrLiteralArgument[Any], **kwargs: Any, ) -> {fn_class.__name__}[_T]: -- 2.47.3