diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-05-16 22:15:44 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-05-16 22:15:44 +0000 |
| commit | 7d3ba0dec7c5e64f62108d7c4fb9b0cec1cc586a (patch) | |
| tree | 8e8cf10e442193d6f735d63e25751bbdda168586 | |
| parent | 07496da9b5272451fa85b02871369b3f3ba8bcca (diff) | |
| download | sqlalchemy-7d3ba0dec7c5e64f62108d7c4fb9b0cec1cc586a.tar.gz | |
dont raise assertions when in autocommit mode [ticket:1046]
| -rw-r--r-- | lib/sqlalchemy/orm/session.py | 2 | ||||
| -rw-r--r-- | test/orm/session.py | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 440f69ae8..5583012e5 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -253,7 +253,7 @@ class SessionTransaction(object): if self.nested: self.session.flush() - if self.autoflush: + if self.autoflush and not self.session.autocommit: # TODO: the "dirty_states" assertion is expensive, # so consider these assertions as temporary # during development diff --git a/test/orm/session.py b/test/orm/session.py index 058548e2c..c07169611 100644 --- a/test/orm/session.py +++ b/test/orm/session.py @@ -270,7 +270,18 @@ class SessionTest(_fixtures.FixtureTest): assert newad not in u.addresses # pending objects dont get expired assert newad.email_address == 'a new address' + + @testing.resolve_artifact_names + def test_autocommit_doesnt_raise_on_pending(self): + mapper(User, users) + session = create_session(autocommit=True) + + session.add(User(name='ed')) + session.begin() + session.flush() + session.commit() + @testing.resolve_artifact_names def test_textual_execute(self): """test that Session.execute() converts to text()""" |
