From 82515ea2fcd54c15f24a9b8f479801b33097d49f Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 29 Jul 2007 01:16:01 +0000 Subject: [PATCH] -fixed [ticket:555] - fixed attribute glitch breaking the build --- lib/sqlalchemy/orm/session.py | 2 +- test/orm/attributes.py | 10 +++++----- test/orm/mapper.py | 6 +++++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 6b5c4a0725..68c538034c 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -310,7 +310,7 @@ class Session(object): raise exceptions.InvalidRequestError("This session is unbound to any Engine or Connection; specify a mapper to get_bind()") elif self.__binds.has_key(mapper): return self.__binds[mapper] - elif self.__binds.has_key(mapper.mapped_table): + elif self.__binds.has_key(mapper.compile().mapped_table): return self.__binds[mapper.mapped_table] elif self.bind is not None: return self.bind diff --git a/test/orm/attributes.py b/test/orm/attributes.py index 9b5f738bf7..8ca2d1b8e1 100644 --- a/test/orm/attributes.py +++ b/test/orm/attributes.py @@ -322,13 +322,13 @@ class AttributesTest(PersistTest): f1.element = b1 b2.element = f2 - assert manager.get_history(f1, 'element').hasparent(b1) - assert not manager.get_history(f1, 'element').hasparent(b2) - assert not manager.get_history(f1, 'element').hasparent(f2) - assert manager.get_history(b2, 'element').hasparent(f2) + assert getattr(Foo, 'element').hasparent(b1) + assert not getattr(Foo, 'element').hasparent(b2) + assert not getattr(Foo, 'element').hasparent(f2) + assert getattr(Bar, 'element').hasparent(f2) b2.element = None - assert not manager.get_history(b2, 'element').hasparent(f2) + assert not getattr(Bar, 'element').hasparent(f2) def testmutablescalars(self): """test detection of changes on mutable scalar items""" diff --git a/test/orm/mapper.py b/test/orm/mapper.py index b72a10516a..12670c654c 100644 --- a/test/orm/mapper.py +++ b/test/orm/mapper.py @@ -87,7 +87,11 @@ class MapperTest(MapperSuperTest): self.assert_(u.user_name == 'jack') self.assert_(a not in u.addresses) - + def testcompileonsession(self): + m = mapper(User, users) + session = create_session() + session.connection(m) + def testexpirecascade(self): mapper(User, users, properties={'addresses':relation(mapper(Address, addresses), cascade="all, refresh-expire")}) s = create_session() -- 2.47.3