From: Yannick PÉROUX Date: Tue, 4 Nov 2025 15:15:57 +0000 (+0100) Subject: Fix generate_sql_functions X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=05d0d9784d4497fb3bfee540fbc51747c1767c90;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Fix generate_sql_functions --- 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]: