From: nightcityblade Date: Sun, 26 Jul 2026 16:53:13 +0000 (+0800) Subject: docs: document sequence arguments to any_ and all_ X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F13456%2Fhead;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git docs: document sequence arguments to any_ and all_ --- diff --git a/lib/sqlalchemy/sql/_elements_constructors.py b/lib/sqlalchemy/sql/_elements_constructors.py index 1273d7c23a..7da1107d55 100644 --- a/lib/sqlalchemy/sql/_elements_constructors.py +++ b/lib/sqlalchemy/sql/_elements_constructors.py @@ -84,6 +84,12 @@ def all_(expr: _ColumnExpressionArgument[_T]) -> CollectionAggregate[bool]: # '5 = ALL (SELECT value FROM table)' expr = 5 == all_(select(table.c.value)) + When using a Python sequence with PostgreSQL, wrap it with + :func:`_sql.literal` to produce a SQL expression. Whether the sequence + can be adapted to an array parameter is DBAPI-specific:: + + expr = 5 == all_(literal([1, 2, 3])) + Comparison to NULL may work using ``None``:: None == all_(mytable.c.somearray) @@ -267,6 +273,12 @@ def any_(expr: _ColumnExpressionArgument[_T]) -> CollectionAggregate[bool]: # '5 = ANY (SELECT value FROM table)' expr = 5 == any_(select(table.c.value)) + When using a Python sequence with PostgreSQL, wrap it with + :func:`_sql.literal` to produce a SQL expression. Whether the sequence + can be adapted to an array parameter is DBAPI-specific:: + + expr = 5 == any_(literal([1, 2, 3])) + Comparison to NULL may work using ``None`` or :func:`_sql.null`:: None == any_(mytable.c.somearray)