]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
repair rowcount test
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 31 Mar 2021 17:55:30 +0000 (13:55 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 31 Mar 2021 17:55:30 +0000 (13:55 -0400)
in 42185a1f3866bfc8ebffa2a6c724fac I pushed a simple rowcount
assertion, forgetting that we have some mssql case where rowcount
is not supported.

Change-Id: I2e86ed9da05723ac5c0929cb8bb156117d581905

test/orm/test_update_delete.py

index 7586a1e2e58e57a571d6845e978ca81903680e04..f0df420fcfc13f985dff0c969b31925ef06e64c8 100644 (file)
@@ -638,7 +638,6 @@ class UpdateDeleteTest(fixtures.MappedTest):
             .values({User.age: User.age - 10})
             .execution_options(synchronize_session="fetch")
         )
-        eq_(result.rowcount, 1)
         eq_([john.age, jack.age, jill.age, jane.age], [25, 27, 29, 27])
         eq_(
             sess.query(User.age).order_by(User.id).all(),
@@ -876,11 +875,10 @@ class UpdateDeleteTest(fixtures.MappedTest):
                 .where(User.age > 29)
                 .values({"age": User.age - 10})
             )
-            result = sess.execute(
+            sess.execute(
                 stmt, execution_options={"synchronize_session": "fetch"}
             )
 
-            eq_(result.rowcount, 2)
             # these are simple values, these are now evaluated even with
             # the "fetch" strategy, new in 1.4, so there is no expiry
             eq_([john.age, jack.age, jill.age, jane.age], [25, 37, 29, 27])
@@ -1164,6 +1162,12 @@ class UpdateDeleteTest(fixtures.MappedTest):
         )
         eq_(rowcount, 2)
 
+        # test future
+        result = sess.execute(
+            update(User).where(User.age > 19).values({"age": User.age - 10})
+        )
+        eq_(result.rowcount, 4)
+
     @testing.fails_if(lambda: not testing.db.dialect.supports_sane_rowcount)
     def test_delete_returns_rowcount(self):
         User = self.classes.User