From: Mike Bayer Date: Mon, 8 Sep 2008 03:57:25 +0000 (+0000) Subject: reverted inheritance tweak which fails tests on non-sqlite X-Git-Tag: rel_0_5rc1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf71da5ee6961e4ce67d079651b38f414e641ac7;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git reverted inheritance tweak which fails tests on non-sqlite --- diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index a13e9feb35..03f8b45534 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -1225,9 +1225,11 @@ class Mapper(object): # synchronize newly inserted ids from one table to the next # TODO: this performs some unnecessary attribute transfers # from an attribute to itself, since the attribute is often mapped - # to multiple, equivalent columns - if mapper.__inherits_equated_pairs: - sync.populate(state, mapper, state, mapper, mapper.__inherits_equated_pairs) + # to multiple, equivalent columns. it also may fire off more + # than needed overall. + for m in mapper.iterate_to_root(): + if m.__inherits_equated_pairs: + sync.populate(state, m, state, m, m.__inherits_equated_pairs) # testlib.pragma exempt:__hash__ inserted_objects.add((state, connection))