summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/session.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-08-14 03:34:38 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-08-14 03:34:38 +0000
commit6c6cd47c024c5ea2cada04534aca818f95b8ea8c (patch)
treebbdb86a8eddc32cb2548a309146106e4d2026b62 /lib/sqlalchemy/orm/session.py
parentb9ed823528ef88fb0dc64120e1e501306f4c3768 (diff)
downloadsqlalchemy-6c6cd47c024c5ea2cada04534aca818f95b8ea8c.tar.gz
- fixed endless loop
- fixed perf imports in masseagerload
Diffstat (limited to 'lib/sqlalchemy/orm/session.py')
-rw-r--r--lib/sqlalchemy/orm/session.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py
index f8589dbe4..7e9b351e1 100644
--- a/lib/sqlalchemy/orm/session.py
+++ b/lib/sqlalchemy/orm/session.py
@@ -148,7 +148,8 @@ class SessionTransaction(object):
self.nested = nested
def connection(self, bindkey, **kwargs):
- return self.session.connection(bindkey, **kwargs)
+ engine = self.session.get_bind(bindkey, **kwargs)
+ return self.get_or_add(engine)
def _begin(self, **kwargs):
return SessionTransaction(self.session, self, **kwargs)
@@ -623,6 +624,8 @@ class Session(object):
else:
if isinstance(mapper, type):
mapper = _class_mapper(mapper)
+ else:
+ mapper = mapper.compile()
e = mapper.mapped_table.bind
if e is None:
raise exceptions.InvalidRequestError("Could not locate any Engine or Connection bound to mapper '%s'" % str(mapper))