diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-10-21 04:45:29 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-10-21 04:45:29 +0000 |
| commit | 7dddcd140339509fb3d208a37eb1ac0f1ea3aa3a (patch) | |
| tree | eeebf653c085e9f4fb0f29d334b7c19d4036c1fd /lib/sqlalchemy/sql | |
| parent | aceb90525aad6d3e807f5f2db548353a5fc33138 (diff) | |
| download | sqlalchemy-7dddcd140339509fb3d208a37eb1ac0f1ea3aa3a.tar.gz | |
some cleanup
Diffstat (limited to 'lib/sqlalchemy/sql')
| -rw-r--r-- | lib/sqlalchemy/sql/util.py | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 02165aad5..d1265c75f 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -76,9 +76,7 @@ def find_columns(clause): """locate Column objects within the given expression.""" cols = util.column_set() - def visit_column(col): - cols.add(col) - visitors.traverse(clause, {}, {'column':visit_column}) + visitors.traverse(clause, {}, {'column':cols.add}) return cols def join_condition(a, b, ignore_nonexistent_tables=False): @@ -327,30 +325,43 @@ def reduce_columns(columns, *clauses, **kw): return expression.ColumnSet(columns.difference(omit)) -def criterion_as_pairs(expression, consider_as_foreign_keys=None, consider_as_referenced_keys=None, any_operator=False): +def criterion_as_pairs(expression, consider_as_foreign_keys=None, + consider_as_referenced_keys=None, any_operator=False): """traverse an expression and locate binary criterion pairs.""" if consider_as_foreign_keys and consider_as_referenced_keys: - raise exc.ArgumentError("Can only specify one of 'consider_as_foreign_keys' or 'consider_as_referenced_keys'") + raise exc.ArgumentError("Can only specify one of " + "'consider_as_foreign_keys' or " + "'consider_as_referenced_keys'") def visit_binary(binary): if not any_operator and binary.operator is not operators.eq: return - if not isinstance(binary.left, sql.ColumnElement) or not isinstance(binary.right, sql.ColumnElement): + if not isinstance(binary.left, sql.ColumnElement) or \ + not isinstance(binary.right, sql.ColumnElement): return if consider_as_foreign_keys: - if binary.left in consider_as_foreign_keys and (binary.right is binary.left or binary.right not in consider_as_foreign_keys): + if binary.left in consider_as_foreign_keys and \ + (binary.right is binary.left or + binary.right not in consider_as_foreign_keys): pairs.append((binary.right, binary.left)) - elif binary.right in consider_as_foreign_keys and (binary.left is binary.right or binary.left not in consider_as_foreign_keys): + elif binary.right in consider_as_foreign_keys and \ + (binary.left is binary.right or + binary.left not in consider_as_foreign_keys): pairs.append((binary.left, binary.right)) elif consider_as_referenced_keys: - if binary.left in consider_as_referenced_keys and (binary.right is binary.left or binary.right not in consider_as_referenced_keys): + if binary.left in consider_as_referenced_keys and \ + (binary.right is binary.left or + binary.right not in consider_as_referenced_keys): pairs.append((binary.left, binary.right)) - elif binary.right in consider_as_referenced_keys and (binary.left is binary.right or binary.left not in consider_as_referenced_keys): + elif binary.right in consider_as_referenced_keys and \ + (binary.left is binary.right or + binary.left not in consider_as_referenced_keys): pairs.append((binary.right, binary.left)) else: - if isinstance(binary.left, schema.Column) and isinstance(binary.right, schema.Column): + if isinstance(binary.left, schema.Column) and \ + isinstance(binary.right, schema.Column): if binary.left.references(binary.right): pairs.append((binary.right, binary.left)) elif binary.right.references(binary.left): |
