diff --git a/setup.py b/setup.py index c3b5602..eb6ec34 100644 --- a/setup.py +++ b/setup.py @@ -66,7 +66,7 @@ specific version of this database, that version being 7.5.1. packages = find_packages(), install_requires = [ - 'SQLAlchemy>0.5.2', + 'SQLAlchemy', ], entry_points = { diff --git a/sqlbase7_sa/_version.py b/sqlbase7_sa/_version.py index 5bb4149..729541a 100644 --- a/sqlbase7_sa/_version.py +++ b/sqlbase7_sa/_version.py @@ -23,4 +23,4 @@ ################################################################################ -__version__ = '0.1b5' +__version__ = '0.1b1' diff --git a/sqlbase7_sa/sqlbase7.py b/sqlbase7_sa/sqlbase7.py index 690395c..93c8ef3 100644 --- a/sqlbase7_sa/sqlbase7.py +++ b/sqlbase7_sa/sqlbase7.py @@ -26,7 +26,6 @@ from sqlalchemy.engine.default import DefaultDialect from sqlalchemy import types, and_ from sqlalchemy.sql.expression import Join -from sqlalchemy.sql import visitors, operators, ClauseElement import sqlalchemy @@ -57,12 +56,7 @@ class SQLBase7Compiler(CompilerBase): return self.process(join.left, **kwargs) + ", " + self.process(join.right, **kwargs) def visit_select(self, select, **kwargs): - if self.stack and 'from' in self.stack[-1]: - existingfroms = self.stack[-1]['from'] - else: - existingfroms = None - - froms = select._get_display_froms(existingfroms) + froms = select._get_display_froms() whereclause = self._get_join_whereclause(froms) if whereclause is not None: select = select.where(whereclause) @@ -77,16 +71,7 @@ class SQLBase7Compiler(CompilerBase): clauses = [] def visit_join(join): - if join.isouter: - def visit_binary(binary): - if binary.operator == operators.eq: - if binary.left.table is join.right: - binary.left = _OuterJoinColumn(binary.left) - elif binary.right.table is join.right: - binary.right = _OuterJoinColumn(binary.right) - clauses.append(visitors.cloned_traverse(join.onclause, {}, {'binary':visit_binary})) - else: - clauses.append(join.onclause) + clauses.append(join.onclause) for j in join.left, join.right: if isinstance(j, Join): visit_join(j) @@ -99,16 +84,6 @@ class SQLBase7Compiler(CompilerBase): return and_(*clauses) return None - def visit_outer_join_column(self, vc): - return self.process(vc.column) + "(+)" - - -class _OuterJoinColumn(ClauseElement): - __visit_name__ = 'outer_join_column' - - def __init__(self, column): - self.column = column - class SQLBase7Dialect(DefaultDialect):