summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-09-15 19:17:14 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-09-15 19:17:14 -0400
commit6409a06df190c8f6cc4a77e714aa989243af46f5 (patch)
treee9ee855b4d8c4addb7490f42cb39529cd6dd070f
parentd36d8f5c6cb6ecf5a31139a3ba7cb3416a54f313 (diff)
downloadsqlalchemy-6409a06df190c8f6cc4a77e714aa989243af46f5.tar.gz
- Fixed a regression in 0.6.5 which occurred if you
passed an empty list to "include_properties" on mapper() [ticket:1918]
-rw-r--r--CHANGES4
-rw-r--r--lib/sqlalchemy/orm/mapper.py2
-rw-r--r--test/orm/test_mapper.py6
3 files changed, 10 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 657695c7e..519f45430 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 816bf95bf..8d31dd89a 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 3012f4b43..a19af5f4f 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,