diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-05-02 23:51:01 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-05-02 23:51:01 +0000 |
commit | 612c49f545b5374be45dbb4da21a5d708ebb894f (patch) | |
tree | b1dacbcdb79b6d7bed5c39019dcfd153ff6cec44 /lib/sqlalchemy/sql_util.py | |
parent | bb7a29d6228b4cdefb3d85b204c46a87e898e34c (diff) | |
download | sqlalchemy-612c49f545b5374be45dbb4da21a5d708ebb894f.tar.gz |
- Aliasizer removed. hooray !
- ClauseVisitor has handy chain() method.
Diffstat (limited to 'lib/sqlalchemy/sql_util.py')
-rw-r--r-- | lib/sqlalchemy/sql_util.py | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/lib/sqlalchemy/sql_util.py b/lib/sqlalchemy/sql_util.py index 1d185bbc5..dcd19f891 100644 --- a/lib/sqlalchemy/sql_util.py +++ b/lib/sqlalchemy/sql_util.py @@ -151,31 +151,8 @@ class AbstractClauseProcessor(sql.NoColumnVisitor): if elem is not None: binary.right = elem -class Aliasizer(AbstractClauseProcessor): - """Convert a table instance within an expression to be an alias of that table.""" - - def __init__(self, *tables, **kwargs): - self.tables = {} - self.aliases = kwargs.get('aliases', {}) - for t in tables: - self.tables[t] = t - if not self.aliases.has_key(t): - self.aliases[t] = sql.alias(t) - if isinstance(t, sql.Join): - for t2 in t.columns: - self.tables[t2.table] = t2 - self.aliases[t2.table] = self.aliases[t] - self.binary = None - - def get_alias(self, table): - return self.aliases[table] - - def convert_element(self, elem): - if isinstance(elem, sql.ColumnElement) and hasattr(elem, 'table') and self.tables.has_key(elem.table): - return self.get_alias(elem.table).corresponding_column(elem) - else: - return None - + # TODO: visit_select(). + class ClauseAdapter(AbstractClauseProcessor): """Given a clause (like as in a WHERE criterion), locate columns which are embedded within a given selectable, and changes those |