summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-03-19 21:12:29 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-03-19 21:12:29 -0400
commitddeaa9f0d6ed1c7422a90e5b8e92b717e2671403 (patch)
tree8505c9205e09ef9e852f6d997d8efb0955148378 /lib
parent960863906680b4a2fd4c27fff58e8a5939ea35f1 (diff)
downloadsqlalchemy-ddeaa9f0d6ed1c7422a90e5b8e92b717e2671403.tar.gz
- Fixed bug whereby calling query(A).join(A.bs).add_entity(B)
in a joined inheritance scenario would double-add B as a target and produce an invalid query. [ticket:1188]
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/orm/query.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index 682aa2bbf..8d3d7fbb3 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -114,7 +114,8 @@ class Query(object):
mapper, selectable, is_aliased_class = _entity_info(entity)
if not is_aliased_class and mapper.with_polymorphic:
with_polymorphic = mapper._with_polymorphic_mappers
- self.__mapper_loads_polymorphically_with(mapper,
+ if mapper.mapped_table not in self._polymorphic_adapters:
+ self.__mapper_loads_polymorphically_with(mapper,
sql_util.ColumnAdapter(selectable, mapper._equivalent_columns))
adapter = None
elif is_aliased_class: