summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-07-25 18:51:44 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2014-07-25 18:51:44 -0400
commit54d086253e9bf31fa4d3764e9ff3a593b3c9c28e (patch)
tree17ef3f412611d729b843681c2307bbbc27effb20
parentfe878f5aff1cb17fdf1f13aba1d13f008da0ef4e (diff)
downloadsqlalchemy-54d086253e9bf31fa4d3764e9ff3a593b3c9c28e.tar.gz
- restore non_updating_cascade to test_manytomany_nonpassive, but also
add sane_multi_rowcount requirement, as pg8000 doesn't do "multi" row count.
-rw-r--r--lib/sqlalchemy/orm/dependency.py1
-rw-r--r--test/orm/test_naturalpks.py2
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/dependency.py b/lib/sqlalchemy/orm/dependency.py
index c1cf66f14..d10a38394 100644
--- a/lib/sqlalchemy/orm/dependency.py
+++ b/lib/sqlalchemy/orm/dependency.py
@@ -1119,6 +1119,7 @@ class ManyToManyDP(DependencyProcessor):
if c.key in associationrow
]))
result = connection.execute(statement, secondary_update)
+
if result.supports_sane_multi_rowcount() and \
result.rowcount != len(secondary_update):
raise exc.StaleDataError(
diff --git a/test/orm/test_naturalpks.py b/test/orm/test_naturalpks.py
index 5a72881a0..ac5e723c7 100644
--- a/test/orm/test_naturalpks.py
+++ b/test/orm/test_naturalpks.py
@@ -393,6 +393,8 @@ class NaturalPKTest(fixtures.MappedTest):
def test_manytomany_passive(self):
self._test_manytomany(True)
+ @testing.requires.non_updating_cascade
+ @testing.requires.sane_multi_rowcount
def test_manytomany_nonpassive(self):
self._test_manytomany(False)