From: Mike Bayer Date: Tue, 3 Nov 2009 04:57:09 +0000 (+0000) Subject: revert r6466 X-Git-Tag: rel_0_6beta1~197 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db2ff896446f3d7d36d84c7a1de93007a36942eb;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git revert r6466 --- diff --git a/CHANGES b/CHANGES index f3bbd113ab..1a4c7e1cae 100644 --- a/CHANGES +++ b/CHANGES @@ -659,9 +659,6 @@ CHANGES duplicate extensions, such as backref populators, from being inserted into the list. [ticket:1585] - - - Fixed the call to get_committed_value() on CompositeProperty. - [ticket:1504] - sql - Fixed the "numeric" paramstyle, which apparently is the diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index d6bb2b2e69..6bc55c8315 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -1628,7 +1628,7 @@ class Mapper(object): if polymorphic_on is not None: discriminator = row[polymorphic_on] - if discriminator is not None or None in polymorphic_instances: + if discriminator is not None: _instance = polymorphic_instances[discriminator] if _instance: return _instance(row, result) diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 1fd7d48a99..1ca71390c4 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -161,8 +161,7 @@ class CompositeProperty(ColumnProperty): return self.get_col_value(column, obj) def getcommitted(self, state, column, passive=False): - # TODO: no coverage here - obj = state.get_impl(self.key).get_committed_value(state, state.dict, passive=passive) + obj = state.get_impl(self.key).get_committed_value(state, passive=passive) return self.get_col_value(column, obj) def setattr(self, state, value, column): diff --git a/test/orm/inheritance/test_basic.py b/test/orm/inheritance/test_basic.py index 99c6bf6bd2..a682d38cb1 100644 --- a/test/orm/inheritance/test_basic.py +++ b/test/orm/inheritance/test_basic.py @@ -101,19 +101,6 @@ class FalseDiscriminatorTest(_base.MappedTest): assert d1.type is False sess.expunge_all() assert sess.query(Ding).one() is not None - - def test_none_on_sub(self): - class Ding(object):pass - class Bat(Ding):pass - mapper(Ding, t1, polymorphic_on=t1.c.type, polymorphic_identity=False) - mapper(Bat, inherits=Ding, polymorphic_identity=True) - sess = create_session() - d1 = Ding() - sess.add(d1) - sess.flush() - assert d1.type is False - sess.expunge_all() - assert sess.query(Ding).one() is not None class PolymorphicSynonymTest(_base.MappedTest): @classmethod