summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Schoonover <robin@cornhooves.org>2013-12-31 18:37:13 -0700
committerRobin Schoonover <robin@cornhooves.org>2013-12-31 18:46:31 -0700
commitf188e28aea3ba2f268888037a141f89fca66e627 (patch)
tree84a5782164f6377ce6c0cc434d84fda625221ff1
parentf00657fa8a3a484d3a9207c67c0a1d20ab8313bb (diff)
downloadsqlalchemy-f188e28aea3ba2f268888037a141f89fca66e627.tar.gz
Don't barf on Session(info=...) from sessionmaker(info=None)
-rw-r--r--lib/sqlalchemy/orm/session.py3
-rw-r--r--test/orm/test_session.py4
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):