From b52f4997138984469b2b4dd102652445ed5cbea7 Mon Sep 17 00:00:00 2001 From: Pablo Nicolas Estevez Date: Sun, 1 Dec 2024 17:34:27 -0300 Subject: [PATCH] correct PR --- lib/sqlalchemy/dialects/mysql/base.py | 2 ++ test/orm/dml/test_update_delete_where.py | 44 ++++++++++++------------ 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index 282e36a084..5bd9300b7a 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -473,6 +473,8 @@ available. update(..., mysql_limit=10, mariadb_limit=10) +.. versionadded:: 2.1 Added delete with limit + * DELETE with LIMIT:: delete(..., mysql_limit=10, mariadb_limit=10) diff --git a/test/orm/dml/test_update_delete_where.py b/test/orm/dml/test_update_delete_where.py index daa2d5bd0c..7d06a8618c 100644 --- a/test/orm/dml/test_update_delete_where.py +++ b/test/orm/dml/test_update_delete_where.py @@ -2585,29 +2585,8 @@ class UpdateDeleteFromTest(fixtures.MappedTest): ], ) - def test_delete_args(self): - Data = self.classes.Data - session = fixture_session() - delete_args = {"mysql_limit": 1} - - m1 = testing.mock.Mock() - - @event.listens_for(session, "after_bulk_update") - def do_orm_execute(bulk_ud): - delete_stmt = ( - bulk_ud.result.context.compiled.compile_state.statement - ) - m1(delete_stmt) - - q = session.query(Data) - q.delete(delete_args=delete_args) - - delete_stmt = m1.mock_calls[0][1][0] - - eq_(delete_stmt.dialect_kwargs, delete_args) - -class ExpressionUpdateTest(fixtures.MappedTest): +class ExpressionUpdateDeleteTest(fixtures.MappedTest): @classmethod def define_tables(cls, metadata): Table( @@ -2673,6 +2652,27 @@ class ExpressionUpdateTest(fixtures.MappedTest): eq_(update_stmt.dialect_kwargs, update_args) + def test_delete_args(self): + Data = self.classes.Data + session = fixture_session() + delete_args = {"mysql_limit": 1} + + m1 = testing.mock.Mock() + + @event.listens_for(session, "after_bulk_delete") + def do_orm_execute(bulk_ud): + delete_stmt = ( + bulk_ud.result.context.compiled.compile_state.statement + ) + m1(delete_stmt) + + q = session.query(Data) + q.delete(delete_args=delete_args) + + delete_stmt = m1.mock_calls[0][1][0] + + eq_(delete_stmt.dialect_kwargs, delete_args) + class InheritTest(fixtures.DeclarativeMappedTest): run_inserts = "each" -- 2.47.3