diff options
author | Robin Schoonover <robin@cornhooves.org> | 2013-12-31 18:37:13 -0700 |
---|---|---|
committer | Robin Schoonover <robin@cornhooves.org> | 2013-12-31 18:46:31 -0700 |
commit | f188e28aea3ba2f268888037a141f89fca66e627 (patch) | |
tree | 84a5782164f6377ce6c0cc434d84fda625221ff1 | |
parent | f00657fa8a3a484d3a9207c67c0a1d20ab8313bb (diff) | |
download | sqlalchemy-f188e28aea3ba2f268888037a141f89fca66e627.tar.gz |
Don't barf on Session(info=...) from sessionmaker(info=None)
-rw-r--r-- | lib/sqlalchemy/orm/session.py | 3 | ||||
-rw-r--r-- | test/orm/test_session.py | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 0c3bc5cbe..d6fc5baea 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -2291,7 +2291,8 @@ class sessionmaker(_SessionClassMethods): kw['autoflush'] = autoflush kw['autocommit'] = autocommit kw['expire_on_commit'] = expire_on_commit - kw['info'] = info + if info is not None: + kw['info'] = info self.kw = kw # make our own subclass of the given class, so that # events can be associated with it specifically. diff --git a/test/orm/test_session.py b/test/orm/test_session.py index 34b0c7eff..4eb498ee9 100644 --- a/test/orm/test_session.py +++ b/test/orm/test_session.py @@ -412,6 +412,10 @@ class SessionStateTest(_fixtures.FixtureTest): s3 = maker() eq_(s3.info, {"global": True, "s1": 5}) + maker2 = sessionmaker() + s4 = maker2(info={'s4': 8}) + eq_(s4.info, {'s4': 8}) + @testing.requires.independent_connections @engines.close_open_connections def test_autoflush(self): |