Files
sqlalchemy/test/sql
Mike Bayer b14415fa43 Register func.any(), func.all(), func.some() as collection aggregates
Added CollectionAggregateFunction base class that sets
_is_collection_aggregate = True, and registered any_, all_, some_
as subclasses so that func.any(), func.all(), and func.some() correctly
prevent operator flipping on negation. Previously ~(col == func.any(arr))
would incorrectly compile to col != any(arr) instead of
NOT (col = any(arr)), which has different semantics for collection
aggregate comparison modifiers.

Also extended the _construct_for_op guard to check both left and right
operands for _is_collection_aggregate, since func.any(arr) can appear
on either side of a comparison unlike the standalone any_() construct
which auto-reverses operands.

Fixes: #13343
Change-Id: Id4774938876dc7f1f38cf143dccfe3c8ddba464d
2026-06-04 10:25:33 -04:00
..
2025-11-30 14:38:13 -05:00
2026-05-10 19:00:42 +02:00
2025-12-18 21:18:42 +01:00
2025-12-19 21:24:23 +01:00
2026-05-10 19:00:42 +02:00
2025-11-30 14:38:13 -05:00