summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-07-27 16:46:11 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-07-27 16:46:11 +0000
commit8db97dad9845b8d405412abbf713d2d22538b9cc (patch)
treed8531cb3644340707b4248e2721968359e232740 /lib/sqlalchemy
parent7252e3d879483cc14be5d1b95004843e69e35aab (diff)
downloadsqlalchemy-8db97dad9845b8d405412abbf713d2d22538b9cc.tar.gz
fixed glitch in Select visit traversal, fixes #693
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/mapper.py3
-rw-r--r--lib/sqlalchemy/sql.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index 76cc41289..92b186012 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -407,6 +407,9 @@ class Mapper(object):
# may be a join or other construct
self.tables = sqlutil.TableFinder(self.mapped_table)
+ if not len(self.tables):
+ raise exceptions.InvalidRequestError("Could not find any Table objects in mapped table '%s'" % str(self.mapped_table))
+
# determine primary key columns
self.pks_by_table = {}
diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py
index 01588e92d..ff92f0b43 100644
--- a/lib/sqlalchemy/sql.py
+++ b/lib/sqlalchemy/sql.py
@@ -3146,7 +3146,7 @@ class Select(_SelectBaseMixin, FromClause):
def get_children(self, column_collections=True, **kwargs):
return (column_collections and list(self.columns) or []) + \
- list(self._froms) + \
+ list(self.locate_all_froms()) + \
[x for x in (self._whereclause, self._having, self._order_by_clause, self._group_by_clause) if x is not None]
def _recorrelate_froms(self, froms):