]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Allow non-integer RANGE in OVER
authorViolet Folino Gallo <48537601+galloviolet@users.noreply.github.com>
Thu, 31 Jul 2025 08:05:36 +0000 (04:05 -0400)
committerFederico Caselli <cfederico87@gmail.com>
Fri, 24 Oct 2025 21:10:01 +0000 (23:10 +0200)
commitf9acbeb778a8716a1e49151fe0d0bd23e4f03464
tree5e151487264bae3388368fa06661437ad37fe1a3
parent602355753964179a0af8e6e2879491ff2edbad1e
Allow non-integer RANGE in OVER

Updated the :func:`_sql.over` clause to allow non-integer values in
:paramref:`_sql.over.range_` clause. Previously, only integer values
were allowed and any other values would lead to a failure.
To specify a non-integer value, use the new :class:`_sql.FrameClause`
construct along with the new :class:`_sql.FrameClauseType` enum to specify
the frame boundaries.

Fixes #12596.
Closes: #12695
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/12695
Pull-request-sha: 8063cec65d1e7ad5d640bf689c01079e2d8c89ae

Change-Id: I248a938f6502d72555c005d86791c992822117d4
14 files changed:
doc/build/changelog/unreleased_21/12596.rst [new file with mode: 0644]
doc/build/core/sqlelement.rst
lib/sqlalchemy/__init__.py
lib/sqlalchemy/sql/_elements_constructors.py
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/sql/elements.py
lib/sqlalchemy/sql/expression.py
lib/sqlalchemy/sql/functions.py
lib/sqlalchemy/testing/requirements.py
lib/sqlalchemy/testing/suite/test_select.py
test/requirements.py
test/sql/test_compare.py
test/sql/test_compiler.py
test/sql/test_functions.py