diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-11-14 16:43:21 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-11-14 16:43:21 +0000 |
commit | a03aa84c31bee4c13a32612109c79e86a2afcd53 (patch) | |
tree | 822fff40d3ea6559221dc4e307dc560d08c39a72 /lib/sqlalchemy/sql/util.py | |
parent | 7f0b5edc9258364b9bb954bd4e3b18d88d63edf4 (diff) | |
download | sqlalchemy-a03aa84c31bee4c13a32612109c79e86a2afcd53.tar.gz |
- DeferredColumnLoader checks row for column, if present sends it to
ColumnLoader to create the row processor
- eager loaders ensure deferred foreign key cols are present in the primary list of columns (and secondary...). because eager loading with LIMIT/OFFSET doesn't re-join to the parent table anymore this is now necessary. [ticket:864]
Diffstat (limited to 'lib/sqlalchemy/sql/util.py')
-rw-r--r-- | lib/sqlalchemy/sql/util.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 81d28ac7e..70d1940e6 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -96,6 +96,11 @@ class ColumnFinder(visitors.ClauseVisitor): def __iter__(self): return iter(self.columns) +def find_columns(selectable): + cf = ColumnFinder() + cf.traverse(selectable) + return iter(cf) + class ColumnsInClause(visitors.ClauseVisitor): """Given a selectable, visit clauses and determine if any columns from the clause are in the selectable. |