From 6409a06df190c8f6cc4a77e714aa989243af46f5 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 15 Sep 2010 19:17:14 -0400 Subject: [PATCH] - Fixed a regression in 0.6.5 which occurred if you passed an empty list to "include_properties" on mapper() [ticket:1918] --- CHANGES | 4 ++++ lib/sqlalchemy/orm/mapper.py | 2 +- test/orm/test_mapper.py | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 657695c7e4..519f454301 100644 --- a/CHANGES +++ b/CHANGES @@ -11,6 +11,10 @@ CHANGES backrefs involved, where the initiating parent was a subclass (with its own mapper) of the previous parent. + + - Fixed a regression in 0.6.5 which occurred if you + passed an empty list to "include_properties" on + mapper() [ticket:1918] - Added an assertion during flush which ensures that no NULL-holding identity keys were generated diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 816bf95bf5..8d31dd89ad 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -193,7 +193,7 @@ class Mapper(object): else: self.polymorphic_map = _polymorphic_map - if include_properties: + if include_properties is not None: self.include_properties = util.to_set(include_properties) else: self.include_properties = None diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py index 3012f4b43f..a19af5f4f4 100644 --- a/test/orm/test_mapper.py +++ b/test/orm/test_mapper.py @@ -487,7 +487,10 @@ class MapperTest(_fixtures.FixtureTest): class HasDef(object): def name(self): pass - + class Empty(object):pass + + empty = mapper(Empty, t, properties={'empty_id' : t.c.id}, + include_properties=[]) p_m = mapper(Person, t, polymorphic_on=t.c.type, include_properties=('id', 'type', 'name')) e_m = mapper(Employee, inherits=p_m, @@ -546,6 +549,7 @@ class MapperTest(_fixtures.FixtureTest): # excluding the discriminator column is currently not allowed class Foo(Person): pass + assert_props(Empty, ['empty_id']) assert_raises( sa.exc.InvalidRequestError, -- 2.47.2