]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- update the flake8 rules again
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 18 Jul 2014 21:40:58 +0000 (17:40 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 18 Jul 2014 21:40:58 +0000 (17:40 -0400)
- apply autopep8 + manual fixes to most of test/sql/

26 files changed:
test/sql/test_case_statement.py
test/sql/test_compiler.py
test/sql/test_constraints.py
test/sql/test_cte.py
test/sql/test_ddlemit.py
test/sql/test_defaults.py
test/sql/test_delete.py
test/sql/test_functions.py
test/sql/test_generative.py
test/sql/test_insert.py
test/sql/test_inspect.py
test/sql/test_join_rewriting.py
test/sql/test_labels.py
test/sql/test_metadata.py
test/sql/test_operators.py
test/sql/test_query.py
test/sql/test_quote.py
test/sql/test_returning.py
test/sql/test_rowcount.py
test/sql/test_selectable.py
test/sql/test_text.py
test/sql/test_type_expressions.py
test/sql/test_types.py
test/sql/test_unicode.py
test/sql/test_update.py
tox.ini

index 977bb00a463422053c5cf633b83544a20ba7e04f..f7025b360586c29b40347acb0683ce9ba02e33c8 100644 (file)
@@ -143,12 +143,12 @@ class CaseTest(fixtures.TestBase, AssertsCompiledSQL):
                 eq_(s.execute().fetchall(), [
                     ('no ', ), ('no ', ), ('no ', ), ('yes', ),
                     ('no ', ), ('no ', ),
-                    ])
+                ])
             else:
                 eq_(s.execute().fetchall(), [
                     ('no', ), ('no', ), ('no', ), ('yes', ),
                     ('no', ), ('no', ),
-                    ])
+                ])
 
     @testing.fails_on('firebird', 'FIXME: unknown')
     def testcase_with_dict(self):
index 301cf149c2568379d1d69d2c3742aec64fdbb035..2b2083bf7f9a985e4cbd2276462b938307cb9ee3 100644 (file)
@@ -16,7 +16,7 @@ from sqlalchemy.testing import fixtures, AssertsCompiledSQL
 from sqlalchemy import Integer, String, MetaData, Table, Column, select, \
     func, not_, cast, text, tuple_, exists, update, bindparam,\
     literal, and_, null, type_coerce, alias, or_, literal_column,\
-    Float, TIMESTAMP, Numeric, Date, Text, collate, union, except_,\
+    Float, TIMESTAMP, Numeric, Date, Text, union, except_,\
     intersect, union_all, Boolean, distinct, join, outerjoin, asc, desc,\
     over, subquery, case, true
 import decimal
@@ -26,15 +26,15 @@ from sqlalchemy.sql import table, column, label
 from sqlalchemy.sql.expression import ClauseList, _literal_as_text, HasPrefixes
 from sqlalchemy.engine import default
 from sqlalchemy.dialects import mysql, mssql, postgresql, oracle, \
-            sqlite, sybase
+    sqlite, sybase
 from sqlalchemy.ext.compiler import compiles
 from sqlalchemy.sql import compiler
 
 table1 = table('mytable',
-    column('myid', Integer),
-    column('name', String),
-    column('description', String),
-)
+               column('myid', Integer),
+               column('name', String),
+               column('description', String),
+               )
 
 table2 = table(
     'myothertable',
@@ -69,25 +69,25 @@ table5 = Table(
 )
 
 users = table('users',
-    column('user_id'),
-    column('user_name'),
-    column('password'),
-)
+              column('user_id'),
+              column('user_name'),
+              column('password'),
+              )
 
 addresses = table('addresses',
-    column('address_id'),
-    column('user_id'),
-    column('street'),
-    column('city'),
-    column('state'),
-    column('zip')
-)
+                  column('address_id'),
+                  column('user_id'),
+                  column('street'),
+                  column('city'),
+                  column('state'),
+                  column('zip')
+                  )
 
 keyed = Table('keyed', metadata,
-    Column('x', Integer, key='colx'),
-    Column('y', Integer, key='coly'),
-    Column('z', Integer),
-)
+              Column('x', Integer, key='colx'),
+              Column('y', Integer, key='coly'),
+              Column('z', Integer),
+              )
 
 
 class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
@@ -111,39 +111,44 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                 'columns; use this object directly within a '
                 'column-level expression.',
                 lambda: hasattr(
-                        select([table1.c.myid]).as_scalar().self_group(),
-                        'columns'))
+                    select([table1.c.myid]).as_scalar().self_group(),
+                    'columns'))
             assert_raises_message(
                 exc.InvalidRequestError,
                 'Scalar Select expression has no '
                 'columns; use this object directly within a '
                 'column-level expression.',
                 lambda: hasattr(select([table1.c.myid]).as_scalar(),
-                            'columns'))
+                                'columns'))
         else:
             assert not hasattr(
-                    select([table1.c.myid]).as_scalar().self_group(),
-                            'columns')
+                select([table1.c.myid]).as_scalar().self_group(),
+                'columns')
             assert not hasattr(select([table1.c.myid]).as_scalar(), 'columns')
 
     def test_prefix_constructor(self):
         class Pref(HasPrefixes):
+
             def _generate(self):
                 return self
         assert_raises(exc.ArgumentError,
-                Pref().prefix_with,
-                "some prefix", not_a_dialect=True
-        )
+                      Pref().prefix_with,
+                      "some prefix", not_a_dialect=True
+                      )
 
     def test_table_select(self):
         self.assert_compile(table1.select(),
                             "SELECT mytable.myid, mytable.name, "
                             "mytable.description FROM mytable")
 
-        self.assert_compile(select([table1, table2]),
-                "SELECT mytable.myid, mytable.name, mytable.description, "
-                "myothertable.otherid, myothertable.othername FROM mytable, "
-                "myothertable")
+        self.assert_compile(
+            select(
+                [
+                    table1,
+                    table2]),
+            "SELECT mytable.myid, mytable.name, mytable.description, "
+            "myothertable.otherid, myothertable.othername FROM mytable, "
+            "myothertable")
 
     def test_invalid_col_argument(self):
         assert_raises(exc.ArgumentError, select, table1)
@@ -221,11 +226,11 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_limit_offset(self):
         for lim, offset, exp, params in [
             (5, 10, "LIMIT :param_1 OFFSET :param_2",
-                                {'param_1':5, 'param_2':10}),
-            (None, 10, "LIMIT -1 OFFSET :param_1", {'param_1':10}),
-            (5, None, "LIMIT :param_1", {'param_1':5}),
+             {'param_1': 5, 'param_2': 10}),
+            (None, 10, "LIMIT -1 OFFSET :param_1", {'param_1': 10}),
+            (5, None, "LIMIT :param_1", {'param_1': 5}),
             (0, 0, "LIMIT :param_1 OFFSET :param_2",
-                                {'param_1':0, 'param_2':0}),
+             {'param_1': 0, 'param_2': 0}),
         ]:
             self.assert_compile(
                 select([1]).limit(lim).offset(offset),
@@ -233,19 +238,22 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                 checkparams=params
             )
 
-
-
     def test_select_precol_compile_ordering(self):
         s1 = select([column('x')]).select_from('a').limit(5).as_scalar()
         s2 = select([s1]).limit(10)
 
         class MyCompiler(compiler.SQLCompiler):
+
             def get_select_precolumns(self, select):
                 result = ""
                 if select._limit:
-                    result += "FIRST %s " % self.process(literal(select._limit))
+                    result += "FIRST %s " % self.process(
+                        literal(
+                            select._limit))
                 if select._offset:
-                    result += "SKIP %s " % self.process(literal(select._offset))
+                    result += "SKIP %s " % self.process(
+                        literal(
+                            select._offset))
                 return result
 
             def limit_clause(self, select):
@@ -262,7 +270,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             dialect=dialect
         )
 
-
     def test_from_subquery(self):
         """tests placing select statements in the column clause of
         another select, for the
@@ -272,12 +279,12 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             select(
                 [s],
-                s.c.myid == 7
-            ),
-        "SELECT myid, name, description FROM (SELECT mytable.myid AS myid, "
-        "mytable.name AS name, mytable.description AS description "
-        "FROM mytable "
-        "WHERE mytable.name = :name_1) WHERE myid = :myid_1")
+                s.c.myid == 7),
+            "SELECT myid, name, description FROM "
+            "(SELECT mytable.myid AS myid, "
+            "mytable.name AS name, mytable.description AS description "
+            "FROM mytable "
+            "WHERE mytable.name = :name_1) WHERE myid = :myid_1")
 
         sq = select([table1])
         self.assert_compile(
@@ -307,17 +314,17 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         ).alias('sq')
 
         sqstring = "SELECT mytable.myid AS mytable_myid, mytable.name AS "\
-                "mytable_name, mytable.description AS mytable_description, "\
-                "myothertable.otherid AS myothertable_otherid, "\
-                "myothertable.othername AS myothertable_othername FROM "\
-                "mytable, myothertable WHERE mytable.myid = :myid_1 AND "\
-                "myothertable.otherid = mytable.myid"
+            "mytable_name, mytable.description AS mytable_description, "\
+            "myothertable.otherid AS myothertable_otherid, "\
+            "myothertable.othername AS myothertable_othername FROM "\
+            "mytable, myothertable WHERE mytable.myid = :myid_1 AND "\
+            "myothertable.otherid = mytable.myid"
 
         self.assert_compile(
-                sq.select(),
-                "SELECT sq.mytable_myid, sq.mytable_name, "
-                "sq.mytable_description, sq.myothertable_otherid, "
-                "sq.myothertable_othername FROM (%s) AS sq" % sqstring)
+            sq.select(),
+            "SELECT sq.mytable_myid, sq.mytable_name, "
+            "sq.mytable_description, sq.myothertable_otherid, "
+            "sq.myothertable_othername FROM (%s) AS sq" % sqstring)
 
         sq2 = select(
             [sq],
@@ -325,21 +332,21 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         ).alias('sq2')
 
         self.assert_compile(
-                sq2.select(),
-                "SELECT sq2.sq_mytable_myid, sq2.sq_mytable_name, "
-                "sq2.sq_mytable_description, sq2.sq_myothertable_otherid, "
-                "sq2.sq_myothertable_othername FROM "
-                "(SELECT sq.mytable_myid AS "
-                "sq_mytable_myid, sq.mytable_name AS sq_mytable_name, "
-                "sq.mytable_description AS sq_mytable_description, "
-                "sq.myothertable_otherid AS sq_myothertable_otherid, "
-                "sq.myothertable_othername AS sq_myothertable_othername "
-                "FROM (%s) AS sq) AS sq2" % sqstring)
+            sq2.select(),
+            "SELECT sq2.sq_mytable_myid, sq2.sq_mytable_name, "
+            "sq2.sq_mytable_description, sq2.sq_myothertable_otherid, "
+            "sq2.sq_myothertable_othername FROM "
+            "(SELECT sq.mytable_myid AS "
+            "sq_mytable_myid, sq.mytable_name AS sq_mytable_name, "
+            "sq.mytable_description AS sq_mytable_description, "
+            "sq.myothertable_otherid AS sq_myothertable_otherid, "
+            "sq.myothertable_othername AS sq_myothertable_othername "
+            "FROM (%s) AS sq) AS sq2" % sqstring)
 
     def test_select_from_clauselist(self):
         self.assert_compile(
             select([ClauseList(column('a'), column('b'))]
-                    ).select_from('sometable'),
+                   ).select_from('sometable'),
             'SELECT a, b FROM sometable'
         )
 
@@ -435,8 +442,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         # using alternate keys.
         a, b, c = Column('a', Integer, key='b'), \
-                    Column('b', Integer), \
-                    Column('c', Integer, key='a')
+            Column('b', Integer), \
+            Column('c', Integer, key='a')
         self.assert_compile(
             select([a, b, c, a, b, c]),
             "SELECT a, b, c", dialect=default.DefaultDialect()
@@ -445,13 +452,13 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             select([bindparam('a'), bindparam('b'), bindparam('c')]),
             "SELECT :a AS anon_1, :b AS anon_2, :c AS anon_3",
-                dialect=default.DefaultDialect(paramstyle='named')
+            dialect=default.DefaultDialect(paramstyle='named')
         )
 
         self.assert_compile(
             select([bindparam('a'), bindparam('b'), bindparam('c')]),
             "SELECT ? AS anon_1, ? AS anon_2, ? AS anon_3",
-                dialect=default.DefaultDialect(paramstyle='qmark'),
+            dialect=default.DefaultDialect(paramstyle='qmark'),
         )
 
         self.assert_compile(
@@ -490,90 +497,103 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         s2 = s1.alias()
         s3 = select([s2], use_labels=True)
         self.assert_compile(s3,
-                    "SELECT anon_1.x AS anon_1_x, "
-                    "anon_1.y AS anon_1_y, "
-                    "anon_1.z AS anon_1_z FROM "
-                    "(SELECT keyed.x AS x, keyed.y "
-                    "AS y, keyed.z AS z FROM keyed) AS anon_1")
+                            "SELECT anon_1.x AS anon_1_x, "
+                            "anon_1.y AS anon_1_y, "
+                            "anon_1.z AS anon_1_z FROM "
+                            "(SELECT keyed.x AS x, keyed.y "
+                            "AS y, keyed.z AS z FROM keyed) AS anon_1")
 
         s4 = s3.alias()
         s5 = select([s4], use_labels=True)
         self.assert_compile(s5,
-                    "SELECT anon_1.anon_2_x AS anon_1_anon_2_x, "
-                    "anon_1.anon_2_y AS anon_1_anon_2_y, "
-                    "anon_1.anon_2_z AS anon_1_anon_2_z "
-                    "FROM (SELECT anon_2.x AS anon_2_x, "
-                        "anon_2.y AS anon_2_y, "
-                    "anon_2.z AS anon_2_z FROM "
-                    "(SELECT keyed.x AS x, keyed.y AS y, keyed.z "
-                    "AS z FROM keyed) AS anon_2) AS anon_1"
-                    )
+                            "SELECT anon_1.anon_2_x AS anon_1_anon_2_x, "
+                            "anon_1.anon_2_y AS anon_1_anon_2_y, "
+                            "anon_1.anon_2_z AS anon_1_anon_2_z "
+                            "FROM (SELECT anon_2.x AS anon_2_x, "
+                            "anon_2.y AS anon_2_y, "
+                            "anon_2.z AS anon_2_z FROM "
+                            "(SELECT keyed.x AS x, keyed.y AS y, keyed.z "
+                            "AS z FROM keyed) AS anon_2) AS anon_1"
+                            )
 
     def test_exists(self):
         s = select([table1.c.myid]).where(table1.c.myid == 5)
 
         self.assert_compile(exists(s),
-                    "EXISTS (SELECT mytable.myid FROM mytable "
-                        "WHERE mytable.myid = :myid_1)"
-                )
+                            "EXISTS (SELECT mytable.myid FROM mytable "
+                            "WHERE mytable.myid = :myid_1)"
+                            )
 
         self.assert_compile(exists(s.as_scalar()),
-                    "EXISTS (SELECT mytable.myid FROM mytable "
-                        "WHERE mytable.myid = :myid_1)"
-                )
+                            "EXISTS (SELECT mytable.myid FROM mytable "
+                            "WHERE mytable.myid = :myid_1)"
+                            )
 
         self.assert_compile(exists([table1.c.myid], table1.c.myid
-                            == 5).select(),
+                                   == 5).select(),
                             'SELECT EXISTS (SELECT mytable.myid FROM '
                             'mytable WHERE mytable.myid = :myid_1)',
                             params={'mytable_myid': 5})
         self.assert_compile(select([table1, exists([1],
-                            from_obj=table2)]),
+                                                   from_obj=table2)]),
                             'SELECT mytable.myid, mytable.name, '
                             'mytable.description, EXISTS (SELECT 1 '
                             'FROM myothertable) FROM mytable',
                             params={})
-        self.assert_compile(select([table1, exists([1],
-                            from_obj=table2).label('foo')]),
+        self.assert_compile(select([table1,
+                                    exists([1],
+                                           from_obj=table2).label('foo')]),
                             'SELECT mytable.myid, mytable.name, '
                             'mytable.description, EXISTS (SELECT 1 '
                             'FROM myothertable) AS foo FROM mytable',
                             params={})
 
-        self.assert_compile(table1.select(exists().where(table2.c.otherid
-                            == table1.c.myid).correlate(table1)),
-                            'SELECT mytable.myid, mytable.name, '
-                            'mytable.description FROM mytable WHERE '
-                            'EXISTS (SELECT * FROM myothertable WHERE '
-                            'myothertable.otherid = mytable.myid)')
-        self.assert_compile(table1.select(exists().where(table2.c.otherid
-                            == table1.c.myid).correlate(table1)),
-                            'SELECT mytable.myid, mytable.name, '
-                            'mytable.description FROM mytable WHERE '
-                            'EXISTS (SELECT * FROM myothertable WHERE '
-                            'myothertable.otherid = mytable.myid)')
-        self.assert_compile(table1.select(exists().where(table2.c.otherid
-                            == table1.c.myid).correlate(table1)
-                            ).replace_selectable(table2,
-                            table2.alias()),
-                            'SELECT mytable.myid, mytable.name, '
-                            'mytable.description FROM mytable WHERE '
-                            'EXISTS (SELECT * FROM myothertable AS '
-                            'myothertable_1 WHERE myothertable_1.otheri'
-                            'd = mytable.myid)')
-        self.assert_compile(table1.select(exists().where(table2.c.otherid
-                            == table1.c.myid).correlate(table1)).select_from(
-                            table1.join(table2,
-                            table1.c.myid
-                            == table2.c.otherid)).replace_selectable(table2,
-                            table2.alias()),
-                            'SELECT mytable.myid, mytable.name, '
-                            'mytable.description FROM mytable JOIN '
-                            'myothertable AS myothertable_1 ON '
-                            'mytable.myid = myothertable_1.otherid '
-                            'WHERE EXISTS (SELECT * FROM myothertable '
-                            'AS myothertable_1 WHERE '
-                            'myothertable_1.otherid = mytable.myid)')
+        self.assert_compile(
+            table1.select(
+                exists().where(
+                    table2.c.otherid == table1.c.myid).correlate(table1)),
+            'SELECT mytable.myid, mytable.name, '
+            'mytable.description FROM mytable WHERE '
+            'EXISTS (SELECT * FROM myothertable WHERE '
+            'myothertable.otherid = mytable.myid)')
+        self.assert_compile(
+            table1.select(
+                exists().where(
+                    table2.c.otherid == table1.c.myid).correlate(table1)),
+            'SELECT mytable.myid, mytable.name, '
+            'mytable.description FROM mytable WHERE '
+            'EXISTS (SELECT * FROM myothertable WHERE '
+            'myothertable.otherid = mytable.myid)')
+        self.assert_compile(
+            table1.select(
+                exists().where(
+                    table2.c.otherid == table1.c.myid).correlate(table1)
+            ).replace_selectable(
+                table2,
+                table2.alias()),
+            'SELECT mytable.myid, mytable.name, '
+            'mytable.description FROM mytable WHERE '
+            'EXISTS (SELECT * FROM myothertable AS '
+            'myothertable_1 WHERE myothertable_1.otheri'
+            'd = mytable.myid)')
+        self.assert_compile(
+            table1.select(
+                exists().where(
+                    table2.c.otherid == table1.c.myid).correlate(table1)).
+            select_from(
+                table1.join(
+                    table2,
+                    table1.c.myid == table2.c.otherid)).
+            replace_selectable(
+                table2,
+                table2.alias()),
+            'SELECT mytable.myid, mytable.name, '
+            'mytable.description FROM mytable JOIN '
+            'myothertable AS myothertable_1 ON '
+            'mytable.myid = myothertable_1.otherid '
+            'WHERE EXISTS (SELECT * FROM myothertable '
+            'AS myothertable_1 WHERE '
+            'myothertable_1.otherid = mytable.myid)')
 
         self.assert_compile(
             select([
@@ -588,7 +608,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             "myothertable.otherid = :otherid_2)) AS anon_1"
         )
 
-
     def test_where_subquery(self):
         s = select([addresses.c.street], addresses.c.user_id
                    == users.c.user_id, correlate=True).alias('s')
@@ -600,31 +619,36 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                             "(SELECT addresses.street AS street FROM "
                             "addresses, users WHERE addresses.user_id = "
                             "users.user_id) AS s")
-        self.assert_compile(table1.select(table1.c.myid
-                            == select([table1.c.myid], table1.c.name
-                            == 'jack')),
-                            'SELECT mytable.myid, mytable.name, '
-                            'mytable.description FROM mytable WHERE '
-                            'mytable.myid = (SELECT mytable.myid FROM '
-                            'mytable WHERE mytable.name = :name_1)')
-        self.assert_compile(table1.select(table1.c.myid
-                            == select([table2.c.otherid], table1.c.name
-                            == table2.c.othername)),
-                            'SELECT mytable.myid, mytable.name, '
-                            'mytable.description FROM mytable WHERE '
-                            'mytable.myid = (SELECT '
-                            'myothertable.otherid FROM myothertable '
-                            'WHERE mytable.name = myothertable.othernam'
-                            'e)')
+        self.assert_compile(table1.select(
+            table1.c.myid == select(
+                [table1.c.myid],
+                table1.c.name == 'jack')),
+            'SELECT mytable.myid, mytable.name, '
+            'mytable.description FROM mytable WHERE '
+            'mytable.myid = (SELECT mytable.myid FROM '
+            'mytable WHERE mytable.name = :name_1)')
+        self.assert_compile(
+            table1.select(
+                table1.c.myid == select(
+                    [table2.c.otherid],
+                    table1.c.name == table2.c.othername
+                )
+            ),
+            'SELECT mytable.myid, mytable.name, '
+            'mytable.description FROM mytable WHERE '
+            'mytable.myid = (SELECT '
+            'myothertable.otherid FROM myothertable '
+            'WHERE mytable.name = myothertable.othernam'
+            'e)')
         self.assert_compile(table1.select(exists([1], table2.c.otherid
-                            == table1.c.myid)),
+                                                 == table1.c.myid)),
                             'SELECT mytable.myid, mytable.name, '
                             'mytable.description FROM mytable WHERE '
                             'EXISTS (SELECT 1 FROM myothertable WHERE '
                             'myothertable.otherid = mytable.myid)')
         talias = table1.alias('ta')
         s = subquery('sq2', [talias], exists([1], table2.c.otherid
-                     == talias.c.myid))
+                                             == talias.c.myid))
         self.assert_compile(select([s, table1]),
                             'SELECT sq2.myid, sq2.name, '
                             'sq2.description, mytable.myid, '
@@ -635,7 +659,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                             'myothertable WHERE myothertable.otherid = '
                             'ta.myid)) AS sq2, mytable')
 
-
         # test constructing the outer query via append_column(), which
         # occurs in the ORM's Query object
 
@@ -648,18 +671,22 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                             'EXISTS (SELECT 1 FROM myothertable WHERE '
                             'myothertable.otherid = mytable.myid)')
 
-
     def test_orderby_subquery(self):
-        self.assert_compile(table1.select(order_by=[select([table2.c.otherid],
-                            table1.c.myid == table2.c.otherid)]),
-                            'SELECT mytable.myid, mytable.name, '
-                            'mytable.description FROM mytable ORDER BY '
-                            '(SELECT myothertable.otherid FROM '
-                            'myothertable WHERE mytable.myid = '
-                            'myothertable.otherid)')
+        self.assert_compile(
+            table1.select(
+                order_by=[
+                    select(
+                        [
+                            table2.c.otherid],
+                        table1.c.myid == table2.c.otherid)]),
+            'SELECT mytable.myid, mytable.name, '
+            'mytable.description FROM mytable ORDER BY '
+            '(SELECT myothertable.otherid FROM '
+            'myothertable WHERE mytable.myid = '
+            'myothertable.otherid)')
         self.assert_compile(table1.select(order_by=[
                             desc(select([table2.c.otherid],
-                            table1.c.myid == table2.c.otherid))]),
+                                        table1.c.myid == table2.c.otherid))]),
                             'SELECT mytable.myid, mytable.name, '
                             'mytable.description FROM mytable ORDER BY '
                             '(SELECT myothertable.otherid FROM '
@@ -706,12 +733,12 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         s = select([table1.c.myid]).alias()
         self.assert_compile(select([table1.c.myid]).where(table1.c.myid
-                            == s),
+                                                          == s),
                             'SELECT mytable.myid FROM mytable WHERE '
                             'mytable.myid = (SELECT mytable.myid FROM '
                             'mytable)')
         self.assert_compile(select([table1.c.myid]).where(s
-                            > table1.c.myid),
+                                                          > table1.c.myid),
                             'SELECT mytable.myid FROM mytable WHERE '
                             'mytable.myid < (SELECT mytable.myid FROM '
                             'mytable)')
@@ -728,14 +755,14 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                             'SELECT (SELECT mytable.myid FROM mytable) '
                             '- :param_1 AS anon_1')
         self.assert_compile(select([select([table1.c.name]).as_scalar()
-                            + literal('x')]),
+                                    + literal('x')]),
                             'SELECT (SELECT mytable.name FROM mytable) '
                             '|| :param_1 AS anon_1')
         self.assert_compile(select([s > literal(8)]),
                             'SELECT (SELECT mytable.myid FROM mytable) '
                             '> :param_1 AS anon_1')
         self.assert_compile(select([select([table1.c.name]).label('foo'
-                            )]),
+                                                                  )]),
                             'SELECT (SELECT mytable.name FROM mytable) '
                             'AS foo')
 
@@ -757,25 +784,25 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                 'object directly within a column-level expression.'
 
         zips = table('zips',
-            column('zipcode'),
-            column('latitude'),
-            column('longitude'),
-        )
+                     column('zipcode'),
+                     column('latitude'),
+                     column('longitude'),
+                     )
         places = table('places',
-            column('id'),
-            column('nm')
-        )
+                       column('id'),
+                       column('nm')
+                       )
         zip = '12345'
         qlat = select([zips.c.latitude], zips.c.zipcode == zip).\
-                        correlate(None).as_scalar()
+            correlate(None).as_scalar()
         qlng = select([zips.c.longitude], zips.c.zipcode == zip).\
-                        correlate(None).as_scalar()
+            correlate(None).as_scalar()
 
         q = select([places.c.id, places.c.nm, zips.c.zipcode,
-                        func.latlondist(qlat, qlng).label('dist')],
-                         zips.c.zipcode == zip,
-                         order_by=['dist', places.c.nm]
-                         )
+                    func.latlondist(qlat, qlng).label('dist')],
+                   zips.c.zipcode == zip,
+                   order_by=['dist', places.c.nm]
+                   )
 
         self.assert_compile(q,
                             'SELECT places.id, places.nm, '
@@ -789,11 +816,11 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         zalias = zips.alias('main_zip')
         qlat = select([zips.c.latitude], zips.c.zipcode == zalias.c.zipcode).\
-                    as_scalar()
+            as_scalar()
         qlng = select([zips.c.longitude], zips.c.zipcode == zalias.c.zipcode).\
-                    as_scalar()
+            as_scalar()
         q = select([places.c.id, places.c.nm, zalias.c.zipcode,
-                   func.latlondist(qlat, qlng).label('dist')],
+                    func.latlondist(qlat, qlng).label('dist')],
                    order_by=['dist', places.c.nm])
         self.assert_compile(q,
                             'SELECT places.id, places.nm, '
@@ -827,9 +854,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_label_comparison_two(self):
         self.assert_compile(
-                label('bar', column('foo', type_=String)) + 'foo',
-                'foo || :param_1')
-
+            label('bar', column('foo', type_=String)) + 'foo',
+            'foo || :param_1')
 
     def test_order_by_labels_enabled(self):
         lab1 = (table1.c.myid + 12).label('foo')
@@ -837,11 +863,11 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         dialect = default.DefaultDialect()
 
         self.assert_compile(select([lab1, lab2]).order_by(lab1, desc(lab2)),
-            "SELECT mytable.myid + :myid_1 AS foo, "
-            "somefunc(mytable.name) AS bar FROM mytable "
-            "ORDER BY foo, bar DESC",
-            dialect=dialect
-        )
+                            "SELECT mytable.myid + :myid_1 AS foo, "
+                            "somefunc(mytable.name) AS bar FROM mytable "
+                            "ORDER BY foo, bar DESC",
+                            dialect=dialect
+                            )
 
         # the function embedded label renders as the function
         self.assert_compile(
@@ -854,11 +880,11 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         # binary expressions render as the expression without labels
         self.assert_compile(select([lab1, lab2]).order_by(lab1 + "test"),
-            "SELECT mytable.myid + :myid_1 AS foo, "
-            "somefunc(mytable.name) AS bar FROM mytable "
-            "ORDER BY mytable.myid + :myid_1 + :param_1",
-            dialect=dialect
-        )
+                            "SELECT mytable.myid + :myid_1 AS foo, "
+                            "somefunc(mytable.name) AS bar FROM mytable "
+                            "ORDER BY mytable.myid + :myid_1 + :param_1",
+                            dialect=dialect
+                            )
 
         # labels within functions in the columns clause render
         # with the expression
@@ -868,8 +894,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             "foo(mytable.myid + :myid_1) AS foo_1 FROM mytable "
             "ORDER BY foo, foo(mytable.myid + :myid_1)",
             dialect=dialect
-            )
-
+        )
 
         lx = (table1.c.myid + table1.c.myid).label('lx')
         ly = (func.lower(table1.c.name) + table1.c.description).label('ly')
@@ -880,19 +905,24 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             "lower(mytable.name) || mytable.description AS ly "
             "FROM mytable ORDER BY lx, ly DESC",
             dialect=dialect
-            )
+        )
 
     def test_order_by_labels_disabled(self):
         lab1 = (table1.c.myid + 12).label('foo')
         lab2 = func.somefunc(table1.c.name).label('bar')
         dialect = default.DefaultDialect()
         dialect.supports_simple_order_by_label = False
-        self.assert_compile(select([lab1, lab2]).order_by(lab1, desc(lab2)),
+        self.assert_compile(
+            select(
+                [
+                    lab1,
+                    lab2]).order_by(
+                lab1,
+                desc(lab2)),
             "SELECT mytable.myid + :myid_1 AS foo, "
             "somefunc(mytable.name) AS bar FROM mytable "
             "ORDER BY mytable.myid + :myid_1, somefunc(mytable.name) DESC",
-            dialect=dialect
-        )
+            dialect=dialect)
         self.assert_compile(
             select([lab1, lab2]).order_by(func.hoho(lab1), desc(lab2)),
             "SELECT mytable.myid + :myid_1 AS foo, "
@@ -905,7 +935,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_conjunctions(self):
         a, b, c = 'a', 'b', 'c'
         x = and_(a, b, c)
-        assert isinstance(x.type,  Boolean)
+        assert isinstance(x.type, Boolean)
         assert str(x) == 'a AND b AND c'
         self.assert_compile(
             select([x.label('foo')]),
@@ -914,8 +944,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             and_(table1.c.myid == 12, table1.c.name == 'asdf',
-                table2.c.othername == 'foo', "sysdate() = today()"),
-            "mytable.myid = :myid_1 AND mytable.name = :name_1 "\
+                 table2.c.othername == 'foo', "sysdate() = today()"),
+            "mytable.myid = :myid_1 AND mytable.name = :name_1 "
             "AND myothertable.othername = "
             ":othername_1 AND sysdate() = today()"
         )
@@ -928,11 +958,11 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                 "sysdate() = today()",
             ),
             'mytable.myid = :myid_1 AND (myothertable.othername = '
-             ':othername_1 OR myothertable.othername = :othername_2 OR '
-             'myothertable.otherid = :otherid_1) AND sysdate() = '
-             'today()',
+            ':othername_1 OR myothertable.othername = :othername_2 OR '
+            'myothertable.otherid = :otherid_1) AND sysdate() = '
+            'today()',
             checkparams={'othername_1': 'asdf', 'othername_2': 'foo',
-                            'otherid_1': 9, 'myid_1': 12}
+                         'otherid_1': 9, 'myid_1': 12}
         )
 
         # test a generator
@@ -954,17 +984,28 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             select([t]).where(and_(t.c.x == 5,
-                or_(and_(or_(t.c.x == 7))))),
+                                   or_(and_(or_(t.c.x == 7))))),
             "SELECT t.x FROM t WHERE t.x = :x_1 AND t.x = :x_2"
         )
         self.assert_compile(
             select([t]).where(and_(or_(t.c.x == 12,
-                and_(or_(t.c.x == 8))))),
+                                       and_(or_(t.c.x == 8))))),
             "SELECT t.x FROM t WHERE t.x = :x_1 OR t.x = :x_2"
         )
         self.assert_compile(
-            select([t]).where(and_(or_(or_(t.c.x == 12),
-                and_(or_(), or_(and_(t.c.x == 8)), and_())))),
+            select([t]).
+            where(
+                and_(
+                    or_(
+                        or_(t.c.x == 12),
+                        and_(
+                            or_(),
+                            or_(and_(t.c.x == 8)),
+                            and_()
+                        )
+                    )
+                )
+            ),
             "SELECT t.x FROM t WHERE t.x = :x_1 OR t.x = :x_2"
         )
 
@@ -1014,7 +1055,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             "SELECT count(DISTINCT mytable.myid) AS count_1 FROM mytable"
         )
 
-
     def test_where_empty(self):
         self.assert_compile(
             select([table1.c.myid]).where(and_()),
@@ -1028,7 +1068,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_multiple_col_binds(self):
         self.assert_compile(
             select(["*"], or_(table1.c.myid == 12, table1.c.myid == 'asdf',
-                            table1.c.myid == 'foo')),
+                              table1.c.myid == 'foo')),
             "SELECT * FROM mytable WHERE mytable.myid = :myid_1 "
             "OR mytable.myid = :myid_2 OR mytable.myid = :myid_3"
         )
@@ -1044,7 +1084,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             table2.select(order_by=[
-                    table2.c.otherid, table2.c.othername.desc().nullslast()]),
+                table2.c.otherid, table2.c.othername.desc().nullslast()]),
             "SELECT myothertable.otherid, myothertable.othername FROM "
             "myothertable ORDER BY myothertable.otherid, "
             "myothertable.othername DESC NULLS LAST"
@@ -1052,8 +1092,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             table2.select(order_by=[
-                        table2.c.otherid.nullslast(),
-                        table2.c.othername.desc().nullsfirst()]),
+                table2.c.otherid.nullslast(),
+                table2.c.othername.desc().nullsfirst()]),
             "SELECT myothertable.otherid, myothertable.othername FROM "
             "myothertable ORDER BY myothertable.otherid NULLS LAST, "
             "myothertable.othername DESC NULLS FIRST"
@@ -1061,7 +1101,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             table2.select(order_by=[table2.c.otherid.nullsfirst(),
-                                                table2.c.othername.desc()]),
+                                    table2.c.othername.desc()]),
             "SELECT myothertable.otherid, myothertable.othername FROM "
             "myothertable ORDER BY myothertable.otherid NULLS FIRST, "
             "myothertable.othername DESC"
@@ -1069,7 +1109,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             table2.select(order_by=[table2.c.otherid.nullsfirst(),
-                                table2.c.othername.desc().nullslast()]),
+                                    table2.c.othername.desc().nullslast()]),
             "SELECT myothertable.otherid, myothertable.othername FROM "
             "myothertable ORDER BY myothertable.otherid NULLS FIRST, "
             "myothertable.othername DESC NULLS LAST"
@@ -1078,7 +1118,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_orderby_groupby(self):
         self.assert_compile(
             table2.select(order_by=[table2.c.otherid,
-                                asc(table2.c.othername)]),
+                                    asc(table2.c.othername)]),
             "SELECT myothertable.otherid, myothertable.othername FROM "
             "myothertable ORDER BY myothertable.otherid, "
             "myothertable.othername ASC"
@@ -1094,8 +1134,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         # generative order_by
         self.assert_compile(
-            table2.select().order_by(table2.c.otherid).\
-                    order_by(table2.c.othername.desc()),
+            table2.select().order_by(table2.c.otherid).
+            order_by(table2.c.othername.desc()),
             "SELECT myothertable.otherid, myothertable.othername FROM "
             "myothertable ORDER BY myothertable.otherid, "
             "myothertable.othername DESC"
@@ -1103,16 +1143,16 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             table2.select().order_by(table2.c.otherid).
-                                order_by(table2.c.othername.desc()
-                                ).order_by(None),
+            order_by(table2.c.othername.desc()
+                     ).order_by(None),
             "SELECT myothertable.otherid, myothertable.othername "
             "FROM myothertable"
         )
 
         self.assert_compile(
             select(
-                    [table2.c.othername, func.count(table2.c.otherid)],
-                    group_by=[table2.c.othername]),
+                [table2.c.othername, func.count(table2.c.otherid)],
+                group_by=[table2.c.othername]),
             "SELECT myothertable.othername, "
             "count(myothertable.otherid) AS count_1 "
             "FROM myothertable GROUP BY myothertable.othername"
@@ -1121,7 +1161,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         # generative group by
         self.assert_compile(
             select([table2.c.othername, func.count(table2.c.otherid)]).
-                        group_by(table2.c.othername),
+            group_by(table2.c.othername),
             "SELECT myothertable.othername, "
             "count(myothertable.otherid) AS count_1 "
             "FROM myothertable GROUP BY myothertable.othername"
@@ -1129,7 +1169,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             select([table2.c.othername, func.count(table2.c.otherid)]).
-                        group_by(table2.c.othername).group_by(None),
+            group_by(table2.c.othername).group_by(None),
             "SELECT myothertable.othername, "
             "count(myothertable.otherid) AS count_1 "
             "FROM myothertable"
@@ -1137,8 +1177,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             select([table2.c.othername, func.count(table2.c.otherid)],
-                        group_by=[table2.c.othername],
-                        order_by=[table2.c.othername]),
+                   group_by=[table2.c.othername],
+                   order_by=[table2.c.othername]),
             "SELECT myothertable.othername, "
             "count(myothertable.otherid) AS count_1 "
             "FROM myothertable "
@@ -1163,7 +1203,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             table1.select, table1.c.myid == 7, for_update='unknown_mode'
         )
 
-
     def test_alias(self):
         # test the alias for a table1.  column names stay the same,
         # table name "changes" to "foo".
@@ -1188,9 +1227,9 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         # also, only use one column from the second table and all columns
         # from the first table1.
         q = select(
-                        [table1, table2.c.otherid],
-                        table1.c.myid == table2.c.otherid, use_labels=True
-                    )
+            [table1, table2.c.otherid],
+            table1.c.myid == table2.c.otherid, use_labels=True
+        )
 
         # make an alias of the "selectable".  column names
         # stay the same (i.e. the labels), table name "changes" to "t2view".
@@ -1207,20 +1246,19 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             "t2view.mytable_description AS t2view_mytable_description, "
             "t2view.myothertable_otherid AS t2view_myothertable_otherid FROM "
             "(SELECT mytable.myid AS mytable_myid, "
-                "mytable.name AS mytable_name, "
+            "mytable.name AS mytable_name, "
             "mytable.description AS mytable_description, "
-                "myothertable.otherid AS "
+            "myothertable.otherid AS "
             "myothertable_otherid FROM mytable, myothertable "
-                "WHERE mytable.myid = "
+            "WHERE mytable.myid = "
             "myothertable.otherid) AS t2view "
-                "WHERE t2view.mytable_myid = :mytable_myid_1"
+            "WHERE t2view.mytable_myid = :mytable_myid_1"
         )
 
-
     def test_prefix(self):
         self.assert_compile(
-            table1.select().prefix_with("SQL_CALC_FOUND_ROWS").\
-                                prefix_with("SQL_SOME_WEIRD_MYSQL_THING"),
+            table1.select().prefix_with("SQL_CALC_FOUND_ROWS").
+            prefix_with("SQL_SOME_WEIRD_MYSQL_THING"),
             "SELECT SQL_CALC_FOUND_ROWS SQL_SOME_WEIRD_MYSQL_THING "
             "mytable.myid, mytable.name, mytable.description FROM mytable"
         )
@@ -1228,9 +1266,9 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_prefix_dialect_specific(self):
         self.assert_compile(
             table1.select().prefix_with("SQL_CALC_FOUND_ROWS",
-                                dialect='sqlite').\
-                                prefix_with("SQL_SOME_WEIRD_MYSQL_THING",
-                                        dialect='mysql'),
+                                        dialect='sqlite').
+            prefix_with("SQL_SOME_WEIRD_MYSQL_THING",
+                        dialect='mysql'),
             "SELECT SQL_SOME_WEIRD_MYSQL_THING "
             "mytable.myid, mytable.name, mytable.description FROM mytable",
             dialect=mysql.dialect()
@@ -1242,6 +1280,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         SQL in the columns clause."""
 
         dialect = default.DefaultDialect()
+
         class Compiler(dialect.statement_compiler):
             ansi_bind_rules = True
         dialect.statement_compiler = Compiler
@@ -1291,67 +1330,73 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         assert_raises_message(
             exc.CompileError,
-            "Bind parameter 'foo' without a renderable value not allowed here.",
-            bindparam("foo").in_([]).compile, dialect=dialect
-        )
-
+            "Bind parameter 'foo' without a "
+            "renderable value not allowed here.",
+            bindparam("foo").in_(
+                []).compile,
+            dialect=dialect)
 
     def test_literal(self):
 
         self.assert_compile(select([literal('foo')]),
-                "SELECT :param_1 AS anon_1")
+                            "SELECT :param_1 AS anon_1")
 
-        self.assert_compile(select([literal("foo") + literal("bar")],
-                        from_obj=[table1]),
+        self.assert_compile(
+            select(
+                [
+                    literal("foo") +
+                    literal("bar")],
+                from_obj=[table1]),
             "SELECT :param_1 || :param_2 AS anon_1 FROM mytable")
 
     def test_calculated_columns(self):
         value_tbl = table('values',
-             column('id', Integer),
-             column('val1', Float),
-             column('val2', Float),
-         )
+                          column('id', Integer),
+                          column('val1', Float),
+                          column('val2', Float),
+                          )
 
         self.assert_compile(
-             select([value_tbl.c.id, (value_tbl.c.val2 -
-                        value_tbl.c.val1) / value_tbl.c.val1]),
-             "SELECT values.id, (values.val2 - values.val1) "
-             "/ values.val1 AS anon_1 FROM values"
-         )
+            select([value_tbl.c.id, (value_tbl.c.val2 -
+                                     value_tbl.c.val1) / value_tbl.c.val1]),
+            "SELECT values.id, (values.val2 - values.val1) "
+            "/ values.val1 AS anon_1 FROM values"
+        )
 
         self.assert_compile(
-             select([value_tbl.c.id], (value_tbl.c.val2 -
-                    value_tbl.c.val1) / value_tbl.c.val1 > 2.0),
-             "SELECT values.id FROM values WHERE "
-             "(values.val2 - values.val1) / values.val1 > :param_1"
-         )
+            select([
+                value_tbl.c.id],
+                (value_tbl.c.val2 - value_tbl.c.val1) /
+                value_tbl.c.val1 > 2.0),
+            "SELECT values.id FROM values WHERE "
+            "(values.val2 - values.val1) / values.val1 > :param_1"
+        )
 
         self.assert_compile(
-             select([value_tbl.c.id], value_tbl.c.val1 /
-                (value_tbl.c.val2 - value_tbl.c.val1) /
-                    value_tbl.c.val1 > 2.0),
-             "SELECT values.id FROM values WHERE "
-                "(values.val1 / (values.val2 - values.val1)) "
-                "/ values.val1 > :param_1"
-         )
+            select([value_tbl.c.id], value_tbl.c.val1 /
+                   (value_tbl.c.val2 - value_tbl.c.val1) /
+                   value_tbl.c.val1 > 2.0),
+            "SELECT values.id FROM values WHERE "
+            "(values.val1 / (values.val2 - values.val1)) "
+            "/ values.val1 > :param_1"
+        )
 
     def test_percent_chars(self):
         t = table("table%name",
-            column("percent%"),
-            column("%(oneofthese)s"),
-            column("spaces % more spaces"),
-        )
+                  column("percent%"),
+                  column("%(oneofthese)s"),
+                  column("spaces % more spaces"),
+                  )
         self.assert_compile(
             t.select(use_labels=True),
-            '''SELECT "table%name"."percent%" AS "table%name_percent%", '''\
-            '''"table%name"."%(oneofthese)s" AS '''\
-            '''"table%name_%(oneofthese)s", '''\
-            '''"table%name"."spaces % more spaces" AS '''\
-            '''"table%name_spaces % '''\
+            '''SELECT "table%name"."percent%" AS "table%name_percent%", '''
+            '''"table%name"."%(oneofthese)s" AS '''
+            '''"table%name_%(oneofthese)s", '''
+            '''"table%name"."spaces % more spaces" AS '''
+            '''"table%name_spaces % '''
             '''more spaces" FROM "table%name"'''
         )
 
-
     def test_joins(self):
         self.assert_compile(
             join(table2, table1, table1.c.myid == table2.c.otherid).select(),
@@ -1362,17 +1407,17 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             select(
-             [table1],
+                [table1],
                 from_obj=[join(table1, table2, table1.c.myid
-                                    == table2.c.otherid)]
+                               == table2.c.otherid)]
             ),
-        "SELECT mytable.myid, mytable.name, mytable.description FROM "
-        "mytable JOIN myothertable ON mytable.myid = myothertable.otherid")
+            "SELECT mytable.myid, mytable.name, mytable.description FROM "
+            "mytable JOIN myothertable ON mytable.myid = myothertable.otherid")
 
         self.assert_compile(
             select(
                 [join(join(table1, table2, table1.c.myid == table2.c.otherid),
-                table3, table1.c.myid == table3.c.userid)]
+                      table3, table1.c.myid == table3.c.userid)]
             ),
             "SELECT mytable.myid, mytable.name, mytable.description, "
             "myothertable.otherid, myothertable.othername, "
@@ -1385,7 +1430,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             join(users, addresses, users.c.user_id ==
-                    addresses.c.user_id).select(),
+                 addresses.c.user_id).select(),
             "SELECT users.user_id, users.user_name, users.password, "
             "addresses.address_id, addresses.user_id, addresses.street, "
             "addresses.city, addresses.state, addresses.zip "
@@ -1394,58 +1439,57 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         )
 
         self.assert_compile(
-                select([table1, table2, table3],
+            select([table1, table2, table3],
 
-                from_obj=[join(table1, table2,
-                                    table1.c.myid == table2.c.otherid).
-                                    outerjoin(table3,
-                                            table1.c.myid == table3.c.userid)]
-                ),
-                "SELECT mytable.myid, mytable.name, mytable.description, "
-                "myothertable.otherid, myothertable.othername, "
-                "thirdtable.userid,"
-                " thirdtable.otherstuff FROM mytable "
-                "JOIN myothertable ON mytable.myid "
-                "= myothertable.otherid LEFT OUTER JOIN thirdtable "
-                "ON mytable.myid ="
-                " thirdtable.userid"
-            )
+                   from_obj=[join(table1, table2,
+                                  table1.c.myid == table2.c.otherid).
+                             outerjoin(table3,
+                                       table1.c.myid == table3.c.userid)]
+                   ),
+            "SELECT mytable.myid, mytable.name, mytable.description, "
+            "myothertable.otherid, myothertable.othername, "
+            "thirdtable.userid,"
+            " thirdtable.otherstuff FROM mytable "
+            "JOIN myothertable ON mytable.myid "
+            "= myothertable.otherid LEFT OUTER JOIN thirdtable "
+            "ON mytable.myid ="
+            " thirdtable.userid"
+        )
         self.assert_compile(
-                select([table1, table2, table3],
-                from_obj=[outerjoin(table1,
-                                join(table2, table3, table2.c.otherid
-                                        == table3.c.userid),
-                                table1.c.myid == table2.c.otherid)]
-                ),
-                "SELECT mytable.myid, mytable.name, mytable.description, "
-                "myothertable.otherid, myothertable.othername, "
-                "thirdtable.userid,"
-                " thirdtable.otherstuff FROM mytable LEFT OUTER JOIN "
-                "(myothertable "
-                "JOIN thirdtable ON myothertable.otherid = "
-                "thirdtable.userid) ON "
-                "mytable.myid = myothertable.otherid"
-            )
+            select([table1, table2, table3],
+                   from_obj=[outerjoin(table1,
+                                       join(table2, table3, table2.c.otherid
+                                            == table3.c.userid),
+                                       table1.c.myid == table2.c.otherid)]
+                   ),
+            "SELECT mytable.myid, mytable.name, mytable.description, "
+            "myothertable.otherid, myothertable.othername, "
+            "thirdtable.userid,"
+            " thirdtable.otherstuff FROM mytable LEFT OUTER JOIN "
+            "(myothertable "
+            "JOIN thirdtable ON myothertable.otherid = "
+            "thirdtable.userid) ON "
+            "mytable.myid = myothertable.otherid"
+        )
 
         query = select(
-                [table1, table2],
-                or_(
-                    table1.c.name == 'fred',
-                    table1.c.myid == 10,
-                    table2.c.othername != 'jack',
-                    "EXISTS (select yay from foo where boo = lar)"
-                ),
-                from_obj=[outerjoin(table1, table2,
+            [table1, table2],
+            or_(
+                table1.c.name == 'fred',
+                table1.c.myid == 10,
+                table2.c.othername != 'jack',
+                "EXISTS (select yay from foo where boo = lar)"
+            ),
+            from_obj=[outerjoin(table1, table2,
                                 table1.c.myid == table2.c.otherid)]
-                )
-        self.assert_compile(query,
-            "SELECT mytable.myid, mytable.name, mytable.description, "
+        )
+        self.assert_compile(
+            query, "SELECT mytable.myid, mytable.name, mytable.description, "
             "myothertable.otherid, myothertable.othername "
             "FROM mytable LEFT OUTER JOIN myothertable ON mytable.myid = "
             "myothertable.otherid WHERE mytable.name = :name_1 OR "
             "mytable.myid = :myid_1 OR myothertable.othername != :othername_1 "
-            "OR EXISTS (select yay from foo where boo = lar)",
-            )
+            "OR EXISTS (select yay from foo where boo = lar)", )
 
     def test_compound_selects(self):
         assert_raises_message(
@@ -1457,42 +1501,42 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         )
 
         x = union(
-              select([table1], table1.c.myid == 5),
-              select([table1], table1.c.myid == 12),
-              order_by=[table1.c.myid],
+            select([table1], table1.c.myid == 5),
+            select([table1], table1.c.myid == 12),
+            order_by=[table1.c.myid],
         )
 
-        self.assert_compile(x,
-                    "SELECT mytable.myid, mytable.name, "
-                    "mytable.description "
-                    "FROM mytable WHERE "
-                    "mytable.myid = :myid_1 UNION "
-                    "SELECT mytable.myid, mytable.name, mytable.description "
-                    "FROM mytable WHERE mytable.myid = :myid_2 "
-                    "ORDER BY mytable.myid")
+        self.assert_compile(
+            x, "SELECT mytable.myid, mytable.name, "
+            "mytable.description "
+            "FROM mytable WHERE "
+            "mytable.myid = :myid_1 UNION "
+            "SELECT mytable.myid, mytable.name, mytable.description "
+            "FROM mytable WHERE mytable.myid = :myid_2 "
+            "ORDER BY mytable.myid")
 
         x = union(
-              select([table1]),
-              select([table1])
+            select([table1]),
+            select([table1])
         )
         x = union(x, select([table1]))
-        self.assert_compile(x,
-                "(SELECT mytable.myid, mytable.name, mytable.description "
-                "FROM mytable UNION SELECT mytable.myid, mytable.name, "
-                "mytable.description FROM mytable) UNION SELECT mytable.myid,"
-                " mytable.name, mytable.description FROM mytable")
+        self.assert_compile(
+            x, "(SELECT mytable.myid, mytable.name, mytable.description "
+            "FROM mytable UNION SELECT mytable.myid, mytable.name, "
+            "mytable.description FROM mytable) UNION SELECT mytable.myid,"
+            " mytable.name, mytable.description FROM mytable")
 
         u1 = union(
             select([table1.c.myid, table1.c.name]),
             select([table2]),
             select([table3])
         )
-        self.assert_compile(u1,
-                "SELECT mytable.myid, mytable.name "
-                "FROM mytable UNION SELECT myothertable.otherid, "
-                "myothertable.othername FROM myothertable "
-                "UNION SELECT thirdtable.userid, thirdtable.otherstuff "
-                "FROM thirdtable")
+        self.assert_compile(
+            u1, "SELECT mytable.myid, mytable.name "
+            "FROM mytable UNION SELECT myothertable.otherid, "
+            "myothertable.othername FROM myothertable "
+            "UNION SELECT thirdtable.userid, thirdtable.otherstuff "
+            "FROM thirdtable")
 
         assert u1.corresponding_column(table2.c.otherid) is u1.c.myid
 
@@ -1514,9 +1558,9 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             union(
                 select([table1.c.myid, table1.c.name,
-                            func.max(table1.c.description)],
-                            table1.c.name == 'name2',
-                            group_by=[table1.c.myid, table1.c.name]),
+                        func.max(table1.c.description)],
+                       table1.c.name == 'name2',
+                       group_by=[table1.c.myid, table1.c.name]),
                 table1.select(table1.c.name == 'name1')
             ),
             "SELECT mytable.myid, mytable.name, "
@@ -1532,8 +1576,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             union(
                 select([literal(100).label('value')]),
                 select([literal(200).label('value')])
-                ),
-                "SELECT :param_1 AS value UNION SELECT :param_2 AS value"
+            ),
+            "SELECT :param_1 AS value UNION SELECT :param_2 AS value"
         )
 
         self.assert_compile(
@@ -1550,20 +1594,21 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             "SELECT thirdtable.userid FROM thirdtable)"
         )
 
-
         s = select([column('foo'), column('bar')])
 
         # ORDER BY's even though not supported by
         # all DB's, are rendered if requested
-        self.assert_compile(union(s.order_by("foo"), s.order_by("bar")),
-            "SELECT foo, bar ORDER BY foo UNION SELECT foo, bar ORDER BY bar"
-        )
+        self.assert_compile(
+            union(
+                s.order_by("foo"),
+                s.order_by("bar")),
+            "SELECT foo, bar ORDER BY foo UNION SELECT foo, bar ORDER BY bar")
         # self_group() is honored
         self.assert_compile(
             union(s.order_by("foo").self_group(),
-                        s.order_by("bar").limit(10).self_group()),
+                  s.order_by("bar").limit(10).self_group()),
             "(SELECT foo, bar ORDER BY foo) UNION (SELECT foo, "
-                "bar ORDER BY bar LIMIT :param_1)",
+            "bar ORDER BY bar LIMIT :param_1)",
             {'param_1': 10}
 
         )
@@ -1588,7 +1633,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             union(s, union(s, union(s, s))),
             "SELECT foo, bar FROM bat UNION (SELECT foo, bar FROM bat "
             "UNION (SELECT foo, bar FROM bat "
-                "UNION SELECT foo, bar FROM bat))"
+            "UNION SELECT foo, bar FROM bat))"
         )
 
         self.assert_compile(
@@ -1601,14 +1646,14 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             select([union(s, s).alias()]),
             'SELECT anon_1.foo, anon_1.bar FROM '
             '(SELECT foo, bar FROM bat UNION '
-                'SELECT foo, bar FROM bat) AS anon_1'
+            'SELECT foo, bar FROM bat) AS anon_1'
         )
 
         self.assert_compile(
             select([except_(s, s).alias()]),
             'SELECT anon_1.foo, anon_1.bar FROM '
             '(SELECT foo, bar FROM bat EXCEPT '
-                'SELECT foo, bar FROM bat) AS anon_1'
+            'SELECT foo, bar FROM bat) AS anon_1'
         )
 
         # this query sqlite specifically chokes on
@@ -1638,7 +1683,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             ),
             "SELECT anon_1.foo, anon_1.bar FROM "
             "(SELECT foo, bar FROM bat EXCEPT "
-                "SELECT foo, bar FROM bat) AS anon_1 "
+            "SELECT foo, bar FROM bat) AS anon_1 "
             "UNION SELECT foo, bar FROM bat"
         )
 
@@ -1657,7 +1702,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                                 "UNION (SELECT foo, bar FROM bat "
                                 "UNION SELECT foo, bar FROM bat)")
 
-
         self.assert_compile(
             union(
                 intersect(s, s),
@@ -1665,137 +1709,141 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             ),
             "(SELECT foo, bar FROM bat INTERSECT SELECT foo, bar FROM bat) "
             "UNION (SELECT foo, bar FROM bat INTERSECT "
-                "SELECT foo, bar FROM bat)"
+            "SELECT foo, bar FROM bat)"
         )
 
     def test_binds(self):
         for (
-             stmt,
-             expected_named_stmt,
-             expected_positional_stmt,
-             expected_default_params_dict,
-             expected_default_params_list,
-             test_param_dict,
-             expected_test_params_dict,
-             expected_test_params_list
-             ) in [
-              (
-                  select(
-                      [table1, table2],
-                     and_(
-                         table1.c.myid == table2.c.otherid,
-                         table1.c.name == bindparam('mytablename')
-                     )),
-                     "SELECT mytable.myid, mytable.name, mytable.description, "
-                     "myothertable.otherid, myothertable.othername FROM mytable, "
-                     "myothertable WHERE mytable.myid = myothertable.otherid "
-                     "AND mytable.name = :mytablename",
-                     "SELECT mytable.myid, mytable.name, mytable.description, "
-                     "myothertable.otherid, myothertable.othername FROM mytable, "
-                     "myothertable WHERE mytable.myid = myothertable.otherid AND "
-                     "mytable.name = ?",
-                 {'mytablename':None}, [None],
-                 {'mytablename':5}, {'mytablename':5}, [5]
-             ),
-             (
-                 select([table1], or_(table1.c.myid == bindparam('myid'),
-                                        table2.c.otherid == bindparam('myid'))),
-                 "SELECT mytable.myid, mytable.name, mytable.description "
-                        "FROM mytable, myothertable WHERE mytable.myid = :myid "
-                        "OR myothertable.otherid = :myid",
-                 "SELECT mytable.myid, mytable.name, mytable.description "
-                        "FROM mytable, myothertable WHERE mytable.myid = ? "
-                        "OR myothertable.otherid = ?",
-                 {'myid': None}, [None, None],
-                 {'myid': 5}, {'myid': 5}, [5, 5]
-             ),
-             (
-                 text("SELECT mytable.myid, mytable.name, mytable.description FROM "
-                            "mytable, myothertable WHERE mytable.myid = :myid OR "
-                            "myothertable.otherid = :myid"),
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                            "mytable, myothertable WHERE mytable.myid = :myid OR "
-                            "myothertable.otherid = :myid",
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                            "mytable, myothertable WHERE mytable.myid = ? OR "
-                            "myothertable.otherid = ?",
-                 {'myid':None}, [None, None],
-                 {'myid': 5}, {'myid': 5}, [5, 5]
-             ),
-             (
-                 select([table1], or_(table1.c.myid ==
-                                    bindparam('myid', unique=True),
-                                    table2.c.otherid ==
-                                    bindparam('myid', unique=True))),
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                                "mytable, myothertable WHERE mytable.myid = "
-                                ":myid_1 OR myothertable.otherid = :myid_2",
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                                "mytable, myothertable WHERE mytable.myid = ? "
-                                "OR myothertable.otherid = ?",
-                 {'myid_1':None, 'myid_2':None}, [None, None],
-                 {'myid_1': 5, 'myid_2': 6}, {'myid_1': 5, 'myid_2': 6}, [5, 6]
-             ),
-             (
+            stmt,
+            expected_named_stmt,
+            expected_positional_stmt,
+            expected_default_params_dict,
+            expected_default_params_list,
+            test_param_dict,
+            expected_test_params_dict,
+            expected_test_params_list
+        ) in [
+            (
+                select(
+                    [table1, table2],
+                    and_(
+                        table1.c.myid == table2.c.otherid,
+                        table1.c.name == bindparam('mytablename')
+                    )),
+                "SELECT mytable.myid, mytable.name, mytable.description, "
+                "myothertable.otherid, myothertable.othername FROM mytable, "
+                "myothertable WHERE mytable.myid = myothertable.otherid "
+                "AND mytable.name = :mytablename",
+                "SELECT mytable.myid, mytable.name, mytable.description, "
+                "myothertable.otherid, myothertable.othername FROM mytable, "
+                "myothertable WHERE mytable.myid = myothertable.otherid AND "
+                "mytable.name = ?",
+                {'mytablename': None}, [None],
+                {'mytablename': 5}, {'mytablename': 5}, [5]
+            ),
+            (
+                select([table1], or_(table1.c.myid == bindparam('myid'),
+                                     table2.c.otherid == bindparam('myid'))),
+                "SELECT mytable.myid, mytable.name, mytable.description "
+                "FROM mytable, myothertable WHERE mytable.myid = :myid "
+                "OR myothertable.otherid = :myid",
+                "SELECT mytable.myid, mytable.name, mytable.description "
+                "FROM mytable, myothertable WHERE mytable.myid = ? "
+                "OR myothertable.otherid = ?",
+                {'myid': None}, [None, None],
+                {'myid': 5}, {'myid': 5}, [5, 5]
+            ),
+            (
+                text("SELECT mytable.myid, mytable.name, "
+                     "mytable.description FROM "
+                     "mytable, myothertable WHERE mytable.myid = :myid OR "
+                     "myothertable.otherid = :myid"),
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = :myid OR "
+                "myothertable.otherid = :myid",
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = ? OR "
+                "myothertable.otherid = ?",
+                {'myid': None}, [None, None],
+                {'myid': 5}, {'myid': 5}, [5, 5]
+            ),
+            (
+                select([table1], or_(table1.c.myid ==
+                                     bindparam('myid', unique=True),
+                                     table2.c.otherid ==
+                                     bindparam('myid', unique=True))),
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = "
+                ":myid_1 OR myothertable.otherid = :myid_2",
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = ? "
+                "OR myothertable.otherid = ?",
+                {'myid_1': None, 'myid_2': None}, [None, None],
+                {'myid_1': 5, 'myid_2': 6}, {'myid_1': 5, 'myid_2': 6}, [5, 6]
+            ),
+            (
                 bindparam('test', type_=String, required=False) + text("'hi'"),
                 ":test || 'hi'",
                 "? || 'hi'",
-                {'test':None}, [None],
-                {}, {'test':None}, [None]
-             ),
-             (
+                {'test': None}, [None],
+                {}, {'test': None}, [None]
+            ),
+            (
                 # testing select.params() here - bindparam() objects
                 # must get required flag set to False
-                 select([table1], or_(table1.c.myid == bindparam('myid'),
-                                    table2.c.otherid == bindparam('myotherid'))).\
-                                        params({'myid':8, 'myotherid':7}),
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                                    "mytable, myothertable WHERE mytable.myid = "
-                                    ":myid OR myothertable.otherid = :myotherid",
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                                    "mytable, myothertable WHERE mytable.myid = "
-                                    "? OR myothertable.otherid = ?",
-                 {'myid': 8, 'myotherid': 7}, [8, 7],
-                 {'myid': 5}, {'myid': 5, 'myotherid': 7}, [5, 7]
-             ),
-             (
-                 select([table1], or_(table1.c.myid ==
-                                    bindparam('myid', value=7, unique=True),
-                                    table2.c.otherid ==
-                                    bindparam('myid', value=8, unique=True))),
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                                    "mytable, myothertable WHERE mytable.myid = "
-                                    ":myid_1 OR myothertable.otherid = :myid_2",
-                 "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                                    "mytable, myothertable WHERE mytable.myid = "
-                                    "? OR myothertable.otherid = ?",
-                 {'myid_1': 7, 'myid_2': 8}, [7, 8],
-                 {'myid_1': 5, 'myid_2': 6}, {'myid_1': 5, 'myid_2': 6}, [5, 6]
-             ),
-             ]:
-
-                self.assert_compile(stmt, expected_named_stmt,
-                            params=expected_default_params_dict)
-                self.assert_compile(stmt, expected_positional_stmt,
-                            dialect=sqlite.dialect())
-                nonpositional = stmt.compile()
-                positional = stmt.compile(dialect=sqlite.dialect())
-                pp = positional.params
-                eq_([pp[k] for k in positional.positiontup],
-                                    expected_default_params_list)
-
-                eq_(nonpositional.construct_params(test_param_dict),
-                                    expected_test_params_dict)
-                pp = positional.construct_params(test_param_dict)
-                eq_(
-                        [pp[k] for k in positional.positiontup],
-                        expected_test_params_list
-                )
+                select(
+                    [table1],
+                    or_(
+                        table1.c.myid == bindparam('myid'),
+                        table2.c.otherid == bindparam('myotherid')
+                    )).params({'myid': 8, 'myotherid': 7}),
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = "
+                ":myid OR myothertable.otherid = :myotherid",
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = "
+                "? OR myothertable.otherid = ?",
+                {'myid': 8, 'myotherid': 7}, [8, 7],
+                {'myid': 5}, {'myid': 5, 'myotherid': 7}, [5, 7]
+            ),
+            (
+                select([table1], or_(table1.c.myid ==
+                                     bindparam('myid', value=7, unique=True),
+                                     table2.c.otherid ==
+                                     bindparam('myid', value=8, unique=True))),
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = "
+                ":myid_1 OR myothertable.otherid = :myid_2",
+                "SELECT mytable.myid, mytable.name, mytable.description FROM "
+                "mytable, myothertable WHERE mytable.myid = "
+                "? OR myothertable.otherid = ?",
+                {'myid_1': 7, 'myid_2': 8}, [7, 8],
+                {'myid_1': 5, 'myid_2': 6}, {'myid_1': 5, 'myid_2': 6}, [5, 6]
+            ),
+        ]:
+
+            self.assert_compile(stmt, expected_named_stmt,
+                                params=expected_default_params_dict)
+            self.assert_compile(stmt, expected_positional_stmt,
+                                dialect=sqlite.dialect())
+            nonpositional = stmt.compile()
+            positional = stmt.compile(dialect=sqlite.dialect())
+            pp = positional.params
+            eq_([pp[k] for k in positional.positiontup],
+                expected_default_params_list)
+
+            eq_(nonpositional.construct_params(test_param_dict),
+                expected_test_params_dict)
+            pp = positional.construct_params(test_param_dict)
+            eq_(
+                [pp[k] for k in positional.positiontup],
+                expected_test_params_list
+            )
 
         # check that params() doesn't modify original statement
         s = select([table1], or_(table1.c.myid == bindparam('myid'),
-                                    table2.c.otherid ==
-                                        bindparam('myotherid')))
+                                 table2.c.otherid ==
+                                 bindparam('myotherid')))
         s2 = s.params({'myid': 8, 'myotherid': 7})
         s3 = s2.params({'myid': 9})
         assert s.compile().params == {'myid': None, 'myotherid': None}
@@ -1805,9 +1853,9 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         # test using same 'unique' param object twice in one compile
         s = select([table1.c.myid]).where(table1.c.myid == 12).as_scalar()
         s2 = select([table1, s], table1.c.myid == s)
-        self.assert_compile(s2,
-            "SELECT mytable.myid, mytable.name, mytable.description, "
-            "(SELECT mytable.myid FROM mytable WHERE mytable.myid = "\
+        self.assert_compile(
+            s2, "SELECT mytable.myid, mytable.name, mytable.description, "
+            "(SELECT mytable.myid FROM mytable WHERE mytable.myid = "
             ":myid_1) AS anon_1 FROM mytable WHERE mytable.myid = "
             "(SELECT mytable.myid FROM mytable WHERE mytable.myid = :myid_1)")
         positional = s2.compile(dialect=sqlite.dialect())
@@ -1817,18 +1865,18 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         # check that conflicts with "unique" params are caught
         s = select([table1], or_(table1.c.myid == 7,
-                                        table1.c.myid == bindparam('myid_1')))
+                                 table1.c.myid == bindparam('myid_1')))
         assert_raises_message(exc.CompileError,
-                                "conflicts with unique bind parameter "
-                                "of the same name",
-                                str, s)
+                              "conflicts with unique bind parameter "
+                              "of the same name",
+                              str, s)
 
         s = select([table1], or_(table1.c.myid == 7, table1.c.myid == 8,
-                                        table1.c.myid == bindparam('myid_1')))
+                                 table1.c.myid == bindparam('myid_1')))
         assert_raises_message(exc.CompileError,
-                                "conflicts with unique bind parameter "
-                                "of the same name",
-                                str, s)
+                              "conflicts with unique bind parameter "
+                              "of the same name",
+                              str, s)
 
     def _test_binds_no_hash_collision(self):
         """test that construct_params doesn't corrupt dict
@@ -1845,7 +1893,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         eq_(len(set(pp)), total_params, '%s %s' % (len(set(pp)), len(pp)))
         eq_(len(set(pp.values())), total_params)
 
-
     def test_bind_as_col(self):
         t = table('foo', column('id'))
 
@@ -1863,74 +1910,76 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         )
 
     def test_bind_params_missing(self):
-        assert_raises_message(exc.InvalidRequestError,
+        assert_raises_message(
+            exc.InvalidRequestError,
             r"A value is required for bind parameter 'x'",
-            select([table1]).where(
-                    and_(
-                        table1.c.myid == bindparam("x", required=True),
-                        table1.c.name == bindparam("y", required=True)
-                    )
-                ).compile().construct_params,
+            select(
+                [table1]).where(
+                and_(
+                    table1.c.myid == bindparam("x", required=True),
+                    table1.c.name == bindparam("y", required=True)
+                )
+            ).compile().construct_params,
             params=dict(y=5)
         )
 
-        assert_raises_message(exc.InvalidRequestError,
+        assert_raises_message(
+            exc.InvalidRequestError,
             r"A value is required for bind parameter 'x'",
-            select([table1]).where(
-                    table1.c.myid == bindparam("x", required=True)
-                ).compile().construct_params
-        )
+            select(
+                [table1]).where(
+                table1.c.myid == bindparam(
+                    "x",
+                    required=True)).compile().construct_params)
 
-        assert_raises_message(exc.InvalidRequestError,
+        assert_raises_message(
+            exc.InvalidRequestError,
             r"A value is required for bind parameter 'x', "
-                "in parameter group 2",
-            select([table1]).where(
-                    and_(
-                        table1.c.myid == bindparam("x", required=True),
-                        table1.c.name == bindparam("y", required=True)
-                    )
-                ).compile().construct_params,
-            params=dict(y=5),
-            _group_number=2
-        )
+            "in parameter group 2",
+            select(
+                [table1]).where(
+                and_(
+                    table1.c.myid == bindparam("x", required=True),
+                    table1.c.name == bindparam("y", required=True)
+                )
+            ).compile().construct_params,
+            params=dict(y=5), _group_number=2)
 
-        assert_raises_message(exc.InvalidRequestError,
+        assert_raises_message(
+            exc.InvalidRequestError,
             r"A value is required for bind parameter 'x', "
-                "in parameter group 2",
-            select([table1]).where(
-                    table1.c.myid == bindparam("x", required=True)
-                ).compile().construct_params,
-            _group_number=2
-        )
-
-
-
+            "in parameter group 2",
+            select(
+                [table1]).where(
+                table1.c.myid == bindparam(
+                    "x",
+                    required=True)).compile().construct_params,
+            _group_number=2)
 
     def test_tuple(self):
         self.assert_compile(
             tuple_(table1.c.myid, table1.c.name).in_(
-                    [(1, 'foo'), (5, 'bar')]),
+                [(1, 'foo'), (5, 'bar')]),
             "(mytable.myid, mytable.name) IN "
             "((:param_1, :param_2), (:param_3, :param_4))"
         )
 
         self.assert_compile(
             tuple_(table1.c.myid, table1.c.name).in_(
-                        [tuple_(table2.c.otherid, table2.c.othername)]
-                    ),
+                [tuple_(table2.c.otherid, table2.c.othername)]
+            ),
             "(mytable.myid, mytable.name) IN "
             "((myothertable.otherid, myothertable.othername))"
         )
 
         self.assert_compile(
             tuple_(table1.c.myid, table1.c.name).in_(
-                        select([table2.c.otherid, table2.c.othername])
-                    ),
+                select([table2.c.otherid, table2.c.othername])
+            ),
             "(mytable.myid, mytable.name) IN (SELECT "
             "myothertable.otherid, myothertable.othername FROM myothertable)"
         )
 
-
     def test_cast(self):
         tbl = table('casttest',
                     column('id', Integer),
@@ -1941,47 +1990,54 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         def check_results(dialect, expected_results, literal):
             eq_(len(expected_results), 5,
-                            'Incorrect number of expected results')
+                'Incorrect number of expected results')
             eq_(str(cast(tbl.c.v1, Numeric).compile(dialect=dialect)),
-                            'CAST(casttest.v1 AS %s)' % expected_results[0])
+                'CAST(casttest.v1 AS %s)' % expected_results[0])
             eq_(str(cast(tbl.c.v1, Numeric(12, 9)).compile(dialect=dialect)),
-                            'CAST(casttest.v1 AS %s)' % expected_results[1])
+                'CAST(casttest.v1 AS %s)' % expected_results[1])
             eq_(str(cast(tbl.c.ts, Date).compile(dialect=dialect)),
-                            'CAST(casttest.ts AS %s)' % expected_results[2])
+                'CAST(casttest.ts AS %s)' % expected_results[2])
             eq_(str(cast(1234, Text).compile(dialect=dialect)),
-                            'CAST(%s AS %s)' % (literal, expected_results[3]))
+                'CAST(%s AS %s)' % (literal, expected_results[3]))
             eq_(str(cast('test', String(20)).compile(dialect=dialect)),
-                            'CAST(%s AS %s)' % (literal, expected_results[4]))
+                'CAST(%s AS %s)' % (literal, expected_results[4]))
 
             # fixme: shoving all of this dialect-specific stuff in one test
             # is now officialy completely ridiculous AND non-obviously omits
             # coverage on other dialects.
-            sel = select([tbl, cast(tbl.c.v1, Numeric)]).compile(dialect=dialect)
+            sel = select([tbl, cast(tbl.c.v1, Numeric)]).compile(
+                dialect=dialect)
             if isinstance(dialect, type(mysql.dialect())):
                 eq_(str(sel),
-                "SELECT casttest.id, casttest.v1, casttest.v2, casttest.ts, "
-                "CAST(casttest.v1 AS DECIMAL) AS anon_1 \nFROM casttest")
+                    "SELECT casttest.id, casttest.v1, casttest.v2, "
+                    "casttest.ts, "
+                    "CAST(casttest.v1 AS DECIMAL) AS anon_1 \nFROM casttest")
             else:
                 eq_(str(sel),
-                        "SELECT casttest.id, casttest.v1, casttest.v2, "
-                        "casttest.ts, CAST(casttest.v1 AS NUMERIC) AS "
-                        "anon_1 \nFROM casttest")
+                    "SELECT casttest.id, casttest.v1, casttest.v2, "
+                    "casttest.ts, CAST(casttest.v1 AS NUMERIC) AS "
+                    "anon_1 \nFROM casttest")
 
         # first test with PostgreSQL engine
-        check_results(postgresql.dialect(), ['NUMERIC', 'NUMERIC(12, 9)',
-                       'DATE', 'TEXT', 'VARCHAR(20)'], '%(param_1)s')
+        check_results(
+            postgresql.dialect(), [
+                'NUMERIC', 'NUMERIC(12, 9)', 'DATE', 'TEXT', 'VARCHAR(20)'],
+            '%(param_1)s')
 
         # then the Oracle engine
-        check_results(oracle.dialect(), ['NUMERIC', 'NUMERIC(12, 9)',
-                      'DATE', 'CLOB', 'VARCHAR2(20 CHAR)'], ':param_1')
+        check_results(
+            oracle.dialect(), [
+                'NUMERIC', 'NUMERIC(12, 9)', 'DATE',
+                'CLOB', 'VARCHAR2(20 CHAR)'],
+            ':param_1')
 
         # then the sqlite engine
         check_results(sqlite.dialect(), ['NUMERIC', 'NUMERIC(12, 9)',
-                      'DATE', 'TEXT', 'VARCHAR(20)'], '?')
+                                         'DATE', 'TEXT', 'VARCHAR(20)'], '?')
 
         # then the MySQL engine
         check_results(mysql.dialect(), ['DECIMAL', 'DECIMAL(12, 9)',
-                      'DATE', 'CHAR', 'CHAR(20)'], '%s')
+                                        'DATE', 'CHAR', 'CHAR(20)'], '%s')
 
         self.assert_compile(cast(text('NULL'), Integer),
                             'CAST(NULL AS INTEGER)',
@@ -2108,25 +2164,23 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             "SELECT x + foo() OVER () AS anon_1"
         )
 
-
     def test_date_between(self):
         import datetime
         table = Table('dt', metadata,
-            Column('date', Date))
+                      Column('date', Date))
         self.assert_compile(
             table.select(table.c.date.between(datetime.date(2006, 6, 1),
-                                            datetime.date(2006, 6, 5))),
+                                              datetime.date(2006, 6, 5))),
             "SELECT dt.date FROM dt WHERE dt.date BETWEEN :date_1 AND :date_2",
             checkparams={'date_1': datetime.date(2006, 6, 1),
-                            'date_2': datetime.date(2006, 6, 5)})
+                         'date_2': datetime.date(2006, 6, 5)})
 
         self.assert_compile(
             table.select(sql.between(table.c.date, datetime.date(2006, 6, 1),
-                                        datetime.date(2006, 6, 5))),
+                                     datetime.date(2006, 6, 5))),
             "SELECT dt.date FROM dt WHERE dt.date BETWEEN :date_1 AND :date_2",
             checkparams={'date_1': datetime.date(2006, 6, 1),
-                            'date_2': datetime.date(2006, 6, 5)})
-
+                         'date_2': datetime.date(2006, 6, 5)})
 
     def test_delayed_col_naming(self):
         my_str = Column(String)
@@ -2179,8 +2233,8 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         f1 = func.hoho(table1.c.name)
         s1 = select([table1.c.myid, table1.c.myid.label('foobar'),
-                    f1,
-                    func.lala(table1.c.name).label('gg')])
+                     f1,
+                     func.lala(table1.c.name).label('gg')])
 
         eq_(
             list(s1.c.keys()),
@@ -2196,12 +2250,12 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             cast(table1.c.name, Numeric),
             literal('x'),
         )
-        for col, key, expr, label in (
+        for col, key, expr, lbl in (
             (table1.c.name, 'name', 'mytable.name', None),
             (exprs[0], str(exprs[0]), 'mytable.myid = :myid_1', 'anon_1'),
             (exprs[1], str(exprs[1]), 'hoho(mytable.myid)', 'hoho_1'),
             (exprs[2], str(exprs[2]),
-                        'CAST(mytable.name AS NUMERIC)', 'anon_1'),
+             'CAST(mytable.name AS NUMERIC)', 'anon_1'),
             (t1.c.col1, 'col1', 'mytable.col1', None),
             (column('some wacky thing'), 'some wacky thing',
                 '"some wacky thing"', ''),
@@ -2215,26 +2269,27 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
             s1 = select([col], from_obj=t)
             assert list(s1.c.keys()) == [key], list(s1.c.keys())
 
-            if label:
-                self.assert_compile(s1,
-                        "SELECT %s AS %s FROM mytable" % (expr, label))
+            if lbl:
+                self.assert_compile(
+                    s1, "SELECT %s AS %s FROM mytable" %
+                    (expr, lbl))
             else:
                 self.assert_compile(s1, "SELECT %s FROM mytable" % (expr,))
 
             s1 = select([s1])
-            if label:
-                self.assert_compile(s1,
-                            "SELECT %s FROM (SELECT %s AS %s FROM mytable)" %
-                            (label, expr, label))
+            if lbl:
+                self.assert_compile(
+                    s1, "SELECT %s FROM (SELECT %s AS %s FROM mytable)" %
+                    (lbl, expr, lbl))
             elif col.table is not None:
                 # sqlite rule labels subquery columns
-                self.assert_compile(s1,
-                            "SELECT %s FROM (SELECT %s AS %s FROM mytable)" %
-                            (key, expr, key))
+                self.assert_compile(
+                    s1, "SELECT %s FROM (SELECT %s AS %s FROM mytable)" %
+                    (key, expr, key))
             else:
                 self.assert_compile(s1,
-                            "SELECT %s FROM (SELECT %s FROM mytable)" %
-                            (expr, expr))
+                                    "SELECT %s FROM (SELECT %s FROM mytable)" %
+                                    (expr, expr))
 
     def test_hints(self):
         s = select([table1.c.myid]).with_hint(table1, "test hint %(name)s")
@@ -2248,88 +2303,90 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
         subs4 = select([
             table1, table2
-        ]).select_from(table1.join(table2, table1.c.myid == table2.c.otherid)).\
+        ]).select_from(
+            table1.join(table2, table1.c.myid == table2.c.otherid)).\
             with_hint(table1, 'hint1')
 
         s4 = select([table3]).select_from(
-                        table3.join(
-                                subs4,
-                                subs4.c.othername == table3.c.otherstuff
-                            )
-                    ).\
-                    with_hint(table3, 'hint3')
-
+            table3.join(
+                subs4,
+                subs4.c.othername == table3.c.otherstuff
+            )
+        ).\
+            with_hint(table3, 'hint3')
 
         t1 = table('QuotedName', column('col1'))
         s6 = select([t1.c.col1]).where(t1.c.col1 > 10).\
-                    with_hint(t1, '%(name)s idx1')
+            with_hint(t1, '%(name)s idx1')
         a2 = t1.alias('SomeName')
         s7 = select([a2.c.col1]).where(a2.c.col1 > 10).\
-                    with_hint(a2, '%(name)s idx1')
+            with_hint(a2, '%(name)s idx1')
 
         mysql_d, oracle_d, sybase_d = \
-                            mysql.dialect(), \
-                            oracle.dialect(), \
-                            sybase.dialect()
+            mysql.dialect(), \
+            oracle.dialect(), \
+            sybase.dialect()
 
         for stmt, dialect, expected in [
-          (s, mysql_d,
-            "SELECT mytable.myid FROM mytable test hint mytable"),
-          (s, oracle_d,
-            "SELECT /*+ test hint mytable */ mytable.myid FROM mytable"),
-          (s, sybase_d,
-            "SELECT mytable.myid FROM mytable test hint mytable"),
-          (s2, mysql_d,
-            "SELECT mytable.myid FROM mytable"),
-          (s2, oracle_d,
-            "SELECT /*+ index(mytable idx) */ mytable.myid FROM mytable"),
-          (s2, sybase_d,
-            "SELECT mytable.myid FROM mytable WITH HINT INDEX idx"),
-          (s3, mysql_d,
-            "SELECT mytable_1.myid FROM mytable AS mytable_1 "
-            "index(mytable_1 hint)"),
-          (s3, oracle_d,
-            "SELECT /*+ index(mytable_1 hint) */ mytable_1.myid FROM "
-            "mytable mytable_1"),
-          (s3, sybase_d,
-            "SELECT mytable_1.myid FROM mytable AS mytable_1 "
-            "index(mytable_1 hint)"),
-          (s4, mysql_d,
-            "SELECT thirdtable.userid, thirdtable.otherstuff FROM thirdtable "
-            "hint3 INNER JOIN (SELECT mytable.myid, mytable.name, "
-            "mytable.description, myothertable.otherid, "
-            "myothertable.othername FROM mytable hint1 INNER "
-            "JOIN myothertable ON mytable.myid = myothertable.otherid) "
-            "ON othername = thirdtable.otherstuff"),
-          (s4, sybase_d,
-            "SELECT thirdtable.userid, thirdtable.otherstuff FROM thirdtable "
-            "hint3 JOIN (SELECT mytable.myid, mytable.name, "
-            "mytable.description, myothertable.otherid, "
-            "myothertable.othername FROM mytable hint1 "
-            "JOIN myothertable ON mytable.myid = myothertable.otherid) "
-            "ON othername = thirdtable.otherstuff"),
-          (s4, oracle_d,
-            "SELECT /*+ hint3 */ thirdtable.userid, thirdtable.otherstuff "
-            "FROM thirdtable JOIN (SELECT /*+ hint1 */ mytable.myid,"
-            " mytable.name, mytable.description, myothertable.otherid,"
-            " myothertable.othername FROM mytable JOIN myothertable ON"
-            " mytable.myid = myothertable.otherid) ON othername ="
-            " thirdtable.otherstuff"),
-# TODO: figure out dictionary ordering solution here
-#            (s5, oracle_d,
-#              "SELECT /*+ hint3 */ /*+ hint1 */ thirdtable.userid, "
-#              "thirdtable.otherstuff "
-#              "FROM thirdtable JOIN (SELECT mytable.myid,"
-#              " mytable.name, mytable.description, myothertable.otherid,"
-#              " myothertable.othername FROM mytable JOIN myothertable ON"
-#              " mytable.myid = myothertable.otherid) ON othername ="
-#              " thirdtable.otherstuff"),
-             (s6, oracle_d,
+            (s, mysql_d,
+             "SELECT mytable.myid FROM mytable test hint mytable"),
+            (s, oracle_d,
+                "SELECT /*+ test hint mytable */ mytable.myid FROM mytable"),
+            (s, sybase_d,
+                "SELECT mytable.myid FROM mytable test hint mytable"),
+            (s2, mysql_d,
+                "SELECT mytable.myid FROM mytable"),
+            (s2, oracle_d,
+                "SELECT /*+ index(mytable idx) */ mytable.myid FROM mytable"),
+            (s2, sybase_d,
+                "SELECT mytable.myid FROM mytable WITH HINT INDEX idx"),
+            (s3, mysql_d,
+                "SELECT mytable_1.myid FROM mytable AS mytable_1 "
+                "index(mytable_1 hint)"),
+            (s3, oracle_d,
+                "SELECT /*+ index(mytable_1 hint) */ mytable_1.myid FROM "
+                "mytable mytable_1"),
+            (s3, sybase_d,
+                "SELECT mytable_1.myid FROM mytable AS mytable_1 "
+                "index(mytable_1 hint)"),
+            (s4, mysql_d,
+                "SELECT thirdtable.userid, thirdtable.otherstuff "
+                "FROM thirdtable "
+                "hint3 INNER JOIN (SELECT mytable.myid, mytable.name, "
+                "mytable.description, myothertable.otherid, "
+                "myothertable.othername FROM mytable hint1 INNER "
+                "JOIN myothertable ON mytable.myid = myothertable.otherid) "
+                "ON othername = thirdtable.otherstuff"),
+            (s4, sybase_d,
+                "SELECT thirdtable.userid, thirdtable.otherstuff "
+                "FROM thirdtable "
+                "hint3 JOIN (SELECT mytable.myid, mytable.name, "
+                "mytable.description, myothertable.otherid, "
+                "myothertable.othername FROM mytable hint1 "
+                "JOIN myothertable ON mytable.myid = myothertable.otherid) "
+                "ON othername = thirdtable.otherstuff"),
+            (s4, oracle_d,
+                "SELECT /*+ hint3 */ thirdtable.userid, thirdtable.otherstuff "
+                "FROM thirdtable JOIN (SELECT /*+ hint1 */ mytable.myid,"
+                " mytable.name, mytable.description, myothertable.otherid,"
+                " myothertable.othername FROM mytable JOIN myothertable ON"
+                " mytable.myid = myothertable.otherid) ON othername ="
+                " thirdtable.otherstuff"),
+            # TODO: figure out dictionary ordering solution here
+            #  (s5, oracle_d,
+            #  "SELECT /*+ hint3 */ /*+ hint1 */ thirdtable.userid, "
+            #  "thirdtable.otherstuff "
+            #  "FROM thirdtable JOIN (SELECT mytable.myid,"
+            #  " mytable.name, mytable.description, myothertable.otherid,"
+            #  " myothertable.othername FROM mytable JOIN myothertable ON"
+            #  " mytable.myid = myothertable.otherid) ON othername ="
+            #  " thirdtable.otherstuff"),
+            (s6, oracle_d,
                 """SELECT /*+ "QuotedName" idx1 */ "QuotedName".col1 """
                 """FROM "QuotedName" WHERE "QuotedName".col1 > :col1_1"""),
-             (s7, oracle_d,
-                 """SELECT /*+ SomeName idx1 */ "SomeName".col1 FROM """
-                 """"QuotedName" "SomeName" WHERE "SomeName".col1 > :col1_1"""),
+            (s7, oracle_d,
+             """SELECT /*+ SomeName idx1 */ "SomeName".col1 FROM """
+             """"QuotedName" "SomeName" WHERE "SomeName".col1 > :col1_1"""),
         ]:
             self.assert_compile(
                 stmt,
@@ -2345,13 +2402,15 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_literal_as_text_nonstring_raise(self):
         assert_raises(exc.ArgumentError,
-            and_, ("a",), ("b",)
-        )
+                      and_, ("a",), ("b",)
+                      )
 
 
 class UnsupportedTest(fixtures.TestBase):
+
     def test_unsupported_element_str_visit_name(self):
         from sqlalchemy.sql.expression import ClauseElement
+
         class SomeElement(ClauseElement):
             __visit_name__ = 'some_element'
 
@@ -2364,7 +2423,9 @@ class UnsupportedTest(fixtures.TestBase):
 
     def test_unsupported_element_meth_visit_name(self):
         from sqlalchemy.sql.expression import ClauseElement
+
         class SomeElement(ClauseElement):
+
             @classmethod
             def __visit_name__(cls):
                 return "some_element"
@@ -2378,6 +2439,7 @@ class UnsupportedTest(fixtures.TestBase):
 
     def test_unsupported_operator(self):
         from sqlalchemy.sql.expression import BinaryExpression
+
         def myop(x, y):
             pass
         binary = BinaryExpression(column("foo"), column("bar"), myop)
@@ -2394,6 +2456,7 @@ class KwargPropagationTest(fixtures.TestBase):
     @classmethod
     def setup_class(cls):
         from sqlalchemy.sql.expression import ColumnClause, TableClause
+
         class CatchCol(ColumnClause):
             pass
 
@@ -2417,15 +2480,15 @@ class KwargPropagationTest(fixtures.TestBase):
     def _do_test(self, element):
         d = default.DefaultDialect()
         d.statement_compiler(d, element,
-                        compile_kwargs={"canary": True})
+                             compile_kwargs={"canary": True})
 
     def test_binary(self):
         self._do_test(self.column == 5)
 
     def test_select(self):
         s = select([self.column]).select_from(self.table).\
-                where(self.column == self.criterion).\
-                order_by(self.column)
+            where(self.column == self.criterion).\
+            order_by(self.column)
         self._do_test(s)
 
     def test_case(self):
@@ -2440,77 +2503,81 @@ class KwargPropagationTest(fixtures.TestBase):
 class CRUDTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
-
     def test_correlated_update(self):
         # test against a straight text subquery
-        u = update(table1, values={
-                    table1.c.name:
-                    text("(select name from mytable where id=mytable.id)")})
-        self.assert_compile(u,
-                    "UPDATE mytable SET name=(select name from mytable "
-                    "where id=mytable.id)")
+        u = update(
+            table1,
+            values={
+                table1.c.name:
+                text("(select name from mytable where id=mytable.id)")
+            }
+        )
+        self.assert_compile(
+            u,
+            "UPDATE mytable SET name=(select name from mytable "
+            "where id=mytable.id)")
 
         mt = table1.alias()
         u = update(table1, values={
-                                table1.c.name:
-                                select([mt.c.name], mt.c.myid == table1.c.myid)
-                            })
-        self.assert_compile(u,
-                    "UPDATE mytable SET name=(SELECT mytable_1.name FROM "
-                    "mytable AS mytable_1 WHERE "
-                    "mytable_1.myid = mytable.myid)")
+            table1.c.name:
+            select([mt.c.name], mt.c.myid == table1.c.myid)
+        })
+        self.assert_compile(
+            u, "UPDATE mytable SET name=(SELECT mytable_1.name FROM "
+            "mytable AS mytable_1 WHERE "
+            "mytable_1.myid = mytable.myid)")
 
         # test against a regular constructed subquery
         s = select([table2], table2.c.otherid == table1.c.myid)
         u = update(table1, table1.c.name == 'jack', values={table1.c.name: s})
-        self.assert_compile(u,
-                    "UPDATE mytable SET name=(SELECT myothertable.otherid, "
-                    "myothertable.othername FROM myothertable WHERE "
-                    "myothertable.otherid = mytable.myid) "
-                    "WHERE mytable.name = :name_1")
+        self.assert_compile(
+            u, "UPDATE mytable SET name=(SELECT myothertable.otherid, "
+            "myothertable.othername FROM myothertable WHERE "
+            "myothertable.otherid = mytable.myid) "
+            "WHERE mytable.name = :name_1")
 
         # test a non-correlated WHERE clause
         s = select([table2.c.othername], table2.c.otherid == 7)
         u = update(table1, table1.c.name == s)
         self.assert_compile(u,
-                    "UPDATE mytable SET myid=:myid, name=:name, "
-                    "description=:description WHERE mytable.name = "
-                    "(SELECT myothertable.othername FROM myothertable "
-                    "WHERE myothertable.otherid = :otherid_1)")
+                            "UPDATE mytable SET myid=:myid, name=:name, "
+                            "description=:description WHERE mytable.name = "
+                            "(SELECT myothertable.othername FROM myothertable "
+                            "WHERE myothertable.otherid = :otherid_1)")
 
         # test one that is actually correlated...
         s = select([table2.c.othername], table2.c.otherid == table1.c.myid)
         u = table1.update(table1.c.name == s)
         self.assert_compile(u,
-                "UPDATE mytable SET myid=:myid, name=:name, "
-                "description=:description WHERE mytable.name = "
-                "(SELECT myothertable.othername FROM myothertable "
-                "WHERE myothertable.otherid = mytable.myid)")
+                            "UPDATE mytable SET myid=:myid, name=:name, "
+                            "description=:description WHERE mytable.name = "
+                            "(SELECT myothertable.othername FROM myothertable "
+                            "WHERE myothertable.otherid = mytable.myid)")
 
         # test correlated FROM implicit in WHERE and SET clauses
         u = table1.update().values(name=table2.c.othername)\
                   .where(table2.c.otherid == table1.c.myid)
-        self.assert_compile(u,
-                "UPDATE mytable SET name=myothertable.othername "
-                "FROM myothertable WHERE myothertable.otherid = mytable.myid")
+        self.assert_compile(
+            u, "UPDATE mytable SET name=myothertable.othername "
+            "FROM myothertable WHERE myothertable.otherid = mytable.myid")
         u = table1.update().values(name='foo')\
                   .where(table2.c.otherid == table1.c.myid)
-        self.assert_compile(u,
-                "UPDATE mytable SET name=:name "
-                "FROM myothertable WHERE myothertable.otherid = mytable.myid")
+        self.assert_compile(
+            u, "UPDATE mytable SET name=:name "
+            "FROM myothertable WHERE myothertable.otherid = mytable.myid")
 
         self.assert_compile(u,
-                "UPDATE mytable SET name=:name "
-                "FROM mytable, myothertable WHERE "
-                "myothertable.otherid = mytable.myid",
-                dialect=mssql.dialect())
+                            "UPDATE mytable SET name=:name "
+                            "FROM mytable, myothertable WHERE "
+                            "myothertable.otherid = mytable.myid",
+                            dialect=mssql.dialect())
 
         self.assert_compile(u.where(table2.c.othername == mt.c.name),
-                "UPDATE mytable SET name=:name "
-                "FROM mytable, myothertable, mytable AS mytable_1 "
-                "WHERE myothertable.otherid = mytable.myid "
-                "AND myothertable.othername = mytable_1.name",
-                dialect=mssql.dialect())
+                            "UPDATE mytable SET name=:name "
+                            "FROM mytable, myothertable, mytable AS mytable_1 "
+                            "WHERE myothertable.otherid = mytable.myid "
+                            "AND myothertable.othername = mytable_1.name",
+                            dialect=mssql.dialect())
 
     def test_binds_that_match_columns(self):
         """test bind params named after column names
@@ -2527,29 +2594,44 @@ class CRUDTest(fixtures.TestBase, AssertsCompiledSQL):
         assert_raises(exc.CompileError, u.values(x=7).compile)
 
         self.assert_compile(u.values(y=7),
-                        "UPDATE foo SET y=:y WHERE foo.x = :x")
+                            "UPDATE foo SET y=:y WHERE foo.x = :x")
 
         assert_raises(exc.CompileError,
-                        u.values(x=7).compile, column_keys=['x', 'y'])
+                      u.values(x=7).compile, column_keys=['x', 'y'])
         assert_raises(exc.CompileError, u.compile, column_keys=['x', 'y'])
 
-        self.assert_compile(u.values(x=3 + bindparam('x')),
-                        "UPDATE foo SET x=(:param_1 + :x) WHERE foo.x = :x")
+        self.assert_compile(
+            u.values(
+                x=3 +
+                bindparam('x')),
+            "UPDATE foo SET x=(:param_1 + :x) WHERE foo.x = :x")
 
-        self.assert_compile(u.values(x=3 + bindparam('x')),
-                        "UPDATE foo SET x=(:param_1 + :x) WHERE foo.x = :x",
-                        params={'x': 1})
+        self.assert_compile(
+            u.values(
+                x=3 +
+                bindparam('x')),
+            "UPDATE foo SET x=(:param_1 + :x) WHERE foo.x = :x",
+            params={
+                'x': 1})
 
-        self.assert_compile(u.values(x=3 + bindparam('x')),
-                    "UPDATE foo SET x=(:param_1 + :x), y=:y WHERE foo.x = :x",
-                    params={'x': 1, 'y': 2})
+        self.assert_compile(
+            u.values(
+                x=3 +
+                bindparam('x')),
+            "UPDATE foo SET x=(:param_1 + :x), y=:y WHERE foo.x = :x",
+            params={
+                'x': 1,
+                'y': 2})
 
         i = t.insert().values(x=3 + bindparam('x'))
         self.assert_compile(i,
-                        "INSERT INTO foo (x) VALUES ((:param_1 + :x))")
-        self.assert_compile(i,
-                        "INSERT INTO foo (x, y) VALUES ((:param_1 + :x), :y)",
-                        params={'x': 1, 'y': 2})
+                            "INSERT INTO foo (x) VALUES ((:param_1 + :x))")
+        self.assert_compile(
+            i,
+            "INSERT INTO foo (x, y) VALUES ((:param_1 + :x), :y)",
+            params={
+                'x': 1,
+                'y': 2})
 
         i = t.insert().values(x=bindparam('y'))
         self.assert_compile(i, "INSERT INTO foo (x) VALUES (:y)")
@@ -2562,15 +2644,23 @@ class CRUDTest(fixtures.TestBase, AssertsCompiledSQL):
 
         i = t.insert().values(x=3 + bindparam('x2'))
         self.assert_compile(i,
-                "INSERT INTO foo (x) VALUES ((:param_1 + :x2))")
-        self.assert_compile(i,
-                "INSERT INTO foo (x) VALUES ((:param_1 + :x2))", params={})
-        self.assert_compile(i,
-                "INSERT INTO foo (x, y) VALUES ((:param_1 + :x2), :y)",
-                                    params={'x': 1, 'y': 2})
-        self.assert_compile(i,
-                "INSERT INTO foo (x, y) VALUES ((:param_1 + :x2), :y)",
-                                    params={'x2': 1, 'y': 2})
+                            "INSERT INTO foo (x) VALUES ((:param_1 + :x2))")
+        self.assert_compile(
+            i,
+            "INSERT INTO foo (x) VALUES ((:param_1 + :x2))",
+            params={})
+        self.assert_compile(
+            i,
+            "INSERT INTO foo (x, y) VALUES ((:param_1 + :x2), :y)",
+            params={
+                'x': 1,
+                'y': 2})
+        self.assert_compile(
+            i,
+            "INSERT INTO foo (x, y) VALUES ((:param_1 + :x2), :y)",
+            params={
+                'x2': 1,
+                'y': 2})
 
     def test_unconsumed_names(self):
         t = table("t", column("x"), column("y"))
@@ -2590,7 +2680,7 @@ class CRUDTest(fixtures.TestBase, AssertsCompiledSQL):
             exc.CompileError,
             "Unconsumed column names: j",
             t.update().values(x=5, j=7).values({t2.c.z: 5}).
-                where(t.c.x == t2.c.q).compile,
+            where(t.c.x == t2.c.q).compile,
         )
 
         # bindparam names don't get counted
@@ -2615,7 +2705,6 @@ class CRUDTest(fixtures.TestBase, AssertsCompiledSQL):
             column_keys=['j']
         )
 
-
     def test_labels_no_collision(self):
 
         t = table('foo', column('id'), column('foo_id'))
@@ -2630,12 +2719,14 @@ class CRUDTest(fixtures.TestBase, AssertsCompiledSQL):
             "UPDATE foo SET id=:id, foo_id=:foo_id WHERE foo.id = :foo_id_1"
         )
 
+
 class DDLTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
     def _illegal_type_fixture(self):
         class MyType(types.TypeEngine):
             pass
+
         @compiles(MyType)
         def compile(element, compiler, **kw):
             raise exc.CompileError("Couldn't compile type")
@@ -2644,8 +2735,8 @@ class DDLTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_reraise_of_column_spec_issue(self):
         MyType = self._illegal_type_fixture()
         t1 = Table('t', MetaData(),
-            Column('x', MyType())
-        )
+                   Column('x', MyType())
+                   )
         assert_raises_message(
             exc.CompileError,
             r"\(in table 't', column 'x'\): Couldn't compile type",
@@ -2655,8 +2746,8 @@ class DDLTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_reraise_of_column_spec_issue_unicode(self):
         MyType = self._illegal_type_fixture()
         t1 = Table('t', MetaData(),
-            Column(u('méil'), MyType())
-        )
+                   Column(u('méil'), MyType())
+                   )
         assert_raises_message(
             exc.CompileError,
             u(r"\(in table 't', column 'méil'\): Couldn't compile type"),
@@ -2666,8 +2757,8 @@ class DDLTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_system_flag(self):
         m = MetaData()
         t = Table('t', m, Column('x', Integer),
-                            Column('y', Integer, system=True),
-                            Column('z', Integer))
+                  Column('y', Integer, system=True),
+                  Column('z', Integer))
         self.assert_compile(
             schema.CreateTable(t),
             "CREATE TABLE t (x INTEGER, z INTEGER)"
@@ -2686,58 +2777,65 @@ class InlineDefaultTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_insert(self):
         m = MetaData()
         foo = Table('foo', m,
-            Column('id', Integer))
+                    Column('id', Integer))
 
         t = Table('test', m,
-            Column('col1', Integer, default=func.foo(1)),
-            Column('col2', Integer, default=select(
-                        [func.coalesce(func.max(foo.c.id))])),
-            )
+                  Column('col1', Integer, default=func.foo(1)),
+                  Column('col2', Integer, default=select(
+                      [func.coalesce(func.max(foo.c.id))])),
+                  )
 
-        self.assert_compile(t.insert(inline=True, values={}),
-                        "INSERT INTO test (col1, col2) VALUES (foo(:foo_1), "
-                        "(SELECT coalesce(max(foo.id)) AS coalesce_1 FROM "
-                        "foo))")
+        self.assert_compile(
+            t.insert(
+                inline=True, values={}),
+            "INSERT INTO test (col1, col2) VALUES (foo(:foo_1), "
+            "(SELECT coalesce(max(foo.id)) AS coalesce_1 FROM "
+            "foo))")
 
     def test_update(self):
         m = MetaData()
         foo = Table('foo', m,
-            Column('id', Integer))
+                    Column('id', Integer))
 
         t = Table('test', m,
-            Column('col1', Integer, onupdate=func.foo(1)),
-            Column('col2', Integer, onupdate=select(
-                            [func.coalesce(func.max(foo.c.id))])),
-            Column('col3', String(30))
-            )
+                  Column('col1', Integer, onupdate=func.foo(1)),
+                  Column('col2', Integer, onupdate=select(
+                      [func.coalesce(func.max(foo.c.id))])),
+                  Column('col3', String(30))
+                  )
 
         self.assert_compile(t.update(inline=True, values={'col3': 'foo'}),
-                        "UPDATE test SET col1=foo(:foo_1), col2=(SELECT "
-                        "coalesce(max(foo.id)) AS coalesce_1 FROM foo), "
-                        "col3=:col3")
+                            "UPDATE test SET col1=foo(:foo_1), col2=(SELECT "
+                            "coalesce(max(foo.id)) AS coalesce_1 FROM foo), "
+                            "col3=:col3")
+
 
 class SchemaTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
     def test_select(self):
         self.assert_compile(table4.select(),
-                "SELECT remote_owner.remotetable.rem_id, "
-                "remote_owner.remotetable.datatype_id,"
-                " remote_owner.remotetable.value "
-                "FROM remote_owner.remotetable")
-
-        self.assert_compile(table4.select(and_(table4.c.datatype_id == 7,
-                                table4.c.value == 'hi')),
-                "SELECT remote_owner.remotetable.rem_id, "
-                "remote_owner.remotetable.datatype_id,"
-                " remote_owner.remotetable.value "
-                "FROM remote_owner.remotetable WHERE "
-                "remote_owner.remotetable.datatype_id = :datatype_id_1 AND"
-                " remote_owner.remotetable.value = :value_1")
+                            "SELECT remote_owner.remotetable.rem_id, "
+                            "remote_owner.remotetable.datatype_id,"
+                            " remote_owner.remotetable.value "
+                            "FROM remote_owner.remotetable")
+
+        self.assert_compile(
+            table4.select(
+                and_(
+                    table4.c.datatype_id == 7,
+                    table4.c.value == 'hi')),
+            "SELECT remote_owner.remotetable.rem_id, "
+            "remote_owner.remotetable.datatype_id,"
+            " remote_owner.remotetable.value "
+            "FROM remote_owner.remotetable WHERE "
+            "remote_owner.remotetable.datatype_id = :datatype_id_1 AND"
+            " remote_owner.remotetable.value = :value_1")
 
         s = table4.select(and_(table4.c.datatype_id == 7,
-                            table4.c.value == 'hi'), use_labels=True)
-        self.assert_compile(s, "SELECT remote_owner.remotetable.rem_id AS"
+                               table4.c.value == 'hi'), use_labels=True)
+        self.assert_compile(
+            s, "SELECT remote_owner.remotetable.rem_id AS"
             " remote_owner_remotetable_rem_id, "
             "remote_owner.remotetable.datatype_id AS"
             " remote_owner_remotetable_datatype_id, "
@@ -2749,22 +2847,22 @@ class SchemaTest(fixtures.TestBase, AssertsCompiledSQL):
 
         # multi-part schema name
         self.assert_compile(table5.select(),
-                'SELECT "dbo.remote_owner".remotetable.rem_id, '
-                '"dbo.remote_owner".remotetable.datatype_id, '
-                '"dbo.remote_owner".remotetable.value '
-                'FROM "dbo.remote_owner".remotetable'
-        )
+                            'SELECT "dbo.remote_owner".remotetable.rem_id, '
+                            '"dbo.remote_owner".remotetable.datatype_id, '
+                            '"dbo.remote_owner".remotetable.value '
+                            'FROM "dbo.remote_owner".remotetable'
+                            )
 
         # multi-part schema name labels - convert '.' to '_'
         self.assert_compile(table5.select(use_labels=True),
-                'SELECT "dbo.remote_owner".remotetable.rem_id AS'
-                ' dbo_remote_owner_remotetable_rem_id, '
-                '"dbo.remote_owner".remotetable.datatype_id'
-                ' AS dbo_remote_owner_remotetable_datatype_id,'
-                ' "dbo.remote_owner".remotetable.value AS '
-                'dbo_remote_owner_remotetable_value FROM'
-                ' "dbo.remote_owner".remotetable'
-        )
+                            'SELECT "dbo.remote_owner".remotetable.rem_id AS'
+                            ' dbo_remote_owner_remotetable_rem_id, '
+                            '"dbo.remote_owner".remotetable.datatype_id'
+                            ' AS dbo_remote_owner_remotetable_datatype_id,'
+                            ' "dbo.remote_owner".remotetable.value AS '
+                            'dbo_remote_owner_remotetable_value FROM'
+                            ' "dbo.remote_owner".remotetable'
+                            )
 
     def test_alias(self):
         a = alias(table4, 'remtable')
@@ -2776,17 +2874,16 @@ class SchemaTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_update(self):
         self.assert_compile(
-                table4.update(table4.c.value == 'test',
-                        values={table4.c.datatype_id: 12}),
-                "UPDATE remote_owner.remotetable SET datatype_id=:datatype_id "
-                "WHERE remote_owner.remotetable.value = :value_1")
+            table4.update(table4.c.value == 'test',
+                          values={table4.c.datatype_id: 12}),
+            "UPDATE remote_owner.remotetable SET datatype_id=:datatype_id "
+            "WHERE remote_owner.remotetable.value = :value_1")
 
     def test_insert(self):
         self.assert_compile(table4.insert(values=(2, 5, 'test')),
-                    "INSERT INTO remote_owner.remotetable "
-                    "(rem_id, datatype_id, value) VALUES "
-                    "(:rem_id, :datatype_id, :value)")
-
+                            "INSERT INTO remote_owner.remotetable "
+                            "(rem_id, datatype_id, value) VALUES "
+                            "(:rem_id, :datatype_id, :value)")
 
 
 class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
@@ -2794,7 +2891,7 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_dont_overcorrelate(self):
         self.assert_compile(select([table1], from_obj=[table1,
-                            table1.select()]),
+                                                       table1.select()]),
                             "SELECT mytable.myid, mytable.name, "
                             "mytable.description FROM mytable, (SELECT "
                             "mytable.myid AS myid, mytable.name AS "
@@ -2808,188 +2905,191 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def _assert_where_correlated(self, stmt):
         self.assert_compile(
-                stmt,
-                "SELECT t2.a FROM t2 WHERE t2.a = "
-                "(SELECT t1.a FROM t1 WHERE t1.a = t2.a)")
+            stmt,
+            "SELECT t2.a FROM t2 WHERE t2.a = "
+            "(SELECT t1.a FROM t1 WHERE t1.a = t2.a)")
 
     def _assert_where_all_correlated(self, stmt):
         self.assert_compile(
-                stmt,
-                "SELECT t1.a, t2.a FROM t1, t2 WHERE t2.a = "
-                "(SELECT t1.a WHERE t1.a = t2.a)")
+            stmt,
+            "SELECT t1.a, t2.a FROM t1, t2 WHERE t2.a = "
+            "(SELECT t1.a WHERE t1.a = t2.a)")
 
     # note there's no more "backwards" correlation after
     # we've done #2746
-    #def _assert_where_backwards_correlated(self, stmt):
+    # def _assert_where_backwards_correlated(self, stmt):
     #    self.assert_compile(
     #            stmt,
     #            "SELECT t2.a FROM t2 WHERE t2.a = "
     #            "(SELECT t1.a FROM t2 WHERE t1.a = t2.a)")
 
-    #def _assert_column_backwards_correlated(self, stmt):
+    # def _assert_column_backwards_correlated(self, stmt):
     #    self.assert_compile(stmt,
     #            "SELECT t2.a, (SELECT t1.a FROM t2 WHERE t1.a = t2.a) "
     #            "AS anon_1 FROM t2")
 
     def _assert_column_correlated(self, stmt):
-        self.assert_compile(stmt,
-                "SELECT t2.a, (SELECT t1.a FROM t1 WHERE t1.a = t2.a) "
-                "AS anon_1 FROM t2")
+        self.assert_compile(
+            stmt,
+            "SELECT t2.a, (SELECT t1.a FROM t1 WHERE t1.a = t2.a) "
+            "AS anon_1 FROM t2")
 
     def _assert_column_all_correlated(self, stmt):
-        self.assert_compile(stmt,
-                "SELECT t1.a, t2.a, "
-                "(SELECT t1.a WHERE t1.a = t2.a) AS anon_1 FROM t1, t2")
-
+        self.assert_compile(
+            stmt,
+            "SELECT t1.a, t2.a, "
+            "(SELECT t1.a WHERE t1.a = t2.a) AS anon_1 FROM t1, t2")
 
     def _assert_having_correlated(self, stmt):
         self.assert_compile(stmt,
-                "SELECT t2.a FROM t2 HAVING t2.a = "
-                "(SELECT t1.a FROM t1 WHERE t1.a = t2.a)")
+                            "SELECT t2.a FROM t2 HAVING t2.a = "
+                            "(SELECT t1.a FROM t1 WHERE t1.a = t2.a)")
 
     def _assert_from_uncorrelated(self, stmt):
-        self.assert_compile(stmt,
-                "SELECT t2.a, anon_1.a FROM t2, "
-                "(SELECT t1.a AS a FROM t1, t2 WHERE t1.a = t2.a) AS anon_1")
+        self.assert_compile(
+            stmt,
+            "SELECT t2.a, anon_1.a FROM t2, "
+            "(SELECT t1.a AS a FROM t1, t2 WHERE t1.a = t2.a) AS anon_1")
 
     def _assert_from_all_uncorrelated(self, stmt):
-        self.assert_compile(stmt,
-                "SELECT t1.a, t2.a, anon_1.a FROM t1, t2, "
-                "(SELECT t1.a AS a FROM t1, t2 WHERE t1.a = t2.a) AS anon_1")
+        self.assert_compile(
+            stmt,
+            "SELECT t1.a, t2.a, anon_1.a FROM t1, t2, "
+            "(SELECT t1.a AS a FROM t1, t2 WHERE t1.a = t2.a) AS anon_1")
 
     def _assert_where_uncorrelated(self, stmt):
         self.assert_compile(stmt,
-                "SELECT t2.a FROM t2 WHERE t2.a = "
-                "(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.a)")
+                            "SELECT t2.a FROM t2 WHERE t2.a = "
+                            "(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.a)")
 
     def _assert_column_uncorrelated(self, stmt):
         self.assert_compile(stmt,
-                "SELECT t2.a, (SELECT t1.a FROM t1, t2 "
-                    "WHERE t1.a = t2.a) AS anon_1 FROM t2")
+                            "SELECT t2.a, (SELECT t1.a FROM t1, t2 "
+                            "WHERE t1.a = t2.a) AS anon_1 FROM t2")
 
     def _assert_having_uncorrelated(self, stmt):
         self.assert_compile(stmt,
-                "SELECT t2.a FROM t2 HAVING t2.a = "
-                "(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.a)")
+                            "SELECT t2.a FROM t2 HAVING t2.a = "
+                            "(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.a)")
 
     def _assert_where_single_full_correlated(self, stmt):
         self.assert_compile(stmt,
-            "SELECT t1.a FROM t1 WHERE t1.a = (SELECT t1.a)")
+                            "SELECT t1.a FROM t1 WHERE t1.a = (SELECT t1.a)")
 
     def test_correlate_semiauto_where(self):
         t1, t2, s1 = self._fixture()
         self._assert_where_correlated(
-                select([t2]).where(t2.c.a == s1.correlate(t2)))
+            select([t2]).where(t2.c.a == s1.correlate(t2)))
 
     def test_correlate_semiauto_column(self):
         t1, t2, s1 = self._fixture()
         self._assert_column_correlated(
-                select([t2, s1.correlate(t2).as_scalar()]))
+            select([t2, s1.correlate(t2).as_scalar()]))
 
     def test_correlate_semiauto_from(self):
         t1, t2, s1 = self._fixture()
         self._assert_from_uncorrelated(
-                select([t2, s1.correlate(t2).alias()]))
+            select([t2, s1.correlate(t2).alias()]))
 
     def test_correlate_semiauto_having(self):
         t1, t2, s1 = self._fixture()
         self._assert_having_correlated(
-                select([t2]).having(t2.c.a == s1.correlate(t2)))
+            select([t2]).having(t2.c.a == s1.correlate(t2)))
 
     def test_correlate_except_inclusion_where(self):
         t1, t2, s1 = self._fixture()
         self._assert_where_correlated(
-                select([t2]).where(t2.c.a == s1.correlate_except(t1)))
+            select([t2]).where(t2.c.a == s1.correlate_except(t1)))
 
     def test_correlate_except_exclusion_where(self):
         t1, t2, s1 = self._fixture()
         self._assert_where_uncorrelated(
-                select([t2]).where(t2.c.a == s1.correlate_except(t2)))
+            select([t2]).where(t2.c.a == s1.correlate_except(t2)))
 
     def test_correlate_except_inclusion_column(self):
         t1, t2, s1 = self._fixture()
         self._assert_column_correlated(
-                select([t2, s1.correlate_except(t1).as_scalar()]))
+            select([t2, s1.correlate_except(t1).as_scalar()]))
 
     def test_correlate_except_exclusion_column(self):
         t1, t2, s1 = self._fixture()
         self._assert_column_uncorrelated(
-                select([t2, s1.correlate_except(t2).as_scalar()]))
+            select([t2, s1.correlate_except(t2).as_scalar()]))
 
     def test_correlate_except_inclusion_from(self):
         t1, t2, s1 = self._fixture()
         self._assert_from_uncorrelated(
-                select([t2, s1.correlate_except(t1).alias()]))
+            select([t2, s1.correlate_except(t1).alias()]))
 
     def test_correlate_except_exclusion_from(self):
         t1, t2, s1 = self._fixture()
         self._assert_from_uncorrelated(
-                select([t2, s1.correlate_except(t2).alias()]))
+            select([t2, s1.correlate_except(t2).alias()]))
 
     def test_correlate_except_none(self):
         t1, t2, s1 = self._fixture()
         self._assert_where_all_correlated(
-                select([t1, t2]).where(t2.c.a == s1.correlate_except(None)))
+            select([t1, t2]).where(t2.c.a == s1.correlate_except(None)))
 
     def test_correlate_except_having(self):
         t1, t2, s1 = self._fixture()
         self._assert_having_correlated(
-                select([t2]).having(t2.c.a == s1.correlate_except(t1)))
+            select([t2]).having(t2.c.a == s1.correlate_except(t1)))
 
     def test_correlate_auto_where(self):
         t1, t2, s1 = self._fixture()
         self._assert_where_correlated(
-                select([t2]).where(t2.c.a == s1))
+            select([t2]).where(t2.c.a == s1))
 
     def test_correlate_auto_column(self):
         t1, t2, s1 = self._fixture()
         self._assert_column_correlated(
-                select([t2, s1.as_scalar()]))
+            select([t2, s1.as_scalar()]))
 
     def test_correlate_auto_from(self):
         t1, t2, s1 = self._fixture()
         self._assert_from_uncorrelated(
-                select([t2, s1.alias()]))
+            select([t2, s1.alias()]))
 
     def test_correlate_auto_having(self):
         t1, t2, s1 = self._fixture()
         self._assert_having_correlated(
-                select([t2]).having(t2.c.a == s1))
+            select([t2]).having(t2.c.a == s1))
 
     def test_correlate_disabled_where(self):
         t1, t2, s1 = self._fixture()
         self._assert_where_uncorrelated(
-                select([t2]).where(t2.c.a == s1.correlate(None)))
+            select([t2]).where(t2.c.a == s1.correlate(None)))
 
     def test_correlate_disabled_column(self):
         t1, t2, s1 = self._fixture()
         self._assert_column_uncorrelated(
-                select([t2, s1.correlate(None).as_scalar()]))
+            select([t2, s1.correlate(None).as_scalar()]))
 
     def test_correlate_disabled_from(self):
         t1, t2, s1 = self._fixture()
         self._assert_from_uncorrelated(
-                select([t2, s1.correlate(None).alias()]))
+            select([t2, s1.correlate(None).alias()]))
 
     def test_correlate_disabled_having(self):
         t1, t2, s1 = self._fixture()
         self._assert_having_uncorrelated(
-                select([t2]).having(t2.c.a == s1.correlate(None)))
+            select([t2]).having(t2.c.a == s1.correlate(None)))
 
     def test_correlate_all_where(self):
         t1, t2, s1 = self._fixture()
         self._assert_where_all_correlated(
-                select([t1, t2]).where(t2.c.a == s1.correlate(t1, t2)))
+            select([t1, t2]).where(t2.c.a == s1.correlate(t1, t2)))
 
     def test_correlate_all_column(self):
         t1, t2, s1 = self._fixture()
         self._assert_column_all_correlated(
-                select([t1, t2, s1.correlate(t1, t2).as_scalar()]))
+            select([t1, t2, s1.correlate(t1, t2).as_scalar()]))
 
     def test_correlate_all_from(self):
         t1, t2, s1 = self._fixture()
         self._assert_from_all_uncorrelated(
-                select([t1, t2, s1.correlate(t1, t2).alias()]))
+            select([t1, t2, s1.correlate(t1, t2).alias()]))
 
     def test_correlate_where_all_unintentional(self):
         t1, t2, s1 = self._fixture()
@@ -3012,8 +3112,8 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
         s = select([t1.c.a])
         s2 = select([t1]).where(t1.c.a == s)
         self.assert_compile(s2,
-                "SELECT t1.a FROM t1 WHERE t1.a = "
-                "(SELECT t1.a FROM t1)")
+                            "SELECT t1.a FROM t1 WHERE t1.a = "
+                            "(SELECT t1.a FROM t1)")
 
     def test_correlate_semiauto_where_singlefrom(self):
         t1, t2, s1 = self._fixture()
@@ -3035,7 +3135,7 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
         # new as of #2668
         t1, t2, s1 = self._fixture()
         self.assert_compile(s1.correlate(t1, t2),
-            "SELECT t1.a FROM t1, t2 WHERE t1.a = t2.a")
+                            "SELECT t1.a FROM t1, t2 WHERE t1.a = t2.a")
 
     def test_correlate_except_froms(self):
         # new as of #2748
@@ -3047,23 +3147,24 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
         s2 = select([func.foo(s.c.b)]).as_scalar()
         s3 = select([t1], order_by=s2)
 
-        self.assert_compile(s3,
-            "SELECT t1.a FROM t1 ORDER BY "
+        self.assert_compile(
+            s3, "SELECT t1.a FROM t1 ORDER BY "
             "(SELECT foo(s.b) AS foo_1 FROM "
-            "(SELECT t2.b AS b FROM t2 WHERE t1.a = t2.a) AS s)"
-        )
+            "(SELECT t2.b AS b FROM t2 WHERE t1.a = t2.a) AS s)")
 
     def test_multilevel_froms_correlation(self):
         # new as of #2748
         p = table('parent', column('id'))
         c = table('child', column('id'), column('parent_id'), column('pos'))
 
-        s = c.select().where(c.c.parent_id == p.c.id).order_by(c.c.pos).limit(1)
+        s = c.select().where(
+            c.c.parent_id == p.c.id).order_by(
+            c.c.pos).limit(1)
         s = s.correlate(p)
         s = exists().select_from(s).where(s.c.id == 1)
         s = select([p]).where(s)
-        self.assert_compile(s,
-            "SELECT parent.id FROM parent WHERE EXISTS (SELECT * "
+        self.assert_compile(
+            s, "SELECT parent.id FROM parent WHERE EXISTS (SELECT * "
             "FROM (SELECT child.id AS id, child.parent_id AS parent_id, "
             "child.pos AS pos FROM child WHERE child.parent_id = parent.id "
             "ORDER BY child.pos LIMIT :param_1) WHERE id = :id_1)")
@@ -3077,7 +3178,8 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
 
         s = select([t1]).where(t1.c.x == t2.c.y).\
             where(t2.c.y == t3.c.z).correlate_except(t1)
-        self.assert_compile(s,
+        self.assert_compile(
+            s,
             "SELECT t1.x FROM t1, t2, t3 WHERE t1.x = t2.y AND t2.y = t3.z")
 
     def test_multilevel_implicit_correlation_disabled(self):
@@ -3092,13 +3194,13 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
         s3 = select([t1]).where(t1.c.x == s2.as_scalar())
 
         self.assert_compile(s3,
-            "SELECT t1.x FROM t1 "
-            "WHERE t1.x = (SELECT t3.z "
-            "FROM t3 "
-            "WHERE t3.z = (SELECT t1.x "
-            "FROM t1, t2 "
-            "WHERE t1.x = t2.y))"
-        )
+                            "SELECT t1.x FROM t1 "
+                            "WHERE t1.x = (SELECT t3.z "
+                            "FROM t3 "
+                            "WHERE t3.z = (SELECT t1.x "
+                            "FROM t1, t2 "
+                            "WHERE t1.x = t2.y))"
+                            )
 
     def test_from_implicit_correlation_disabled(self):
         # test that implicit correlation with immediate and
@@ -3112,10 +3214,11 @@ class CorrelateTest(fixtures.TestBase, AssertsCompiledSQL):
         s3 = select([t1, s2])
 
         self.assert_compile(s3,
-            "SELECT t1.x, y, x FROM t1, "
-            "(SELECT t2.y AS y, x FROM t2, "
-            "(SELECT t1.x AS x FROM t1, t2 WHERE t1.x = t2.y))"
-        )
+                            "SELECT t1.x, y, x FROM t1, "
+                            "(SELECT t2.y AS y, x FROM t2, "
+                            "(SELECT t1.x AS x FROM t1, t2 WHERE t1.x = t2.y))"
+                            )
+
 
 class CoercionTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = default.DefaultDialect(supports_native_boolean=True)
@@ -3123,7 +3226,7 @@ class CoercionTest(fixtures.TestBase, AssertsCompiledSQL):
     def _fixture(self):
         m = MetaData()
         return Table('foo', m,
-            Column('id', Integer))
+                     Column('id', Integer))
 
     bool_table = table('t', column('x', Boolean))
 
@@ -3194,17 +3297,19 @@ class CoercionTest(fixtures.TestBase, AssertsCompiledSQL):
 
 
 class ResultMapTest(fixtures.TestBase):
+
     """test the behavior of the 'entry stack' and the determination
     when the result_map needs to be populated.
 
     """
+
     def test_compound_populates(self):
         t = Table('t', MetaData(), Column('a', Integer), Column('b', Integer))
         stmt = select([t]).union(select([t]))
         comp = stmt.compile()
         eq_(
             comp.result_map,
-             {'a': ('a', (t.c.a, 'a', 'a'), t.c.a.type),
+            {'a': ('a', (t.c.a, 'a', 'a'), t.c.a.type),
              'b': ('b', (t.c.b, 'b', 'b'), t.c.b.type)}
         )
 
@@ -3215,7 +3320,7 @@ class ResultMapTest(fixtures.TestBase):
         comp = stmt.compile()
         eq_(
             comp.result_map,
-             {'a': ('a', (t.c.a, 'a', 'a'), t.c.a.type)}
+            {'a': ('a', (t.c.a, 'a', 'a'), t.c.a.type)}
         )
 
     def test_compound_only_top_populates(self):
@@ -3224,7 +3329,7 @@ class ResultMapTest(fixtures.TestBase):
         comp = stmt.compile()
         eq_(
             comp.result_map,
-             {'a': ('a', (t.c.a, 'a', 'a'), t.c.a.type)},
+            {'a': ('a', (t.c.a, 'a', 'a'), t.c.a.type)},
         )
 
     def test_label_plus_element(self):
@@ -3236,22 +3341,22 @@ class ResultMapTest(fixtures.TestBase):
         tc_anon_label = comp.result_map['a_1'][1][0]
         eq_(
             comp.result_map,
-             {
+            {
                 'a': ('a', (t.c.a, 'a', 'a'), t.c.a.type),
                 'bar': ('bar', (l1, 'bar'), l1.type),
                 'a_1': ('%%(%d a)s' % id(tc), (tc_anon_label, 'a_1'), tc.type),
-             },
+            },
         )
 
     def test_label_conflict_union(self):
         t1 = Table('t1', MetaData(), Column('a', Integer),
-                                    Column('b', Integer))
+                   Column('b', Integer))
         t2 = Table('t2', MetaData(), Column('t1_a', Integer))
         union = select([t2]).union(select([t2])).alias()
 
         t1_alias = t1.alias()
         stmt = select([t1, t1_alias]).select_from(
-                        t1.join(union, t1.c.a == union.c.t1_a)).apply_labels()
+            t1.join(union, t1.c.a == union.c.t1_a)).apply_labels()
         comp = stmt.compile()
         eq_(
             set(comp.result_map),
index 992289d3e6e60a3e526aba5779f8674315bc9b5a..2f054dac12ff3c8e2e9dbc969b5915d879069558 100644 (file)
@@ -4,7 +4,7 @@ from sqlalchemy import Table, Integer, String, Column, PrimaryKeyConstraint,\
     CheckConstraint, func, text
 from sqlalchemy import exc, schema
 from sqlalchemy.testing import fixtures, AssertsExecutionResults, \
-                    AssertsCompiledSQL
+    AssertsCompiledSQL
 from sqlalchemy import testing
 from sqlalchemy.engine import default
 from sqlalchemy.testing import engines
@@ -12,67 +12,66 @@ from sqlalchemy.testing import eq_
 from sqlalchemy.testing.assertsql import AllOf, RegexSQL, ExactSQL, CompiledSQL
 from sqlalchemy.sql import table, column
 
+
 class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
     __dialect__ = 'default'
     __backend__ = True
 
-
     @testing.provide_metadata
     def test_pk_fk_constraint_create(self):
         metadata = self.metadata
 
         Table('employees', metadata,
-            Column('id', Integer),
-            Column('soc', String(40)),
-            Column('name', String(30)),
-            PrimaryKeyConstraint('id', 'soc')
-            )
+              Column('id', Integer),
+              Column('soc', String(40)),
+              Column('name', String(30)),
+              PrimaryKeyConstraint('id', 'soc')
+              )
         Table('elements', metadata,
-            Column('id', Integer),
-            Column('stuff', String(30)),
-            Column('emp_id', Integer),
-            Column('emp_soc', String(40)),
-            PrimaryKeyConstraint('id', name='elements_primkey'),
-            ForeignKeyConstraint(['emp_id', 'emp_soc'],
-                                ['employees.id', 'employees.soc'])
-            )
+              Column('id', Integer),
+              Column('stuff', String(30)),
+              Column('emp_id', Integer),
+              Column('emp_soc', String(40)),
+              PrimaryKeyConstraint('id', name='elements_primkey'),
+              ForeignKeyConstraint(['emp_id', 'emp_soc'],
+                                   ['employees.id', 'employees.soc'])
+              )
         self.assert_sql_execution(
             testing.db,
             lambda: metadata.create_all(checkfirst=False),
             CompiledSQL('CREATE TABLE employees ('
-                    'id INTEGER NOT NULL, '
-                    'soc VARCHAR(40) NOT NULL, '
-                    'name VARCHAR(30), '
-                    'PRIMARY KEY (id, soc)'
-                    ')'
-            ),
+                        'id INTEGER NOT NULL, '
+                        'soc VARCHAR(40) NOT NULL, '
+                        'name VARCHAR(30), '
+                        'PRIMARY KEY (id, soc)'
+                        ')'
+                        ),
             CompiledSQL('CREATE TABLE elements ('
-                    'id INTEGER NOT NULL, '
-                    'stuff VARCHAR(30), '
-                    'emp_id INTEGER, '
-                    'emp_soc VARCHAR(40), '
-                    'CONSTRAINT elements_primkey PRIMARY KEY (id), '
-                    'FOREIGN KEY(emp_id, emp_soc) '
-                            'REFERENCES employees (id, soc)'
-                ')'
-            )
+                        'id INTEGER NOT NULL, '
+                        'stuff VARCHAR(30), '
+                        'emp_id INTEGER, '
+                        'emp_soc VARCHAR(40), '
+                        'CONSTRAINT elements_primkey PRIMARY KEY (id), '
+                        'FOREIGN KEY(emp_id, emp_soc) '
+                        'REFERENCES employees (id, soc)'
+                        ')'
+                        )
         )
 
-
     @testing.provide_metadata
     def test_cyclic_fk_table_constraint_create(self):
         metadata = self.metadata
 
         Table("a", metadata,
-            Column('id', Integer, primary_key=True),
-            Column('bid', Integer),
-            ForeignKeyConstraint(["bid"], ["b.id"])
-            )
-        Table("b", metadata,
-            Column('id', Integer, primary_key=True),
-            Column("aid", Integer),
-            ForeignKeyConstraint(["aid"], ["a.id"], use_alter=True, name="bfk")
-            )
+              Column('id', Integer, primary_key=True),
+              Column('bid', Integer),
+              ForeignKeyConstraint(["bid"], ["b.id"])
+              )
+        Table(
+            "b", metadata, Column(
+                'id', Integer, primary_key=True), Column(
+                "aid", Integer), ForeignKeyConstraint(
+                ["aid"], ["a.id"], use_alter=True, name="bfk"))
         self._assert_cyclic_constraint(metadata)
 
     @testing.provide_metadata
@@ -80,37 +79,37 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
         metadata = self.metadata
 
         Table("a", metadata,
-            Column('id', Integer, primary_key=True),
-            Column('bid', Integer, ForeignKey("b.id")),
-            )
+              Column('id', Integer, primary_key=True),
+              Column('bid', Integer, ForeignKey("b.id")),
+              )
         Table("b", metadata,
-            Column('id', Integer, primary_key=True),
-            Column("aid", Integer,
-                ForeignKey("a.id", use_alter=True, name="bfk")
-                ),
-            )
+              Column('id', Integer, primary_key=True),
+              Column("aid", Integer,
+                     ForeignKey("a.id", use_alter=True, name="bfk")
+                     ),
+              )
         self._assert_cyclic_constraint(metadata)
 
     def _assert_cyclic_constraint(self, metadata):
         assertions = [
             CompiledSQL('CREATE TABLE b ('
-                    'id INTEGER NOT NULL, '
-                    'aid INTEGER, '
-                    'PRIMARY KEY (id)'
-                    ')'
-                    ),
+                        'id INTEGER NOT NULL, '
+                        'aid INTEGER, '
+                        'PRIMARY KEY (id)'
+                        ')'
+                        ),
             CompiledSQL('CREATE TABLE a ('
-                    'id INTEGER NOT NULL, '
-                    'bid INTEGER, '
-                    'PRIMARY KEY (id), '
-                    'FOREIGN KEY(bid) REFERENCES b (id)'
-                    ')'
-                ),
+                        'id INTEGER NOT NULL, '
+                        'bid INTEGER, '
+                        'PRIMARY KEY (id), '
+                        'FOREIGN KEY(bid) REFERENCES b (id)'
+                        ')'
+                        ),
         ]
         if testing.db.dialect.supports_alter:
             assertions.append(
                 CompiledSQL('ALTER TABLE b ADD CONSTRAINT bfk '
-                        'FOREIGN KEY(aid) REFERENCES a (id)')
+                            'FOREIGN KEY(aid) REFERENCES a (id)')
             )
         self.assert_sql_execution(
             testing.db,
@@ -124,7 +123,7 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
         assertions.extend([
             CompiledSQL("DROP TABLE a"),
             CompiledSQL("DROP TABLE b"),
-            ])
+        ])
         self.assert_sql_execution(
             testing.db,
             lambda: metadata.drop_all(checkfirst=False),
@@ -136,35 +135,35 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
         metadata = self.metadata
 
         Table('foo', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('x', Integer),
-            Column('y', Integer),
-            CheckConstraint('x>y'))
+              Column('id', Integer, primary_key=True),
+              Column('x', Integer),
+              Column('y', Integer),
+              CheckConstraint('x>y'))
         Table('bar', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('x', Integer, CheckConstraint('x>7')),
-            Column('z', Integer)
-            )
+              Column('id', Integer, primary_key=True),
+              Column('x', Integer, CheckConstraint('x>7')),
+              Column('z', Integer)
+              )
 
         self.assert_sql_execution(
             testing.db,
             lambda: metadata.create_all(checkfirst=False),
             AllOf(
                 CompiledSQL('CREATE TABLE foo ('
-                        'id INTEGER NOT NULL, '
-                        'x INTEGER, '
-                        'y INTEGER, '
-                        'PRIMARY KEY (id), '
-                        'CHECK (x>y)'
-                        ')'
-                        ),
+                            'id INTEGER NOT NULL, '
+                            'x INTEGER, '
+                            'y INTEGER, '
+                            'PRIMARY KEY (id), '
+                            'CHECK (x>y)'
+                            ')'
+                            ),
                 CompiledSQL('CREATE TABLE bar ('
-                        'id INTEGER NOT NULL, '
-                        'x INTEGER CHECK (x>7), '
-                        'z INTEGER, '
-                        'PRIMARY KEY (id)'
-                        ')'
-                )
+                            'id INTEGER NOT NULL, '
+                            'x INTEGER CHECK (x>7), '
+                            'z INTEGER, '
+                            'PRIMARY KEY (id)'
+                            ')'
+                            )
             )
         )
 
@@ -173,32 +172,32 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
         metadata = self.metadata
 
         Table('foo', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('value', String(30), unique=True))
+              Column('id', Integer, primary_key=True),
+              Column('value', String(30), unique=True))
         Table('bar', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('value', String(30)),
-            Column('value2', String(30)),
-            UniqueConstraint('value', 'value2', name='uix1')
-            )
+              Column('id', Integer, primary_key=True),
+              Column('value', String(30)),
+              Column('value2', String(30)),
+              UniqueConstraint('value', 'value2', name='uix1')
+              )
 
         self.assert_sql_execution(
             testing.db,
             lambda: metadata.create_all(checkfirst=False),
             AllOf(
                 CompiledSQL('CREATE TABLE foo ('
-                        'id INTEGER NOT NULL, '
-                        'value VARCHAR(30), '
-                        'PRIMARY KEY (id), '
-                        'UNIQUE (value)'
-                    ')'),
+                            'id INTEGER NOT NULL, '
+                            'value VARCHAR(30), '
+                            'PRIMARY KEY (id), '
+                            'UNIQUE (value)'
+                            ')'),
                 CompiledSQL('CREATE TABLE bar ('
-                        'id INTEGER NOT NULL, '
-                        'value VARCHAR(30), '
-                        'value2 VARCHAR(30), '
-                        'PRIMARY KEY (id), '
-                        'CONSTRAINT uix1 UNIQUE (value, value2)'
-                        ')')
+                            'id INTEGER NOT NULL, '
+                            'value VARCHAR(30), '
+                            'value2 VARCHAR(30), '
+                            'PRIMARY KEY (id), '
+                            'CONSTRAINT uix1 UNIQUE (value, value2)'
+                            ')')
             )
         )
 
@@ -226,9 +225,9 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
             RegexSQL("^CREATE TABLE"),
             AllOf(
                 CompiledSQL('CREATE INDEX employee_name_index ON '
-                        'employees (last_name, first_name)', []),
+                            'employees (last_name, first_name)', []),
                 CompiledSQL('CREATE UNIQUE INDEX employee_email_index ON '
-                        'employees (email_address)', [])
+                            'employees (email_address)', [])
             )
         )
 
@@ -244,25 +243,21 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
                           Column('lastName', String(30)),
                           Column('emailAddress', String(30)))
 
-
-
         Index('employeeNameIndex',
-                  employees.c.lastName, employees.c.firstName)
+              employees.c.lastName, employees.c.firstName)
 
         Index('employeeEmailIndex',
-                  employees.c.emailAddress, unique=True)
+              employees.c.emailAddress, unique=True)
 
         self.assert_sql_execution(
-            testing.db,
-            lambda: metadata.create_all(checkfirst=False),
-            RegexSQL("^CREATE TABLE"),
-            AllOf(
-                CompiledSQL('CREATE INDEX "employeeNameIndex" ON '
-                        '"companyEmployees" ("lastName", "firstName")', []),
-                CompiledSQL('CREATE UNIQUE INDEX "employeeEmailIndex" ON '
-                        '"companyEmployees" ("emailAddress")', [])
-            )
-        )
+            testing.db, lambda: metadata.create_all(
+                checkfirst=False), RegexSQL("^CREATE TABLE"), AllOf(
+                CompiledSQL(
+                    'CREATE INDEX "employeeNameIndex" ON '
+                    '"companyEmployees" ("lastName", "firstName")', []),
+                CompiledSQL(
+                    'CREATE UNIQUE INDEX "employeeEmailIndex" ON '
+                    '"companyEmployees" ("emailAddress")', [])))
 
     @testing.provide_metadata
     def test_index_create_inline(self):
@@ -279,13 +274,13 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
                        Column('winner', String(30)))
 
         Index('sport_announcer', events.c.sport, events.c.announcer,
-                                    unique=True)
+              unique=True)
         Index('idx_winners', events.c.winner)
 
         eq_(
             set(ix.name for ix in events.indexes),
             set(['ix_events_name', 'ix_events_location',
-                        'sport_announcer', 'idx_winners'])
+                 'sport_announcer', 'idx_winners'])
         )
 
         self.assert_sql_execution(
@@ -294,11 +289,11 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
             RegexSQL("^CREATE TABLE events"),
             AllOf(
                 ExactSQL('CREATE UNIQUE INDEX ix_events_name ON events '
-                                        '(name)'),
+                         '(name)'),
                 ExactSQL('CREATE INDEX ix_events_location ON events '
-                                        '(location)'),
+                         '(location)'),
                 ExactSQL('CREATE UNIQUE INDEX sport_announcer ON events '
-                                        '(sport, announcer)'),
+                         '(sport, announcer)'),
                 ExactSQL('CREATE INDEX idx_winners ON events (winner)')
             )
         )
@@ -308,18 +303,19 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
         metadata = self.metadata
 
         t = Table('sometable', metadata,
-                Column('id', Integer, primary_key=True),
-                Column('data', String(50))
-            )
+                  Column('id', Integer, primary_key=True),
+                  Column('data', String(50))
+                  )
         Index('myindex', t.c.data.desc())
         self.assert_sql_execution(
             testing.db,
             lambda: t.create(testing.db),
             CompiledSQL('CREATE TABLE sometable (id INTEGER NOT NULL, '
-                            'data VARCHAR(50), PRIMARY KEY (id))'),
+                        'data VARCHAR(50), PRIMARY KEY (id))'),
             ExactSQL('CREATE INDEX myindex ON sometable (data DESC)')
         )
 
+
 class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -359,7 +355,6 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
             "DROP INDEX foo.xyz"
         )
 
-
     def test_too_long_index_name(self):
         dialect = testing.db.dialect.__class__()
 
@@ -373,8 +368,8 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
             ]:
 
                 t1 = Table(tname, MetaData(),
-                            Column(cname, Integer, index=True),
-                        )
+                           Column(cname, Integer, index=True),
+                           )
                 ix1 = list(t1.indexes)[0]
 
                 self.assert_compile(
@@ -391,16 +386,16 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         assert_raises(
             exc.IdentifierError,
             schema.CreateIndex(Index(
-                        "this_other_name_is_too_long_for_what_were_doing",
-                        t1.c.c)).compile,
+                "this_other_name_is_too_long_for_what_were_doing",
+                t1.c.c)).compile,
             dialect=dialect
         )
 
     def test_functional_index(self):
         metadata = MetaData()
         x = Table('x', metadata,
-                Column('q', String(50))
-            )
+                  Column('q', String(50))
+                  )
         idx = Index('y', func.lower(x.c.q))
 
         self.assert_compile(
@@ -418,8 +413,8 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         metadata = MetaData()
         idx = Index('y', text("some_function(q)"))
         t = Table('x', metadata,
-                Column('q', String(50))
-            )
+                  Column('q', String(50))
+                  )
         t.append_constraint(idx)
         self.assert_compile(
             schema.CreateIndex(idx),
@@ -430,24 +425,23 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         metadata = MetaData()
         idx = Index('y', text("some_function(q)"))
         x = Table('x', metadata,
-                Column('q', String(50)),
-                idx
-            )
+                  Column('q', String(50)),
+                  idx
+                  )
 
         self.assert_compile(
             schema.CreateIndex(idx),
             "CREATE INDEX y ON x (some_function(q))"
         )
 
-
     def test_index_declaration_inline(self):
         metadata = MetaData()
 
         t1 = Table('t1', metadata,
-            Column('x', Integer),
-            Column('y', Integer),
-            Index('foo', 'x', 'y')
-        )
+                   Column('x', Integer),
+                   Column('y', Integer),
+                   Index('foo', 'x', 'y')
+                   )
         self.assert_compile(
             schema.CreateIndex(list(t1.indexes)[0]),
             "CREATE INDEX foo ON t1 (x, y)"
@@ -473,7 +467,6 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         sql = str(schema.CreateTable(t).compile(dialect=dialect))
         assert 'NOT DEFERRABLE' in sql
 
-
         t = Table('tbl', MetaData(),
                   Column('a', Integer),
                   Column('b', Integer),
@@ -492,15 +485,21 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         assert 'INITIALLY DEFERRED' in sql
 
     def test_column_level_ck_name(self):
-        t = Table('tbl', MetaData(),
-            Column('a', Integer, CheckConstraint("a > 5",
-                                name="ck_a_greater_five"))
-        )
+        t = Table(
+            'tbl',
+            MetaData(),
+            Column(
+                'a',
+                Integer,
+                CheckConstraint(
+                    "a > 5",
+                    name="ck_a_greater_five")))
         self.assert_compile(
             schema.CreateTable(t),
             "CREATE TABLE tbl (a INTEGER CONSTRAINT "
             "ck_a_greater_five CHECK (a > 5))"
         )
+
     def test_deferrable_pk(self):
         factory = lambda **kw: PrimaryKeyConstraint('a', **kw)
         self._test_deferrable(factory)
@@ -553,23 +552,23 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_multiple(self):
         m = MetaData()
         Table("foo", m,
-            Column('id', Integer, primary_key=True),
-            Column('bar', Integer, primary_key=True)
-        )
+              Column('id', Integer, primary_key=True),
+              Column('bar', Integer, primary_key=True)
+              )
         tb = Table("some_table", m,
-        Column('id', Integer, primary_key=True),
-        Column('foo_id', Integer, ForeignKey('foo.id')),
-        Column('foo_bar', Integer, ForeignKey('foo.bar')),
-        )
+                   Column('id', Integer, primary_key=True),
+                   Column('foo_id', Integer, ForeignKey('foo.id')),
+                   Column('foo_bar', Integer, ForeignKey('foo.bar')),
+                   )
         self.assert_compile(
             schema.CreateTable(tb),
             "CREATE TABLE some_table ("
-                "id INTEGER NOT NULL, "
-                "foo_id INTEGER, "
-                "foo_bar INTEGER, "
-                "PRIMARY KEY (id), "
-                "FOREIGN KEY(foo_id) REFERENCES foo (id), "
-                "FOREIGN KEY(foo_bar) REFERENCES foo (bar))"
+            "id INTEGER NOT NULL, "
+            "foo_id INTEGER, "
+            "foo_bar INTEGER, "
+            "PRIMARY KEY (id), "
+            "FOREIGN KEY(foo_id) REFERENCES foo (id), "
+            "FOREIGN KEY(foo_bar) REFERENCES foo (bar))"
         )
 
     def test_empty_pkc(self):
@@ -605,20 +604,20 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             schema.CreateTable(t),
             "CREATE TABLE tbl (a INTEGER, b INTEGER CHECK (a < b) "
-                "DEFERRABLE INITIALLY DEFERRED)"
+            "DEFERRABLE INITIALLY DEFERRED)"
         )
 
     def test_use_alter(self):
         m = MetaData()
         Table('t', m,
-                  Column('a', Integer),
-        )
+              Column('a', Integer),
+              )
 
         Table('t2', m,
-                Column('a', Integer, ForeignKey('t.a', use_alter=True,
-                                                        name='fk_ta')),
-                Column('b', Integer, ForeignKey('t.a', name='fk_tb'))
-        )
+              Column('a', Integer, ForeignKey('t.a', use_alter=True,
+                                              name='fk_ta')),
+              Column('b', Integer, ForeignKey('t.a', name='fk_tb'))
+              )
 
         e = engines.mock_engine(dialect_name='postgresql')
         m.create_all(e)
@@ -627,9 +626,9 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         e.assert_sql([
             'CREATE TABLE t (a INTEGER)',
             'CREATE TABLE t2 (a INTEGER, b INTEGER, CONSTRAINT fk_tb '
-                            'FOREIGN KEY(b) REFERENCES t (a))',
+            'FOREIGN KEY(b) REFERENCES t (a))',
             'ALTER TABLE t2 '
-                    'ADD CONSTRAINT fk_ta FOREIGN KEY(a) REFERENCES t (a)',
+            'ADD CONSTRAINT fk_ta FOREIGN KEY(a) REFERENCES t (a)',
             'ALTER TABLE t2 DROP CONSTRAINT fk_ta',
             'DROP TABLE t2',
             'DROP TABLE t'
@@ -641,12 +640,12 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         t = Table('tbl', m,
                   Column('a', Integer),
                   Column('b', Integer)
-        )
+                  )
 
         t2 = Table('t2', m,
-                Column('a', Integer),
-                Column('b', Integer)
-        )
+                   Column('a', Integer),
+                   Column('b', Integer)
+                   )
 
         return t, t2
 
@@ -654,8 +653,8 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         t, t2 = self._constraint_create_fixture()
 
         CheckConstraint('a < b', name="my_test_constraint",
-                                        deferrable=True, initially='DEFERRED',
-                                        table=t)
+                        deferrable=True, initially='DEFERRED',
+                        table=t)
 
         # before we create an AddConstraint,
         # the CONSTRAINT comes out inline
@@ -665,7 +664,7 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
             "a INTEGER, "
             "b INTEGER, "
             "CONSTRAINT my_test_constraint CHECK (a < b) "
-                        "DEFERRABLE INITIALLY DEFERRED"
+            "DEFERRABLE INITIALLY DEFERRED"
             ")"
         )
 
@@ -673,21 +672,21 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         t, t2 = self._constraint_create_fixture()
 
         constraint = CheckConstraint('a < b', name="my_test_constraint",
-                                        deferrable=True, initially='DEFERRED',
-                                        table=t)
+                                     deferrable=True, initially='DEFERRED',
+                                     table=t)
 
         self.assert_compile(
             schema.AddConstraint(constraint),
             "ALTER TABLE tbl ADD CONSTRAINT my_test_constraint "
-                    "CHECK (a < b) DEFERRABLE INITIALLY DEFERRED"
+            "CHECK (a < b) DEFERRABLE INITIALLY DEFERRED"
         )
 
     def test_external_ck_constraint_cancels_internal(self):
         t, t2 = self._constraint_create_fixture()
 
         constraint = CheckConstraint('a < b', name="my_test_constraint",
-                                        deferrable=True, initially='DEFERRED',
-                                        table=t)
+                                     deferrable=True, initially='DEFERRED',
+                                     table=t)
 
         schema.AddConstraint(constraint)
 
@@ -706,8 +705,8 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         t, t2 = self._constraint_create_fixture()
 
         constraint = CheckConstraint('a < b', name="my_test_constraint",
-                                        deferrable=True, initially='DEFERRED',
-                                        table=t)
+                                     deferrable=True, initially='DEFERRED',
+                                     table=t)
 
         self.assert_compile(
             schema.DropConstraint(constraint),
@@ -718,8 +717,8 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
         t, t2 = self._constraint_create_fixture()
 
         constraint = CheckConstraint('a < b', name="my_test_constraint",
-                                        deferrable=True, initially='DEFERRED',
-                                        table=t)
+                                     deferrable=True, initially='DEFERRED',
+                                     table=t)
 
         self.assert_compile(
             schema.DropConstraint(constraint, cascade=True),
@@ -798,6 +797,7 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
 
 
 class ConstraintAPITest(fixtures.TestBase):
+
     def test_double_fk_usage_raises(self):
         f = ForeignKey('b.id')
 
@@ -810,12 +810,12 @@ class ConstraintAPITest(fixtures.TestBase):
         t = Table('tbl', m,
                   Column('a', Integer),
                   Column('b', Integer)
-        )
+                  )
 
         t2 = Table('t2', m,
-                Column('a', Integer),
-                Column('b', Integer)
-        )
+                   Column('a', Integer),
+                   Column('b', Integer)
+                   )
 
         for c in (
             UniqueConstraint(t.c.a),
@@ -848,12 +848,12 @@ class ConstraintAPITest(fixtures.TestBase):
         t = Table('tbl', m,
                   Column('a', Integer),
                   Column('b', Integer)
-        )
+                  )
 
         t2 = Table('t2', m,
-                Column('a', Integer),
-                Column('b', Integer)
-        )
+                   Column('a', Integer),
+                   Column('b', Integer)
+                   )
 
         UniqueConstraint(t.c.a)
         CheckConstraint(t.c.a > 5)
@@ -874,25 +874,24 @@ class ConstraintAPITest(fixtures.TestBase):
         t = Table('tbl', m,
                   Column('a', Integer),
                   Column('b', Integer)
-        )
+                  )
         ck = CheckConstraint(t.c.a > 5)
         ck2 = ck.copy()
         assert ck in t.constraints
         assert ck2 not in t.constraints
 
-
     def test_ambig_check_constraint_auto_append(self):
         m = MetaData()
 
         t = Table('tbl', m,
                   Column('a', Integer),
                   Column('b', Integer)
-        )
+                  )
 
         t2 = Table('t2', m,
-                Column('a', Integer),
-                Column('b', Integer)
-        )
+                   Column('a', Integer),
+                   Column('b', Integer)
+                   )
         c = CheckConstraint(t.c.a > t2.c.b)
         assert c not in t.constraints
         assert c not in t2.constraints
@@ -901,11 +900,11 @@ class ConstraintAPITest(fixtures.TestBase):
         metadata = MetaData()
 
         t1 = Table('t1', metadata,
-            Column('x', Integer)
-        )
+                   Column('x', Integer)
+                   )
         t2 = Table('t2', metadata,
-            Column('y', Integer)
-        )
+                   Column('y', Integer)
+                   )
         assert_raises_message(
             exc.ArgumentError,
             "Column 't2.y' is not part of table 't1'.",
@@ -917,15 +916,15 @@ class ConstraintAPITest(fixtures.TestBase):
         metadata = MetaData()
 
         t1 = Table('t1', metadata,
-            Column('x', Integer)
-        )
+                   Column('x', Integer)
+                   )
         assert_raises_message(
             exc.ArgumentError,
             "Index 'bar' is against table 't1', and "
             "cannot be associated with table 't2'.",
             Table, 't2', metadata,
-                Column('y', Integer),
-                Index('bar', t1.c.x)
+            Column('y', Integer),
+            Index('bar', t1.c.x)
         )
 
     def test_raise_index_nonexistent_name(self):
@@ -957,7 +956,6 @@ class ConstraintAPITest(fixtures.TestBase):
             schema.CreateIndex(idx).compile
         )
 
-
     def test_no_warning_w_no_columns(self):
         idx = Index(name="foo")
 
@@ -975,7 +973,9 @@ class ConstraintAPITest(fixtures.TestBase):
     def test_raise_clauseelement_not_a_column(self):
         m = MetaData()
         t2 = Table('t2', m, Column('x', Integer))
+
         class SomeClass(object):
+
             def __clause_element__(self):
                 return t2
         assert_raises(
index 18c85f9e6b8ae109845dd2c2e1a7a2db1ce8480a..7e83968da7217f3505f76f5dfe1d1c15843e71ca 100644 (file)
@@ -5,39 +5,39 @@ from sqlalchemy.dialects import mssql
 from sqlalchemy.engine import default
 from sqlalchemy.exc import CompileError
 
+
 class CTETest(fixtures.TestBase, AssertsCompiledSQL):
 
     __dialect__ = 'default'
 
     def test_nonrecursive(self):
         orders = table('orders',
-            column('region'),
-            column('amount'),
-            column('product'),
-            column('quantity')
-        )
+                       column('region'),
+                       column('amount'),
+                       column('product'),
+                       column('quantity')
+                       )
 
         regional_sales = select([
-                            orders.c.region,
-                            func.sum(orders.c.amount).label('total_sales')
-                        ]).group_by(orders.c.region).cte("regional_sales")
+            orders.c.region,
+            func.sum(orders.c.amount).label('total_sales')
+        ]).group_by(orders.c.region).cte("regional_sales")
 
         top_regions = select([regional_sales.c.region]).\
-                where(
-                    regional_sales.c.total_sales >
-                    select([
-                        func.sum(regional_sales.c.total_sales)/10
-                    ])
-                ).cte("top_regions")
+            where(
+                regional_sales.c.total_sales > select([
+                    func.sum(regional_sales.c.total_sales) / 10
+                ])
+            ).cte("top_regions")
 
         s = select([
-                    orders.c.region,
-                    orders.c.product,
-                    func.sum(orders.c.quantity).label("product_units"),
-                    func.sum(orders.c.amount).label("product_sales")
-            ]).where(orders.c.region.in_(
-                select([top_regions.c.region])
-            )).group_by(orders.c.region, orders.c.product)
+            orders.c.region,
+            orders.c.product,
+            func.sum(orders.c.quantity).label("product_units"),
+            func.sum(orders.c.amount).label("product_sales")
+        ]).where(orders.c.region.in_(
+            select([top_regions.c.region])
+        )).group_by(orders.c.region, orders.c.product)
 
         # needs to render regional_sales first as top_regions
         # refers to it
@@ -61,17 +61,17 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_recursive(self):
         parts = table('parts',
-            column('part'),
-            column('sub_part'),
-            column('quantity'),
-        )
+                      column('part'),
+                      column('sub_part'),
+                      column('quantity'),
+                      )
 
         included_parts = select([
-                            parts.c.sub_part,
-                            parts.c.part,
-                            parts.c.quantity]).\
-                            where(parts.c.part=='our part').\
-                                cte(recursive=True)
+            parts.c.sub_part,
+            parts.c.part,
+            parts.c.quantity]).\
+            where(parts.c.part == 'our part').\
+            cte(recursive=True)
 
         incl_alias = included_parts.alias()
         parts_alias = parts.alias()
@@ -79,46 +79,45 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
             select([
                 parts_alias.c.sub_part,
                 parts_alias.c.part,
-                parts_alias.c.quantity]).\
-                where(parts_alias.c.part==incl_alias.c.sub_part)
-            )
+                parts_alias.c.quantity]).
+            where(parts_alias.c.part == incl_alias.c.sub_part)
+        )
 
         s = select([
             included_parts.c.sub_part,
             func.sum(included_parts.c.quantity).label('total_quantity')]).\
             select_from(included_parts.join(
-                    parts,included_parts.c.part==parts.c.part)).\
+                parts, included_parts.c.part == parts.c.part)).\
             group_by(included_parts.c.sub_part)
-        self.assert_compile(s,
-                "WITH RECURSIVE anon_1(sub_part, part, quantity) "
-                "AS (SELECT parts.sub_part AS sub_part, parts.part "
-                "AS part, parts.quantity AS quantity FROM parts "
-                "WHERE parts.part = :part_1 UNION SELECT parts_1.sub_part AS sub_part, "
-                "parts_1.part AS part, parts_1.quantity "
-                "AS quantity FROM parts AS parts_1, anon_1 AS anon_2 "
-                "WHERE parts_1.part = anon_2.sub_part) "
-                "SELECT anon_1.sub_part, "
-                "sum(anon_1.quantity) AS total_quantity FROM anon_1 "
-                "JOIN parts ON anon_1.part = parts.part "
-                "GROUP BY anon_1.sub_part"
-            )
+        self.assert_compile(
+            s, "WITH RECURSIVE anon_1(sub_part, part, quantity) "
+            "AS (SELECT parts.sub_part AS sub_part, parts.part "
+            "AS part, parts.quantity AS quantity FROM parts "
+            "WHERE parts.part = :part_1 UNION "
+            "SELECT parts_1.sub_part AS sub_part, "
+            "parts_1.part AS part, parts_1.quantity "
+            "AS quantity FROM parts AS parts_1, anon_1 AS anon_2 "
+            "WHERE parts_1.part = anon_2.sub_part) "
+            "SELECT anon_1.sub_part, "
+            "sum(anon_1.quantity) AS total_quantity FROM anon_1 "
+            "JOIN parts ON anon_1.part = parts.part "
+            "GROUP BY anon_1.sub_part")
 
         # quick check that the "WITH RECURSIVE" varies per
         # dialect
-        self.assert_compile(s,
-                "WITH anon_1(sub_part, part, quantity) "
-                "AS (SELECT parts.sub_part AS sub_part, parts.part "
-                "AS part, parts.quantity AS quantity FROM parts "
-                "WHERE parts.part = :part_1 UNION SELECT parts_1.sub_part AS sub_part, "
-                "parts_1.part AS part, parts_1.quantity "
-                "AS quantity FROM parts AS parts_1, anon_1 AS anon_2 "
-                "WHERE parts_1.part = anon_2.sub_part) "
-                "SELECT anon_1.sub_part, "
-                "sum(anon_1.quantity) AS total_quantity FROM anon_1 "
-                "JOIN parts ON anon_1.part = parts.part "
-                "GROUP BY anon_1.sub_part",
-                dialect=mssql.dialect()
-            )
+        self.assert_compile(
+            s, "WITH anon_1(sub_part, part, quantity) "
+            "AS (SELECT parts.sub_part AS sub_part, parts.part "
+            "AS part, parts.quantity AS quantity FROM parts "
+            "WHERE parts.part = :part_1 UNION "
+            "SELECT parts_1.sub_part AS sub_part, "
+            "parts_1.part AS part, parts_1.quantity "
+            "AS quantity FROM parts AS parts_1, anon_1 AS anon_2 "
+            "WHERE parts_1.part = anon_2.sub_part) "
+            "SELECT anon_1.sub_part, "
+            "sum(anon_1.quantity) AS total_quantity FROM anon_1 "
+            "JOIN parts ON anon_1.part = parts.part "
+            "GROUP BY anon_1.sub_part", dialect=mssql.dialect())
 
     def test_recursive_union_no_alias_one(self):
         s1 = select([literal(0).label("x")])
@@ -128,13 +127,12 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
         )
         s2 = select([cte])
         self.assert_compile(s2,
-        "WITH RECURSIVE cte(x) AS "
-        "(SELECT :param_1 AS x UNION ALL "
-        "SELECT cte.x + :x_1 AS anon_1 "
-        "FROM cte WHERE cte.x < :x_2) "
-        "SELECT cte.x FROM cte"
-        )
-
+                            "WITH RECURSIVE cte(x) AS "
+                            "(SELECT :param_1 AS x UNION ALL "
+                            "SELECT cte.x + :x_1 AS anon_1 "
+                            "FROM cte WHERE cte.x < :x_2) "
+                            "SELECT cte.x FROM cte"
+                            )
 
     def test_recursive_union_no_alias_two(self):
         """
@@ -157,13 +155,13 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
         t = t.union_all(select([t.c.n + 1]).where(t.c.n < 100))
         s = select([func.sum(t.c.n)])
         self.assert_compile(s,
-            "WITH RECURSIVE t(n) AS "
-            "(SELECT values(:values_1) AS n "
-            "UNION ALL SELECT t.n + :n_1 AS anon_1 "
-            "FROM t "
-            "WHERE t.n < :n_2) "
-            "SELECT sum(t.n) AS sum_1 FROM t"
-            )
+                            "WITH RECURSIVE t(n) AS "
+                            "(SELECT values(:values_1) AS n "
+                            "UNION ALL SELECT t.n + :n_1 AS anon_1 "
+                            "FROM t "
+                            "WHERE t.n < :n_2) "
+                            "SELECT sum(t.n) AS sum_1 FROM t"
+                            )
 
     def test_recursive_union_no_alias_three(self):
         # like test one, but let's refer to the CTE
@@ -181,14 +179,13 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
 
         s2 = select([cte, bar])
         self.assert_compile(s2,
-        "WITH RECURSIVE cte(x) AS "
-        "(SELECT :param_1 AS x UNION ALL "
-        "SELECT cte.x + :x_1 AS anon_1 "
-        "FROM cte WHERE cte.x < :x_2), "
-        "bar AS (SELECT cte.x AS x FROM cte) "
-        "SELECT cte.x, bar.x FROM cte, bar"
-        )
-
+                            "WITH RECURSIVE cte(x) AS "
+                            "(SELECT :param_1 AS x UNION ALL "
+                            "SELECT cte.x + :x_1 AS anon_1 "
+                            "FROM cte WHERE cte.x < :x_2), "
+                            "bar AS (SELECT cte.x AS x FROM cte) "
+                            "SELECT cte.x, bar.x FROM cte, bar"
+                            )
 
     def test_recursive_union_no_alias_four(self):
         # like test one and three, but let's refer
@@ -208,109 +205,104 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
         # includes "inner" cte
         s2 = select([cte, bar])
         self.assert_compile(s2,
-        "WITH RECURSIVE cte(x) AS "
-        "(SELECT :param_1 AS x UNION ALL "
-        "SELECT cte.x + :x_1 AS anon_1 "
-        "FROM cte WHERE cte.x < :x_2), "
-        "bar AS (SELECT cte.x AS x FROM cte) "
-        "SELECT cte.x, bar.x FROM cte, bar"
-        )
+                            "WITH RECURSIVE cte(x) AS "
+                            "(SELECT :param_1 AS x UNION ALL "
+                            "SELECT cte.x + :x_1 AS anon_1 "
+                            "FROM cte WHERE cte.x < :x_2), "
+                            "bar AS (SELECT cte.x AS x FROM cte) "
+                            "SELECT cte.x, bar.x FROM cte, bar"
+                            )
 
         # bar rendered, only includes "inner" cte,
         # "outer" cte isn't present
         s2 = select([bar])
         self.assert_compile(s2,
-        "WITH RECURSIVE cte(x) AS "
-        "(SELECT :param_1 AS x), "
-        "bar AS (SELECT cte.x AS x FROM cte) "
-        "SELECT bar.x FROM bar"
-        )
+                            "WITH RECURSIVE cte(x) AS "
+                            "(SELECT :param_1 AS x), "
+                            "bar AS (SELECT cte.x AS x FROM cte) "
+                            "SELECT bar.x FROM bar"
+                            )
 
         # bar rendered, but then the "outer"
         # cte is rendered.
         s2 = select([bar, cte])
-        self.assert_compile(s2,
-        "WITH RECURSIVE bar AS (SELECT cte.x AS x FROM cte), "
-        "cte(x) AS "
-        "(SELECT :param_1 AS x UNION ALL "
-        "SELECT cte.x + :x_1 AS anon_1 "
-        "FROM cte WHERE cte.x < :x_2) "
-
-        "SELECT bar.x, cte.x FROM bar, cte"
-        )
+        self.assert_compile(
+            s2, "WITH RECURSIVE bar AS (SELECT cte.x AS x FROM cte), "
+            "cte(x) AS "
+            "(SELECT :param_1 AS x UNION ALL "
+            "SELECT cte.x + :x_1 AS anon_1 "
+            "FROM cte WHERE cte.x < :x_2) "
+            "SELECT bar.x, cte.x FROM bar, cte")
 
     def test_conflicting_names(self):
         """test a flat out name conflict."""
 
         s1 = select([1])
-        c1= s1.cte(name='cte1', recursive=True)
+        c1 = s1.cte(name='cte1', recursive=True)
         s2 = select([1])
         c2 = s2.cte(name='cte1', recursive=True)
 
         s = select([c1, c2])
         assert_raises_message(
-                CompileError,
-                "Multiple, unrelated CTEs found "
-                "with the same name: 'cte1'",
-                s.compile
+            CompileError,
+            "Multiple, unrelated CTEs found "
+            "with the same name: 'cte1'",
+            s.compile
         )
 
-
-
-
     def test_union(self):
         orders = table('orders',
-            column('region'),
-            column('amount'),
-        )
+                       column('region'),
+                       column('amount'),
+                       )
 
         regional_sales = select([
-                            orders.c.region,
-                            orders.c.amount
-                        ]).cte("regional_sales")
+            orders.c.region,
+            orders.c.amount
+        ]).cte("regional_sales")
 
-        s = select([regional_sales.c.region]).\
-                where(
-                    regional_sales.c.amount > 500
-                )
+        s = select(
+            [regional_sales.c.region]).where(
+            regional_sales.c.amount > 500
+        )
 
         self.assert_compile(s,
-            "WITH regional_sales AS "
-            "(SELECT orders.region AS region, "
-            "orders.amount AS amount FROM orders) "
-            "SELECT regional_sales.region "
-            "FROM regional_sales WHERE "
-            "regional_sales.amount > :amount_1")
+                            "WITH regional_sales AS "
+                            "(SELECT orders.region AS region, "
+                            "orders.amount AS amount FROM orders) "
+                            "SELECT regional_sales.region "
+                            "FROM regional_sales WHERE "
+                            "regional_sales.amount > :amount_1")
 
         s = s.union_all(
-            select([regional_sales.c.region]).\
-                where(
-                    regional_sales.c.amount < 300
-                )
+            select([regional_sales.c.region]).
+            where(
+                regional_sales.c.amount < 300
+            )
         )
         self.assert_compile(s,
-            "WITH regional_sales AS "
-            "(SELECT orders.region AS region, "
-            "orders.amount AS amount FROM orders) "
-            "SELECT regional_sales.region FROM regional_sales "
-            "WHERE regional_sales.amount > :amount_1 "
-            "UNION ALL SELECT regional_sales.region "
-            "FROM regional_sales WHERE "
-            "regional_sales.amount < :amount_2")
+                            "WITH regional_sales AS "
+                            "(SELECT orders.region AS region, "
+                            "orders.amount AS amount FROM orders) "
+                            "SELECT regional_sales.region FROM regional_sales "
+                            "WHERE regional_sales.amount > :amount_1 "
+                            "UNION ALL SELECT regional_sales.region "
+                            "FROM regional_sales WHERE "
+                            "regional_sales.amount < :amount_2")
 
     def test_reserved_quote(self):
         orders = table('orders',
-            column('order'),
-        )
+                       column('order'),
+                       )
         s = select([orders.c.order]).cte("regional_sales", recursive=True)
         s = select([s.c.order])
         self.assert_compile(s,
-            'WITH RECURSIVE regional_sales("order") AS '
-            '(SELECT orders."order" AS "order" '
-            "FROM orders)"
-            ' SELECT regional_sales."order" '
-            "FROM regional_sales"
-            )
+                            'WITH RECURSIVE regional_sales("order") AS '
+                            '(SELECT orders."order" AS "order" '
+                            "FROM orders)"
+                            ' SELECT regional_sales."order" '
+                            "FROM regional_sales"
+                            )
 
     def test_multi_subq_quote(self):
         cte = select([literal(1).label("id")]).cte(name='CTE')
@@ -327,65 +319,61 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
             '(SELECT "CTE".id AS id FROM "CTE") AS anon_2'
         )
 
-
     def test_positional_binds(self):
         orders = table('orders',
-            column('order'),
-        )
+                       column('order'),
+                       )
         s = select([orders.c.order, literal("x")]).cte("regional_sales")
         s = select([s.c.order, literal("y")])
         dialect = default.DefaultDialect()
         dialect.positional = True
         dialect.paramstyle = 'numeric'
-        self.assert_compile(s,
+        self.assert_compile(
+            s,
             'WITH regional_sales AS (SELECT orders."order" '
             'AS "order", :1 AS anon_2 FROM orders) SELECT '
             'regional_sales."order", :2 AS anon_1 FROM regional_sales',
-            checkpositional=('x', 'y'),
-            dialect=dialect
-        )
+            checkpositional=(
+                'x',
+                'y'),
+            dialect=dialect)
 
-        self.assert_compile(s.union(s),
-            'WITH regional_sales AS (SELECT orders."order" '
+        self.assert_compile(
+            s.union(s), 'WITH regional_sales AS (SELECT orders."order" '
             'AS "order", :1 AS anon_2 FROM orders) SELECT '
             'regional_sales."order", :2 AS anon_1 FROM regional_sales '
             'UNION SELECT regional_sales."order", :3 AS anon_1 '
-            'FROM regional_sales',
-            checkpositional=('x', 'y', 'y'),
-            dialect=dialect
-        )
+            'FROM regional_sales', checkpositional=(
+                'x', 'y', 'y'), dialect=dialect)
 
         s = select([orders.c.order]).\
-            where(orders.c.order=='x').cte("regional_sales")
-        s = select([s.c.order]).where(s.c.order=="y")
-        self.assert_compile(s,
-            'WITH regional_sales AS (SELECT orders."order" AS '
+            where(orders.c.order == 'x').cte("regional_sales")
+        s = select([s.c.order]).where(s.c.order == "y")
+        self.assert_compile(
+            s, 'WITH regional_sales AS (SELECT orders."order" AS '
             '"order" FROM orders WHERE orders."order" = :1) '
             'SELECT regional_sales."order" FROM regional_sales '
-            'WHERE regional_sales."order" = :2',
-            checkpositional=('x', 'y'),
-            dialect=dialect
-        )
+            'WHERE regional_sales."order" = :2', checkpositional=(
+                'x', 'y'), dialect=dialect)
 
     def test_positional_binds_2(self):
         orders = table('orders',
-            column('order'),
-        )
+                       column('order'),
+                       )
         s = select([orders.c.order, literal("x")]).cte("regional_sales")
         s = select([s.c.order, literal("y")])
         dialect = default.DefaultDialect()
         dialect.positional = True
         dialect.paramstyle = 'numeric'
         s1 = select([orders.c.order]).where(orders.c.order == 'x').\
-                    cte("regional_sales_1")
+            cte("regional_sales_1")
 
         s1a = s1.alias()
 
         s2 = select([orders.c.order == 'y', s1a.c.order,
-                    orders.c.order, s1.c.order]).\
-                    where(orders.c.order == 'z').\
-                    cte("regional_sales_2")
-
+                     orders.c.order, s1.c.order]).\
+            where(orders.c.order == 'z').\
+            cte("regional_sales_2")
 
         s3 = select([s2])
 
@@ -403,7 +391,6 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
             'regional_sales_2."order" FROM regional_sales_2',
             checkpositional=('x', 'y', 'z'), dialect=dialect)
 
-
     def test_all_aliases(self):
         orders = table('order', column('order'))
         s = select([orders.c.order]).cte("regional_sales")
@@ -422,7 +409,11 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
             'regional_sales AS anon_2 WHERE anon_1."order" > anon_2."order"'
         )
 
-        s3 = select([orders]).select_from(orders.join(r1, r1.c.order == orders.c.order))
+        s3 = select(
+            [orders]).select_from(
+            orders.join(
+                r1,
+                r1.c.order == orders.c.order))
 
         self.assert_compile(
             s3,
@@ -430,5 +421,6 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
             '(SELECT "order"."order" AS "order" '
             'FROM "order")'
             ' SELECT "order"."order" '
-            'FROM "order" JOIN regional_sales AS anon_1 ON anon_1."order" = "order"."order"'
-        )
\ No newline at end of file
+            'FROM "order" JOIN regional_sales AS anon_1 '
+            'ON anon_1."order" = "order"."order"'
+        )
index be75f63ec4d7af2d31835b4afc4e190429647a0a..825f8228ba3051a7b96747a6b5f21503c2205f35 100644 (file)
@@ -1,11 +1,12 @@
 from sqlalchemy.testing import fixtures
 from sqlalchemy.sql.ddl import SchemaGenerator, SchemaDropper
-from sqlalchemy.engine import default
 from sqlalchemy import MetaData, Table, Column, Integer, Sequence
 from sqlalchemy import schema
 from sqlalchemy.testing.mock import Mock
 
+
 class EmitDDLTest(fixtures.TestBase):
+
     def _mock_connection(self, item_exists):
         def has_item(connection, name, schema):
             return item_exists(name)
@@ -14,32 +15,32 @@ class EmitDDLTest(fixtures.TestBase):
                     supports_sequences=True,
                     has_table=Mock(side_effect=has_item),
                     has_sequence=Mock(side_effect=has_item)
-                )
-                )
+                    )
+                    )
 
     def _mock_create_fixture(self, checkfirst, tables,
-                    item_exists=lambda item: False):
+                             item_exists=lambda item: False):
         connection = self._mock_connection(item_exists)
 
         return SchemaGenerator(connection.dialect, connection,
-                    checkfirst=checkfirst,
-                    tables=tables)
+                               checkfirst=checkfirst,
+                               tables=tables)
 
     def _mock_drop_fixture(self, checkfirst, tables,
-                    item_exists=lambda item: True):
+                           item_exists=lambda item: True):
         connection = self._mock_connection(item_exists)
 
         return SchemaDropper(connection.dialect, connection,
-                    checkfirst=checkfirst,
-                    tables=tables)
+                             checkfirst=checkfirst,
+                             tables=tables)
 
     def _table_fixture(self):
         m = MetaData()
 
         return (m, ) + tuple(
-                            Table('t%d' % i, m, Column('x', Integer))
-                            for i in range(1, 6)
-                        )
+            Table('t%d' % i, m, Column('x', Integer))
+            for i in range(1, 6)
+        )
 
     def _table_seq_fixture(self):
         m = MetaData()
@@ -51,101 +52,123 @@ class EmitDDLTest(fixtures.TestBase):
 
         return m, t1, t2, s1, s2
 
-
     def test_create_seq_checkfirst(self):
         m, t1, t2, s1, s2 = self._table_seq_fixture()
-        generator = self._mock_create_fixture(True, [t1, t2],
-                        item_exists=lambda t: t not in ("t1", "s1")
-                        )
+        generator = self._mock_create_fixture(
+            True, [
+                t1, t2], item_exists=lambda t: t not in (
+                "t1", "s1"))
 
         self._assert_create([t1, s1], generator, m)
 
-
     def test_drop_seq_checkfirst(self):
         m, t1, t2, s1, s2 = self._table_seq_fixture()
-        generator = self._mock_drop_fixture(True, [t1, t2],
-                        item_exists=lambda t: t in ("t1", "s1")
-                        )
+        generator = self._mock_drop_fixture(
+            True, [
+                t1, t2], item_exists=lambda t: t in (
+                "t1", "s1"))
 
         self._assert_drop([t1, s1], generator, m)
 
     def test_create_collection_checkfirst(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_create_fixture(True, [t2, t3, t4],
-                        item_exists=lambda t: t not in ("t2", "t4")
-                        )
+        generator = self._mock_create_fixture(
+            True, [
+                t2, t3, t4], item_exists=lambda t: t not in (
+                "t2", "t4"))
 
         self._assert_create_tables([t2, t4], generator, m)
 
     def test_drop_collection_checkfirst(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_drop_fixture(True, [t2, t3, t4],
-                        item_exists=lambda t: t in ("t2", "t4")
-                        )
+        generator = self._mock_drop_fixture(
+            True, [
+                t2, t3, t4], item_exists=lambda t: t in (
+                "t2", "t4"))
 
         self._assert_drop_tables([t2, t4], generator, m)
 
     def test_create_collection_nocheck(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_create_fixture(False, [t2, t3, t4],
-                        item_exists=lambda t: t not in ("t2", "t4")
-                        )
+        generator = self._mock_create_fixture(
+            False, [
+                t2, t3, t4], item_exists=lambda t: t not in (
+                "t2", "t4"))
 
         self._assert_create_tables([t2, t3, t4], generator, m)
 
     def test_create_empty_collection(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_create_fixture(True, [],
-                        item_exists=lambda t: t not in ("t2", "t4")
-                        )
+        generator = self._mock_create_fixture(
+            True,
+            [],
+            item_exists=lambda t: t not in (
+                "t2",
+                "t4"))
 
         self._assert_create_tables([], generator, m)
 
     def test_drop_empty_collection(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_drop_fixture(True, [],
-                        item_exists=lambda t: t in ("t2", "t4")
-                        )
+        generator = self._mock_drop_fixture(
+            True,
+            [],
+            item_exists=lambda t: t in (
+                "t2",
+                "t4"))
 
         self._assert_drop_tables([], generator, m)
 
     def test_drop_collection_nocheck(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_drop_fixture(False, [t2, t3, t4],
-                        item_exists=lambda t: t in ("t2", "t4")
-                        )
+        generator = self._mock_drop_fixture(
+            False, [
+                t2, t3, t4], item_exists=lambda t: t in (
+                "t2", "t4"))
 
         self._assert_drop_tables([t2, t3, t4], generator, m)
 
     def test_create_metadata_checkfirst(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_create_fixture(True, None,
-                        item_exists=lambda t: t not in ("t2", "t4")
-                        )
+        generator = self._mock_create_fixture(
+            True,
+            None,
+            item_exists=lambda t: t not in (
+                "t2",
+                "t4"))
 
         self._assert_create_tables([t2, t4], generator, m)
 
     def test_drop_metadata_checkfirst(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_drop_fixture(True, None,
-                        item_exists=lambda t: t in ("t2", "t4")
-                        )
+        generator = self._mock_drop_fixture(
+            True,
+            None,
+            item_exists=lambda t: t in (
+                "t2",
+                "t4"))
 
         self._assert_drop_tables([t2, t4], generator, m)
 
     def test_create_metadata_nocheck(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_create_fixture(False, None,
-                        item_exists=lambda t: t not in ("t2", "t4")
-                        )
+        generator = self._mock_create_fixture(
+            False,
+            None,
+            item_exists=lambda t: t not in (
+                "t2",
+                "t4"))
 
         self._assert_create_tables([t1, t2, t3, t4, t5], generator, m)
 
     def test_drop_metadata_nocheck(self):
         m, t1, t2, t3, t4, t5 = self._table_fixture()
-        generator = self._mock_drop_fixture(False, None,
-                        item_exists=lambda t: t in ("t2", "t4")
-                        )
+        generator = self._mock_drop_fixture(
+            False,
+            None,
+            item_exists=lambda t: t in (
+                "t2",
+                "t4"))
 
         self._assert_drop_tables([t1, t2, t3, t4, t5], generator, m)
 
@@ -157,13 +180,13 @@ class EmitDDLTest(fixtures.TestBase):
 
     def _assert_create(self, elements, generator, argument):
         self._assert_ddl(
-                (schema.CreateTable, schema.CreateSequence),
-                elements, generator, argument)
+            (schema.CreateTable, schema.CreateSequence),
+            elements, generator, argument)
 
     def _assert_drop(self, elements, generator, argument):
         self._assert_ddl(
-                (schema.DropTable, schema.DropSequence),
-                elements, generator, argument)
+            (schema.DropTable, schema.DropSequence),
+            elements, generator, argument)
 
     def _assert_ddl(self, ddl_cls, elements, generator, argument):
         generator.traverse_single(argument)
@@ -171,6 +194,6 @@ class EmitDDLTest(fixtures.TestBase):
             c = call_[1][0]
             assert isinstance(c, ddl_cls)
             assert c.element in elements, "element %r was not expected"\
-                             % c.element
+                % c.element
             elements.remove(c.element)
         assert not elements, "elements remain in list: %r" % elements
index 2c144daf4c985eb6d4e4950550be3320ac7c70a0..7688aba40da0e746ab764d6aab251faff92727cb 100644 (file)
@@ -50,6 +50,7 @@ class DefaultTest(fixtures.TestBase):
         is_oracle = testing.against('oracle')
 
         class MyClass(object):
+
             @classmethod
             def gen_default(cls, ctx):
                 return "hi"
@@ -166,10 +167,12 @@ class DefaultTest(fixtures.TestBase):
             pass
 
         class fn3(object):
+
             def __init__(self, x, y):
                 pass
 
         class FN4(object):
+
             def __call__(self, x, y):
                 pass
         fn4 = FN4()
@@ -194,19 +197,23 @@ class DefaultTest(fixtures.TestBase):
         fn5 = list
 
         class fn6a(object):
+
             def __init__(self, x):
                 eq_(x, "context")
 
         class fn6b(object):
+
             def __init__(self, x, y=3):
                 eq_(x, "context")
 
         class FN7(object):
+
             def __call__(self, x):
                 eq_(x, "context")
         fn7 = FN7()
 
         class FN8(object):
+
             def __call__(self, x, y=3):
                 eq_(x, "context")
         fn8 = FN8()
@@ -1023,6 +1030,7 @@ class TableBoundSequenceTest(fixtures.TestBase):
 
 
 class SpecialTypePKTest(fixtures.TestBase):
+
     """test process_result_value in conjunction with primary key columns.
 
     Also tests that "autoincrement" checks are against
index 64173bb008c8445ea77a1835c7fc45db0f358d69..904dcee3f2922ff1d777b965c45ef2dcc3d85470 100644 (file)
@@ -1,11 +1,13 @@
 #! coding:utf-8
 
-from sqlalchemy import Column, Integer, String, Table, delete, select, and_, or_
+from sqlalchemy import Column, Integer, String, Table, delete, select, and_, \
+    or_
 from sqlalchemy.dialects import mysql
 from sqlalchemy.testing import AssertsCompiledSQL, fixtures
 
 
 class _DeleteTestBase(object):
+
     @classmethod
     def define_tables(cls, metadata):
         Table('mytable', metadata,
@@ -33,8 +35,8 @@ class DeleteTest(_DeleteTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
         self.assert_compile(
             table1.delete().
-                where(table1.c.myid == 7).
-                where(table1.c.name == 'somename'),
+            where(table1.c.myid == 7).
+            where(table1.c.name == 'somename'),
             'DELETE FROM mytable '
             'WHERE mytable.myid = :myid_1 '
             'AND mytable.name = :name_1')
@@ -59,11 +61,11 @@ class DeleteTest(_DeleteTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             prefix_with('C', 'D')
 
         self.assert_compile(stmt,
-            'DELETE C D FROM mytable')
+                            'DELETE C D FROM mytable')
 
         self.assert_compile(stmt,
-            'DELETE A B C D FROM mytable',
-            dialect=mysql.dialect())
+                            'DELETE A B C D FROM mytable',
+                            dialect=mysql.dialect())
 
     def test_alias(self):
         table1 = self.tables.mytable
@@ -71,7 +73,8 @@ class DeleteTest(_DeleteTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         talias1 = table1.alias('t1')
         stmt = delete(talias1).where(talias1.c.myid == 7)
 
-        self.assert_compile(stmt,
+        self.assert_compile(
+            stmt,
             'DELETE FROM mytable AS t1 WHERE t1.myid = :myid_1')
 
     def test_correlated(self):
@@ -80,19 +83,19 @@ class DeleteTest(_DeleteTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         # test a non-correlated WHERE clause
         s = select([table2.c.othername], table2.c.otherid == 7)
         self.assert_compile(delete(table1, table1.c.name == s),
-            'DELETE FROM mytable '
-            'WHERE mytable.name = ('
-                'SELECT myothertable.othername '
-                'FROM myothertable '
-                'WHERE myothertable.otherid = :otherid_1'
-            ')')
+                            'DELETE FROM mytable '
+                            'WHERE mytable.name = ('
+                            'SELECT myothertable.othername '
+                            'FROM myothertable '
+                            'WHERE myothertable.otherid = :otherid_1'
+                            ')')
 
         # test one that is actually correlated...
         s = select([table2.c.othername], table2.c.otherid == table1.c.myid)
         self.assert_compile(table1.delete(table1.c.name == s),
-            'DELETE FROM mytable '
-            'WHERE mytable.name = ('
-                'SELECT myothertable.othername '
-                'FROM myothertable '
-                'WHERE myothertable.otherid = mytable.myid'
-            ')')
+                            'DELETE FROM mytable '
+                            'WHERE mytable.name = ('
+                            'SELECT myothertable.othername '
+                            'FROM myothertable '
+                            'WHERE myothertable.otherid = mytable.myid'
+                            ')')
index 87c102a21a62becfbbd1393e94b4d84874e7cbce..4d066be8a406163324dcb0f2c98b5e46f861293f 100644 (file)
@@ -1,6 +1,7 @@
 from sqlalchemy.testing import eq_
 import datetime
-from sqlalchemy import *
+from sqlalchemy import func, select, Integer, literal, DateTime, Table, \
+    Column, Sequence, MetaData, extract, Date, String, bindparam
 from sqlalchemy.sql import table, column
 from sqlalchemy import sql, util
 from sqlalchemy.sql.compiler import BIND_TEMPLATES
@@ -24,14 +25,14 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
         for dialect in all_dialects(exclude=('sybase', )):
             bindtemplate = BIND_TEMPLATES[dialect.paramstyle]
             self.assert_compile(func.current_timestamp(),
-                                        "CURRENT_TIMESTAMP", dialect=dialect)
+                                "CURRENT_TIMESTAMP", dialect=dialect)
             self.assert_compile(func.localtime(), "LOCALTIME", dialect=dialect)
             if dialect.name in ('firebird',):
                 self.assert_compile(func.nosuchfunction(),
-                                            "nosuchfunction", dialect=dialect)
+                                    "nosuchfunction", dialect=dialect)
             else:
                 self.assert_compile(func.nosuchfunction(),
-                                        "nosuchfunction()", dialect=dialect)
+                                    "nosuchfunction()", dialect=dialect)
 
             # test generic function compile
             class fake_func(GenericFunction):
@@ -41,15 +42,16 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
                     GenericFunction.__init__(self, arg, **kwargs)
 
             self.assert_compile(
-                            fake_func('foo'),
-                            "fake_func(%s)" %
-                            bindtemplate % {'name': 'param_1', 'position': 1},
-                            dialect=dialect)
+                fake_func('foo'),
+                "fake_func(%s)" %
+                bindtemplate % {'name': 'param_1', 'position': 1},
+                dialect=dialect)
 
     def test_use_labels(self):
         self.assert_compile(select([func.foo()], use_labels=True),
-            "SELECT foo() AS foo_1"
-        )
+                            "SELECT foo() AS foo_1"
+                            )
+
     def test_underscores(self):
         self.assert_compile(func.if_(), "if()")
 
@@ -81,6 +83,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             fn, "coalesce(:param_1, :param_2)"
         )
+
     def test_custom_default_namespace(self):
         class myfunc(GenericFunction):
             pass
@@ -204,26 +207,25 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
 
         for fn in [func.coalesce, func.max, func.min, func.sum]:
             for args, type_ in [
-                            ((datetime.date(2007, 10, 5),
-                                datetime.date(2005, 10, 15)), sqltypes.Date),
-                            ((3, 5), sqltypes.Integer),
-                            ((decimal.Decimal(3), decimal.Decimal(5)),
-                                                        sqltypes.Numeric),
-                            (("foo", "bar"), sqltypes.String),
-                            ((datetime.datetime(2007, 10, 5, 8, 3, 34),
-                                datetime.datetime(2005, 10, 15, 14, 45, 33)),
-                                                        sqltypes.DateTime)
-                        ]:
+                ((datetime.date(2007, 10, 5),
+                  datetime.date(2005, 10, 15)), sqltypes.Date),
+                ((3, 5), sqltypes.Integer),
+                ((decimal.Decimal(3), decimal.Decimal(5)),
+                 sqltypes.Numeric),
+                (("foo", "bar"), sqltypes.String),
+                ((datetime.datetime(2007, 10, 5, 8, 3, 34),
+                  datetime.datetime(2005, 10, 15, 14, 45, 33)),
+                 sqltypes.DateTime)
+            ]:
                 assert isinstance(fn(*args).type, type_), \
-                            "%s / %r != %s" % (fn(), fn(*args).type, type_)
+                    "%s / %r != %s" % (fn(), fn(*args).type, type_)
 
         assert isinstance(func.concat("foo", "bar").type, sqltypes.String)
 
-
     def test_assorted(self):
         table1 = table('mytable',
-            column('myid', Integer),
-        )
+                       column('myid', Integer),
+                       )
 
         table2 = table(
             'myothertable',
@@ -232,35 +234,42 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
 
         # test an expression with a function
         self.assert_compile(func.lala(3, 4, literal("five"),
-                                        table1.c.myid) * table2.c.otherid,
-            "lala(:lala_1, :lala_2, :param_1, mytable.myid) * "
-            "myothertable.otherid")
+                                      table1.c.myid) * table2.c.otherid,
+                            "lala(:lala_1, :lala_2, :param_1, mytable.myid) * "
+                            "myothertable.otherid")
 
         # test it in a SELECT
-        self.assert_compile(select([func.count(table1.c.myid)]),
+        self.assert_compile(select(
+            [func.count(table1.c.myid)]),
             "SELECT count(mytable.myid) AS count_1 FROM mytable")
 
         # test a "dotted" function name
-        self.assert_compile(select([func.foo.bar.lala(table1.c.myid)]),
+        self.assert_compile(select([func.foo.bar.lala(
+            table1.c.myid)]),
             "SELECT foo.bar.lala(mytable.myid) AS lala_1 FROM mytable")
 
         # test the bind parameter name with a "dotted" function name is
         # only the name (limits the length of the bind param name)
         self.assert_compile(select([func.foo.bar.lala(12)]),
-            "SELECT foo.bar.lala(:lala_2) AS lala_1")
+                            "SELECT foo.bar.lala(:lala_2) AS lala_1")
 
         # test a dotted func off the engine itself
         self.assert_compile(func.lala.hoho(7), "lala.hoho(:hoho_1)")
 
         # test None becomes NULL
-        self.assert_compile(func.my_func(1, 2, None, 3),
-                        "my_func(:my_func_1, :my_func_2, NULL, :my_func_3)")
+        self.assert_compile(
+            func.my_func(
+                1,
+                2,
+                None,
+                3),
+            "my_func(:my_func_1, :my_func_2, NULL, :my_func_3)")
 
         # test pickling
         self.assert_compile(
-                util.pickle.loads(util.pickle.dumps(
-                                        func.my_func(1, 2, None, 3))),
-                "my_func(:my_func_1, :my_func_2, NULL, :my_func_3)")
+            util.pickle.loads(util.pickle.dumps(
+                func.my_func(1, 2, None, 3))),
+            "my_func(:my_func_1, :my_func_2, NULL, :my_func_3)")
 
         # assert func raises AttributeError for __bases__ attribute, since
         # its not a class fixes pydoc
@@ -271,28 +280,34 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
             assert True
 
     def test_functions_with_cols(self):
-        users = table('users', column('id'), column('name'), column('fullname'))
-        calculate = select([column('q'), column('z'), column('r')],
-            from_obj=[func.calculate(bindparam('x', None), bindparam('y', None))])
+        users = table(
+            'users',
+            column('id'),
+            column('name'),
+            column('fullname'))
+        calculate = select([column('q'), column('z'), column('r')], from_obj=[
+                           func.calculate(
+                               bindparam('x', None), bindparam('y', None)
+                           )])
 
         self.assert_compile(select([users], users.c.id > calculate.c.z),
-            "SELECT users.id, users.name, users.fullname "
-            "FROM users, (SELECT q, z, r "
-            "FROM calculate(:x, :y)) "
-            "WHERE users.id > z"
-        )
+                            "SELECT users.id, users.name, users.fullname "
+                            "FROM users, (SELECT q, z, r "
+                            "FROM calculate(:x, :y)) "
+                            "WHERE users.id > z"
+                            )
 
         s = select([users], users.c.id.between(
             calculate.alias('c1').unique_params(x=17, y=45).c.z,
             calculate.alias('c2').unique_params(x=5, y=12).c.z))
 
-        self.assert_compile(s,
-            "SELECT users.id, users.name, users.fullname "
+        self.assert_compile(
+            s, "SELECT users.id, users.name, users.fullname "
             "FROM users, (SELECT q, z, r "
             "FROM calculate(:x_1, :y_1)) AS c1, (SELECT q, z, r "
             "FROM calculate(:x_2, :y_2)) AS c2 "
-            "WHERE users.id BETWEEN c1.z AND c2.z",
-            checkparams={'y_1': 45, 'x_1': 17, 'y_2': 12, 'x_2': 5})
+            "WHERE users.id BETWEEN c1.z AND c2.z", checkparams={
+                'y_1': 45, 'x_1': 17, 'y_2': 12, 'x_2': 5})
 
     def test_non_functions(self):
         expr = func.cast("foo", Integer)
@@ -301,12 +316,13 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
         expr = func.extract("year", datetime.date(2010, 12, 5))
         self.assert_compile(expr, "EXTRACT(year FROM :param_1)")
 
+
 class ExecuteTest(fixtures.TestBase):
+
     @engines.close_first
     def tearDown(self):
         pass
 
-
     def test_conn_execute(self):
         from sqlalchemy.sql.expression import FunctionElement
         from sqlalchemy.ext.compiler import compiles
@@ -341,7 +357,6 @@ class ExecuteTest(fixtures.TestBase):
         eq_(ret.context.execution_options, {'foo': 'bar'})
         ret.close()
 
-
     @engines.close_first
     def test_update(self):
         """
@@ -352,16 +367,16 @@ class ExecuteTest(fixtures.TestBase):
 
         meta = MetaData(testing.db)
         t = Table('t1', meta,
-            Column('id', Integer, Sequence('t1idseq', optional=True),
-                                                            primary_key=True),
-            Column('value', Integer)
-        )
+                  Column('id', Integer, Sequence('t1idseq', optional=True),
+                         primary_key=True),
+                  Column('value', Integer)
+                  )
         t2 = Table('t2', meta,
-            Column('id', Integer, Sequence('t2idseq', optional=True),
-                                                            primary_key=True),
-            Column('value', Integer, default=7),
-            Column('stuff', String(20), onupdate="thisisstuff")
-        )
+                   Column('id', Integer, Sequence('t2idseq', optional=True),
+                          primary_key=True),
+                   Column('value', Integer, default=7),
+                   Column('stuff', String(20), onupdate="thisisstuff")
+                   )
         meta.create_all()
         try:
             t.insert(values=dict(value=func.length("one"))).execute()
@@ -374,20 +389,19 @@ class ExecuteTest(fixtures.TestBase):
             assert t.select(t.c.id == id).execute().first()['value'] == 9
             t.update(values={t.c.value: func.length("asdf")}).execute()
             assert t.select().execute().first()['value'] == 4
-            print("--------------------------")
             t2.insert().execute()
             t2.insert(values=dict(value=func.length("one"))).execute()
             t2.insert(values=dict(value=func.length("asfda") + -19)).\
-                            execute(stuff="hi")
+                execute(stuff="hi")
 
             res = exec_sorted(select([t2.c.value, t2.c.stuff]))
             eq_(res, [(-14, 'hi'), (3, None), (7, None)])
 
             t2.update(values=dict(value=func.length("asdsafasd"))).\
-                        execute(stuff="some stuff")
+                execute(stuff="some stuff")
             assert select([t2.c.value, t2.c.stuff]).execute().fetchall() == \
-                        [(9, "some stuff"), (9, "some stuff"),
-                            (9, "some stuff")]
+                [(9, "some stuff"), (9, "some stuff"),
+                 (9, "some stuff")]
 
             t2.delete().execute()
 
@@ -401,10 +415,10 @@ class ExecuteTest(fixtures.TestBase):
             )
 
             t2.update(values={t2.c.value: func.length("asfdaasdf"),
-                                        t2.c.stuff: "foo"}).execute()
+                              t2.c.stuff: "foo"}).execute()
             print("HI", select([t2.c.value, t2.c.stuff]).execute().first())
             eq_(select([t2.c.value, t2.c.stuff]).execute().first(),
-                    (9, "foo")
+                (9, "foo")
                 )
         finally:
             meta.drop_all()
@@ -416,12 +430,12 @@ class ExecuteTest(fixtures.TestBase):
         y = func.current_date(bind=testing.db).select().execute().scalar()
         z = func.current_date(bind=testing.db).scalar()
         w = select(['*'], from_obj=[func.current_date(bind=testing.db)]).\
-                    scalar()
+            scalar()
 
         # construct a column-based FROM object out of a function,
         # like in [ticket:172]
         s = select([sql.column('date', type_=DateTime)],
-                            from_obj=[func.current_date(bind=testing.db)])
+                   from_obj=[func.current_date(bind=testing.db)])
         q = s.execute().first()[s.c.date]
         r = s.alias('datequery').select().scalar()
 
@@ -470,4 +484,3 @@ def exec_sorted(statement, *args, **kw):
 
     return sorted([tuple(row)
                    for row in statement.execute(*args, **kw).fetchall()])
-
index 8a366f7576ca9b2523f5ba59296aa50cded46e66..51a8a77cc4a3e8b4312754cfc15ad55bda968496 100644 (file)
@@ -1,6 +1,8 @@
-from sqlalchemy import *
 from sqlalchemy.sql import table, column, ClauseElement, operators
-from sqlalchemy.sql.expression import  _clone, _from_objects
+from sqlalchemy.sql.expression import _clone, _from_objects
+from sqlalchemy import func, select, Integer, Table, \
+    Column, MetaData, extract, String, bindparam, tuple_, and_, union, text,\
+    case, ForeignKey
 from sqlalchemy.testing import fixtures, AssertsExecutionResults, \
     AssertsCompiledSQL
 from sqlalchemy import testing
@@ -10,7 +12,11 @@ from sqlalchemy import exc
 from sqlalchemy.sql import util as sql_util
 from sqlalchemy.testing import eq_, is_, assert_raises, assert_raises_message
 
+A = B = t1 = t2 = t3 = table1 = table2 = table3 = table4 = None
+
+
 class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
+
     """test ClauseVisitor's traversal, particularly its
     ability to copy and modify a ClauseElement in place."""
 
@@ -83,7 +89,7 @@ class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
         struct = B(a1, A("expr2"), B(A("expr1b"), A("expr2b")), A("expr3"))
         struct2 = B(a1, A("expr2"), B(A("expr1b"), A("expr2b")), A("expr3"))
         struct3 = B(a1, A("expr2"), B(A("expr1b"),
-                        A("expr2bmodified")), A("expr3"))
+                                      A("expr2bmodified")), A("expr3"))
 
         assert a1.is_other(a1)
         assert struct.is_other(struct)
@@ -94,11 +100,13 @@ class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
 
     def test_clone(self):
         struct = B(A("expr1"), A("expr2"), B(A("expr1b"),
-                        A("expr2b")), A("expr3"))
+                                             A("expr2b")), A("expr3"))
 
         class Vis(CloningVisitor):
+
             def visit_a(self, a):
                 pass
+
             def visit_b(self, b):
                 pass
 
@@ -109,11 +117,13 @@ class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
 
     def test_no_clone(self):
         struct = B(A("expr1"), A("expr2"), B(A("expr1b"),
-                                A("expr2b")), A("expr3"))
+                                             A("expr2b")), A("expr3"))
 
         class Vis(ClauseVisitor):
+
             def visit_a(self, a):
                 pass
+
             def visit_b(self, b):
                 pass
 
@@ -124,16 +134,18 @@ class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
 
     def test_change_in_place(self):
         struct = B(A("expr1"), A("expr2"), B(A("expr1b"),
-                                A("expr2b")), A("expr3"))
+                                             A("expr2b")), A("expr3"))
         struct2 = B(A("expr1"), A("expr2modified"), B(A("expr1b"),
-                                A("expr2b")), A("expr3"))
+                                                      A("expr2b")), A("expr3"))
         struct3 = B(A("expr1"), A("expr2"), B(A("expr1b"),
-                                A("expr2bmodified")), A("expr3"))
+                                              A("expr2bmodified")), A("expr3"))
 
         class Vis(CloningVisitor):
+
             def visit_a(self, a):
                 if a.expr == "expr2":
                     a.expr = "expr2modified"
+
             def visit_b(self, b):
                 pass
 
@@ -144,9 +156,11 @@ class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
         assert struct2 == s2
 
         class Vis2(CloningVisitor):
+
             def visit_a(self, a):
                 if a.expr == "expr2b":
                     a.expr = "expr2bmodified"
+
             def visit_b(self, b):
                 pass
 
@@ -169,11 +183,14 @@ class TraversalTest(fixtures.TestBase, AssertsExecutionResults):
         set(ClauseVisitor().iterate(bin))
         assert set(ClauseVisitor().iterate(bin)) == set([foo, bar, bin])
 
+
 class BinaryEndpointTraversalTest(fixtures.TestBase):
+
     """test the special binary product visit"""
 
     def _assert_traversal(self, expr, expected):
         canary = []
+
         def visit(binary, l, r):
             canary.append((binary.operator, l, r))
             print(binary.operator, l, r)
@@ -206,8 +223,8 @@ class BinaryEndpointTraversalTest(fixtures.TestBase):
         expr = tuple_(
             a, b, b1 == tuple_(b1a, b1b == d), c
         ) > tuple_(
-                func.go(e + f)
-            )
+            func.go(e + f)
+        )
         self._assert_traversal(
             expr,
             [
@@ -265,7 +282,9 @@ class BinaryEndpointTraversalTest(fixtures.TestBase):
             ]
         )
 
+
 class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
+
     """test copy-in-place behavior of various ClauseElements."""
 
     __dialect__ = 'default'
@@ -274,19 +293,19 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
     def setup_class(cls):
         global t1, t2, t3
         t1 = table("table1",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
         t2 = table("table2",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
         t3 = Table('table3', MetaData(),
-            Column('col1', Integer),
-            Column('col2', Integer)
-        )
+                   Column('col1', Integer),
+                   Column('col2', Integer)
+                   )
 
     def test_binary(self):
         clause = t1.c.col2 == t2.c.col2
@@ -295,18 +314,19 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_binary_anon_label_quirk(self):
         t = table('t1', column('col1'))
 
-
         f = t.c.col1 * 5
         self.assert_compile(select([f]),
-                    "SELECT t1.col1 * :col1_1 AS anon_1 FROM t1")
+                            "SELECT t1.col1 * :col1_1 AS anon_1 FROM t1")
 
         f.anon_label
 
         a = t.alias()
         f = sql_util.ClauseAdapter(a).traverse(f)
 
-        self.assert_compile(select([f]),
-                    "SELECT t1_1.col1 * :col1_1 AS anon_1 FROM t1 AS t1_1")
+        self.assert_compile(
+            select(
+                [f]),
+            "SELECT t1_1.col1 * :col1_1 AS anon_1 FROM t1 AS t1_1")
 
     def test_join(self):
         clause = t1.join(t2, t1.c.col2 == t2.c.col2)
@@ -314,6 +334,7 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
         assert str(clause) == str(CloningVisitor().traverse(clause))
 
         class Vis(CloningVisitor):
+
             def visit_binary(self, binary):
                 binary.right = t2.c.col3
 
@@ -422,10 +443,12 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_text(self):
         clause = text(
-                    "select * from table where foo=:bar",
-                    bindparams=[bindparam('bar')])
+            "select * from table where foo=:bar",
+            bindparams=[bindparam('bar')])
         c1 = str(clause)
+
         class Vis(CloningVisitor):
+
             def visit_textclause(self, text):
                 text.text = text.text + " SOME MODIFIER=:lala"
                 text._bindparams['lala'] = bindparam('lala')
@@ -440,7 +463,9 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
         s2 = select([t1])
         s2_assert = str(s2)
         s3_assert = str(select([t1], t1.c.col2 == 7))
+
         class Vis(CloningVisitor):
+
             def visit_select(self, select):
                 select.append_whereclause(t1.c.col2 == 7)
         s3 = Vis().traverse(s2)
@@ -448,14 +473,18 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
         assert str(s2) == s2_assert
         print(str(s2))
         print(str(s3))
+
         class Vis(ClauseVisitor):
+
             def visit_select(self, select):
                 select.append_whereclause(t1.c.col2 == 7)
         Vis().traverse(s2)
         assert str(s2) == s3_assert
 
         s4_assert = str(select([t1], and_(t1.c.col2 == 7, t1.c.col3 == 9)))
+
         class Vis(CloningVisitor):
+
             def visit_select(self, select):
                 select.append_whereclause(t1.c.col3 == 9)
         s4 = Vis().traverse(s3)
@@ -465,7 +494,9 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
         assert str(s3) == s3_assert
 
         s5_assert = str(select([t1], and_(t1.c.col2 == 7, t1.c.col1 == 9)))
+
         class Vis(CloningVisitor):
+
             def visit_binary(self, binary):
                 if binary.left is t1.c.col3:
                     binary.left = t1.c.col1
@@ -495,8 +526,8 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
         u2 = u.params(id_param=7)
         u3 = u.params(id_param=10)
         assert str(u) == str(u2) == str(u3)
-        assert u2.compile().params == {'id_param':7}
-        assert u3.compile().params == {'id_param':10}
+        assert u2.compile().params == {'id_param': 7}
+        assert u3.compile().params == {'id_param': 10}
 
     def test_in(self):
         expr = t1.c.col1.in_(['foo', 'bar'])
@@ -510,9 +541,9 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_adapt_union(self):
         u = union(
-                t1.select().where(t1.c.col1 == 4),
-                t1.select().where(t1.c.col1 == 5)
-            ).alias()
+            t1.select().where(t1.c.col1 == 4),
+            t1.select().where(t1.c.col1 == 5)
+        ).alias()
 
         assert sql_util.ClauseAdapter(u).traverse(t1) is u
 
@@ -524,8 +555,8 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
         s2 = CloningVisitor().traverse(s).alias()
         s3 = select([s], s.c.col2 == s2.c.col2)
 
-        self.assert_compile(s3,
-            "SELECT anon_1.col1, anon_1.col2, anon_1.col3 FROM "
+        self.assert_compile(
+            s3, "SELECT anon_1.col1, anon_1.col2, anon_1.col3 FROM "
             "(SELECT table1.col1 AS col1, table1.col2 AS col2, "
             "table1.col3 AS col3 FROM table1 WHERE table1.col1 = :param_1) "
             "AS anon_1, "
@@ -536,8 +567,8 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
         s = select([t1], t1.c.col1 == 4).alias()
         s2 = CloningVisitor().traverse(s).alias()
         s3 = select([s], s.c.col2 == s2.c.col2)
-        self.assert_compile(s3,
-            "SELECT anon_1.col1, anon_1.col2, anon_1.col3 FROM "
+        self.assert_compile(
+            s3, "SELECT anon_1.col1, anon_1.col2, anon_1.col3 FROM "
             "(SELECT table1.col1 AS col1, table1.col2 AS col2, "
             "table1.col3 AS col3 FROM table1 WHERE table1.col1 = :col1_1) "
             "AS anon_1, "
@@ -547,25 +578,26 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_extract(self):
         s = select([extract('foo', t1.c.col1).label('col1')])
-        self.assert_compile(s,
-                "SELECT EXTRACT(foo FROM table1.col1) AS col1 FROM table1")
+        self.assert_compile(
+            s,
+            "SELECT EXTRACT(foo FROM table1.col1) AS col1 FROM table1")
 
         s2 = CloningVisitor().traverse(s).alias()
         s3 = select([s2.c.col1])
-        self.assert_compile(s,
-                "SELECT EXTRACT(foo FROM table1.col1) AS col1 FROM table1")
+        self.assert_compile(
+            s,
+            "SELECT EXTRACT(foo FROM table1.col1) AS col1 FROM table1")
         self.assert_compile(s3,
-                "SELECT anon_1.col1 FROM (SELECT EXTRACT(foo FROM "
-                "table1.col1) AS col1 FROM table1) AS anon_1")
-
+                            "SELECT anon_1.col1 FROM (SELECT EXTRACT(foo FROM "
+                            "table1.col1) AS col1 FROM table1) AS anon_1")
 
     @testing.emits_warning('.*replaced by another column with the same key')
     def test_alias(self):
         subq = t2.select().alias('subq')
         s = select([t1.c.col1, subq.c.col1],
-                    from_obj=[t1, subq,
-                        t1.join(subq, t1.c.col1 == subq.c.col2)]
-                    )
+                   from_obj=[t1, subq,
+                             t1.join(subq, t1.c.col1 == subq.c.col2)]
+                   )
         orig = str(s)
         s2 = CloningVisitor().traverse(s)
         assert orig == str(s) == str(s2)
@@ -581,27 +613,28 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
 
         subq = subq.alias('subq')
         s = select([t1.c.col1, subq.c.col1],
-                    from_obj=[t1, subq,
-                        t1.join(subq, t1.c.col1 == subq.c.col2)]
-                    )
+                   from_obj=[t1, subq,
+                             t1.join(subq, t1.c.col1 == subq.c.col2)]
+                   )
         s5 = CloningVisitor().traverse(s)
         assert orig == str(s) == str(s5)
 
     def test_correlated_select(self):
         s = select(['*'], t1.c.col1 == t2.c.col1,
-                    from_obj=[t1, t2]).correlate(t2)
+                   from_obj=[t1, t2]).correlate(t2)
 
         class Vis(CloningVisitor):
+
             def visit_select(self, select):
                 select.append_whereclause(t1.c.col2 == 7)
 
         self.assert_compile(
-                select([t2]).where(t2.c.col1 == Vis().traverse(s)),
-                "SELECT table2.col1, table2.col2, table2.col3 "
-                "FROM table2 WHERE table2.col1 = "
-                "(SELECT * FROM table1 WHERE table1.col1 = table2.col1 "
-                    "AND table1.col2 = :col2_1)"
-            )
+            select([t2]).where(t2.c.col1 == Vis().traverse(s)),
+            "SELECT table2.col1, table2.col2, table2.col3 "
+            "FROM table2 WHERE table2.col1 = "
+            "(SELECT * FROM table1 WHERE table1.col1 = table2.col1 "
+            "AND table1.col2 = :col2_1)"
+        )
 
     def test_this_thing(self):
         s = select([t1]).where(t1.c.col1 == 'foo').alias()
@@ -626,44 +659,42 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL):
 
         s = select([1], t1.c.col1 == t1a.c.col1, from_obj=t1a).correlate(t1a)
         s = select([t1]).where(t1.c.col1 == s)
-        self.assert_compile(s,
-            "SELECT table1.col1, table1.col2, table1.col3 FROM table1 "
+        self.assert_compile(
+            s, "SELECT table1.col1, table1.col2, table1.col3 FROM table1 "
             "WHERE table1.col1 = "
             "(SELECT 1 FROM table1, table1 AS table1_1 "
-                "WHERE table1.col1 = table1_1.col1)"
-        )
+            "WHERE table1.col1 = table1_1.col1)")
         s = CloningVisitor().traverse(s)
-        self.assert_compile(s,
-            "SELECT table1.col1, table1.col2, table1.col3 FROM table1 "
+        self.assert_compile(
+            s, "SELECT table1.col1, table1.col2, table1.col3 FROM table1 "
             "WHERE table1.col1 = "
             "(SELECT 1 FROM table1, table1 AS table1_1 "
-                "WHERE table1.col1 = table1_1.col1)")
+            "WHERE table1.col1 = table1_1.col1)")
 
     def test_select_fromtwice_two(self):
         s = select([t1]).where(t1.c.col1 == 'foo').alias()
 
         s2 = select([1], t1.c.col1 == s.c.col1, from_obj=s).correlate(t1)
         s3 = select([t1]).where(t1.c.col1 == s2)
-        self.assert_compile(s3,
-                "SELECT table1.col1, table1.col2, table1.col3 "
-                "FROM table1 WHERE table1.col1 = "
-                "(SELECT 1 FROM "
-                    "(SELECT table1.col1 AS col1, table1.col2 AS col2, "
-                    "table1.col3 AS col3 FROM table1 "
-                    "WHERE table1.col1 = :col1_1) "
-                "AS anon_1 WHERE table1.col1 = anon_1.col1)"
-            )
+        self.assert_compile(
+            s3, "SELECT table1.col1, table1.col2, table1.col3 "
+            "FROM table1 WHERE table1.col1 = "
+            "(SELECT 1 FROM "
+            "(SELECT table1.col1 AS col1, table1.col2 AS col2, "
+            "table1.col3 AS col3 FROM table1 "
+            "WHERE table1.col1 = :col1_1) "
+            "AS anon_1 WHERE table1.col1 = anon_1.col1)")
 
         s4 = ReplacingCloningVisitor().traverse(s3)
-        self.assert_compile(s4,
-                "SELECT table1.col1, table1.col2, table1.col3 "
-                "FROM table1 WHERE table1.col1 = "
-                "(SELECT 1 FROM "
-                    "(SELECT table1.col1 AS col1, table1.col2 AS col2, "
-                    "table1.col3 AS col3 FROM table1 "
-                    "WHERE table1.col1 = :col1_1) "
-                "AS anon_1 WHERE table1.col1 = anon_1.col1)"
-            )
+        self.assert_compile(
+            s4, "SELECT table1.col1, table1.col2, table1.col3 "
+            "FROM table1 WHERE table1.col1 = "
+            "(SELECT 1 FROM "
+            "(SELECT table1.col1 AS col1, table1.col2 AS col2, "
+            "table1.col3 AS col3 FROM table1 "
+            "WHERE table1.col1 = :col1_1) "
+            "AS anon_1 WHERE table1.col1 = anon_1.col1)")
+
 
 class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
@@ -672,15 +703,15 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
     def setup_class(cls):
         global t1, t2
         t1 = table("table1",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
         t2 = table("table2",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
 
     def test_correlation_on_clone(self):
         t1alias = t1.alias('t1alias')
@@ -698,9 +729,9 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         s = vis.traverse(s)
 
         assert t2alias not in s._froms  # not present because it's been
-                                        # cloned
+        # cloned
         assert t1alias in s._froms  # present because the adapter placed
-                                    # it there
+        # it there
 
         # correlate list on "s" needs to take into account the full
         # _cloned_set for each element in _froms when correlating
@@ -710,7 +741,7 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
                             't2alias.col1 = (SELECT * FROM table1 AS '
                             't1alias)')
         s = select(['*'], from_obj=[t1alias,
-                   t2alias]).correlate(t2alias).as_scalar()
+                                    t2alias]).correlate(t2alias).as_scalar()
         self.assert_compile(select(['*'], t2alias.c.col1 == s),
                             'SELECT * FROM table2 AS t2alias WHERE '
                             't2alias.col1 = (SELECT * FROM table1 AS '
@@ -806,63 +837,76 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         t1alias = t1.alias('t1alias')
         vis = sql_util.ClauseAdapter(t1alias)
         self.assert_compile(vis.traverse(select(['*'], t1.c.col1
-                            == t2.c.col2)),
+                                                == t2.c.col2)),
                             'SELECT * FROM table1 AS t1alias, table2 '
                             'WHERE t1alias.col1 = table2.col2')
 
     def test_table_to_alias_5(self):
         t1alias = t1.alias('t1alias')
         vis = sql_util.ClauseAdapter(t1alias)
-        self.assert_compile(vis.traverse(select(['*'], t1.c.col1
-                            == t2.c.col2, from_obj=[t1, t2])),
-                            'SELECT * FROM table1 AS t1alias, table2 '
-                            'WHERE t1alias.col1 = table2.col2')
+        self.assert_compile(
+            vis.traverse(
+                select(
+                    ['*'],
+                    t1.c.col1 == t2.c.col2,
+                    from_obj=[
+                        t1,
+                        t2])),
+            'SELECT * FROM table1 AS t1alias, table2 '
+            'WHERE t1alias.col1 = table2.col2')
 
     def test_table_to_alias_6(self):
         t1alias = t1.alias('t1alias')
         vis = sql_util.ClauseAdapter(t1alias)
         self.assert_compile(
-                select([t1alias, t2]).where(t1alias.c.col1 ==
-                        vis.traverse(select(['*'],
-                            t1.c.col1 == t2.c.col2,
-                            from_obj=[t1, t2]).correlate(t1))),
-                    "SELECT t1alias.col1, t1alias.col2, t1alias.col3, "
-                    "table2.col1, table2.col2, table2.col3 "
-                    "FROM table1 AS t1alias, table2 WHERE t1alias.col1 = "
-                    "(SELECT * FROM table2 WHERE t1alias.col1 = table2.col2)"
-                    )
+            select([t1alias, t2]).where(
+                t1alias.c.col1 == vis.traverse(
+                    select(['*'], t1.c.col1 == t2.c.col2, from_obj=[t1, t2]).
+                    correlate(t1)
+                )
+            ),
+            "SELECT t1alias.col1, t1alias.col2, t1alias.col3, "
+            "table2.col1, table2.col2, table2.col3 "
+            "FROM table1 AS t1alias, table2 WHERE t1alias.col1 = "
+            "(SELECT * FROM table2 WHERE t1alias.col1 = table2.col2)"
+        )
 
     def test_table_to_alias_7(self):
         t1alias = t1.alias('t1alias')
         vis = sql_util.ClauseAdapter(t1alias)
         self.assert_compile(
-                    select([t1alias, t2]).where(t1alias.c.col1 ==
-                            vis.traverse(select(['*'],
-                            t1.c.col1 == t2.c.col2,
-                            from_obj=[t1, t2]).correlate(t2))),
-                    "SELECT t1alias.col1, t1alias.col2, t1alias.col3, "
-                    "table2.col1, table2.col2, table2.col3 "
-                    "FROM table1 AS t1alias, table2 "
-                    "WHERE t1alias.col1 = "
-                    "(SELECT * FROM table1 AS t1alias "
-                        "WHERE t1alias.col1 = table2.col2)")
+            select([t1alias, t2]).
+            where(t1alias.c.col1 == vis.traverse(
+                select(['*'], t1.c.col1 == t2.c.col2, from_obj=[t1, t2]).
+                correlate(t2))),
+            "SELECT t1alias.col1, t1alias.col2, t1alias.col3, "
+            "table2.col1, table2.col2, table2.col3 "
+            "FROM table1 AS t1alias, table2 "
+            "WHERE t1alias.col1 = "
+            "(SELECT * FROM table1 AS t1alias "
+            "WHERE t1alias.col1 = table2.col2)")
 
     def test_table_to_alias_8(self):
         t1alias = t1.alias('t1alias')
         vis = sql_util.ClauseAdapter(t1alias)
-        self.assert_compile(vis.traverse(case([(t1.c.col1 == 5,
-                            t1.c.col2)], else_=t1.c.col1)),
-                            'CASE WHEN (t1alias.col1 = :col1_1) THEN '
-                            't1alias.col2 ELSE t1alias.col1 END')
+        self.assert_compile(
+            vis.traverse(case([(t1.c.col1 == 5, t1.c.col2)], else_=t1.c.col1)),
+            'CASE WHEN (t1alias.col1 = :col1_1) THEN '
+            't1alias.col2 ELSE t1alias.col1 END')
 
     def test_table_to_alias_9(self):
         t1alias = t1.alias('t1alias')
         vis = sql_util.ClauseAdapter(t1alias)
-        self.assert_compile(vis.traverse(case([(5, t1.c.col2)],
-                            value=t1.c.col1, else_=t1.c.col1)),
-                            'CASE t1alias.col1 WHEN :param_1 THEN '
-                            't1alias.col2 ELSE t1alias.col1 END')
-
+        self.assert_compile(
+            vis.traverse(
+                case(
+                    [
+                        (5,
+                         t1.c.col2)],
+                    value=t1.c.col1,
+                    else_=t1.c.col1)),
+            'CASE t1alias.col1 WHEN :param_1 THEN '
+            't1alias.col2 ELSE t1alias.col1 END')
 
     def test_table_to_alias_10(self):
         s = select(['*'], from_obj=[t1]).alias('foo')
@@ -893,7 +937,7 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
                             'table1 AS t1alias')
         assert list(_from_objects(ff)) == [t1alias]
 
-    #def test_table_to_alias_2(self):
+    # def test_table_to_alias_2(self):
         # TODO: self.assert_compile(vis.traverse(select([func.count(t1.c
         # .col1).l abel('foo')]), clone=True), "SELECT
         # count(t1alias.col1) AS foo FROM table1 AS t1alias")
@@ -904,7 +948,7 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         t2alias = t2.alias('t2alias')
         vis.chain(sql_util.ClauseAdapter(t2alias))
         self.assert_compile(vis.traverse(select(['*'], t1.c.col1
-                            == t2.c.col2)),
+                                                == t2.c.col2)),
                             'SELECT * FROM table1 AS t1alias, table2 '
                             'AS t2alias WHERE t1alias.col1 = '
                             't2alias.col2')
@@ -914,11 +958,17 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         vis = sql_util.ClauseAdapter(t1alias)
         t2alias = t2.alias('t2alias')
         vis.chain(sql_util.ClauseAdapter(t2alias))
-        self.assert_compile(vis.traverse(select(['*'], t1.c.col1
-                            == t2.c.col2, from_obj=[t1, t2])),
-                            'SELECT * FROM table1 AS t1alias, table2 '
-                            'AS t2alias WHERE t1alias.col1 = '
-                            't2alias.col2')
+        self.assert_compile(
+            vis.traverse(
+                select(
+                    ['*'],
+                    t1.c.col1 == t2.c.col2,
+                    from_obj=[
+                        t1,
+                        t2])),
+            'SELECT * FROM table1 AS t1alias, table2 '
+            'AS t2alias WHERE t1alias.col1 = '
+            't2alias.col2')
 
     def test_table_to_alias_16(self):
         t1alias = t1.alias('t1alias')
@@ -927,18 +977,18 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         vis.chain(sql_util.ClauseAdapter(t2alias))
         self.assert_compile(
             select([t1alias, t2alias]).where(
-                    t1alias.c.col1 ==
-                        vis.traverse(select(['*'],
-                            t1.c.col1 == t2.c.col2,
-                            from_obj=[t1, t2]).correlate(t1))
-                ),
-                "SELECT t1alias.col1, t1alias.col2, t1alias.col3, "
-                "t2alias.col1, t2alias.col2, t2alias.col3 "
-                "FROM table1 AS t1alias, table2 AS t2alias "
-                "WHERE t1alias.col1 = "
-                "(SELECT * FROM table2 AS t2alias "
-                    "WHERE t1alias.col1 = t2alias.col2)"
-                )
+                t1alias.c.col1 ==
+                vis.traverse(select(['*'],
+                                    t1.c.col1 == t2.c.col2,
+                                    from_obj=[t1, t2]).correlate(t1))
+            ),
+            "SELECT t1alias.col1, t1alias.col2, t1alias.col3, "
+            "t2alias.col1, t2alias.col2, t2alias.col3 "
+            "FROM table1 AS t1alias, table2 AS t2alias "
+            "WHERE t1alias.col1 = "
+            "(SELECT * FROM table2 AS t2alias "
+            "WHERE t1alias.col1 = t2alias.col2)"
+        )
 
     def test_table_to_alias_17(self):
         t1alias = t1.alias('t1alias')
@@ -946,31 +996,35 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         t2alias = t2.alias('t2alias')
         vis.chain(sql_util.ClauseAdapter(t2alias))
         self.assert_compile(
-                t2alias.select().where(t2alias.c.col2 ==
-                        vis.traverse(select(['*'],
+            t2alias.select().where(
+                t2alias.c.col2 == vis.traverse(
+                    select(
+                        ['*'],
                         t1.c.col1 == t2.c.col2,
-                        from_obj=[t1, t2]).correlate(t2))),
-                            'SELECT t2alias.col1, t2alias.col2, t2alias.col3 '
-                            'FROM table2 AS t2alias WHERE t2alias.col2 = '
-                            '(SELECT * FROM table1 AS t1alias WHERE '
-                            't1alias.col1 = t2alias.col2)')
+                        from_obj=[
+                            t1,
+                            t2]).correlate(t2))),
+            'SELECT t2alias.col1, t2alias.col2, t2alias.col3 '
+            'FROM table2 AS t2alias WHERE t2alias.col2 = '
+            '(SELECT * FROM table1 AS t1alias WHERE '
+            't1alias.col1 = t2alias.col2)')
 
     def test_include_exclude(self):
         m = MetaData()
         a = Table('a', m,
-            Column('id', Integer, primary_key=True),
-            Column('xxx_id', Integer,
-                ForeignKey('a.id', name='adf', use_alter=True)
-        )
-        )
+                  Column('id', Integer, primary_key=True),
+                  Column('xxx_id', Integer,
+                         ForeignKey('a.id', name='adf', use_alter=True)
+                         )
+                  )
 
         e = (a.c.id == a.c.xxx_id)
         assert str(e) == "a.id = a.xxx_id"
         b = a.alias()
 
-        e = sql_util.ClauseAdapter( b, include= set([ a.c.id ]),
-          equivalents= { a.c.id: set([ a.c.id]) }
-        ).traverse( e)
+        e = sql_util.ClauseAdapter(b, include=set([a.c.id]),
+                                   equivalents={a.c.id: set([a.c.id])}
+                                   ).traverse(e)
 
         assert str(e) == "a_1.id = a.xxx_id"
 
@@ -983,8 +1037,8 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         # force a recursion overflow, by linking a.c.x<->c.c.x, and
         # asking for a nonexistent col.  corresponding_column should prevent
         # endless depth.
-        adapt = sql_util.ClauseAdapter(b,
-                equivalents={a.c.x: set([c.c.x]), c.c.x: set([a.c.x])})
+        adapt = sql_util.ClauseAdapter(
+            b, equivalents={a.c.x: set([c.c.x]), c.c.x: set([a.c.x])})
         assert adapt._corresponding_column(a.c.x, False) is None
 
     def test_multilevel_equivalents(self):
@@ -997,28 +1051,28 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
 
         # two levels of indirection from c.x->b.x->a.x, requires recursive
         # corresponding_column call
-        adapt = sql_util.ClauseAdapter(alias,
-                equivalents={b.c.x: set([a.c.x]), c.c.x: set([b.c.x])})
+        adapt = sql_util.ClauseAdapter(
+            alias, equivalents={b.c.x: set([a.c.x]), c.c.x: set([b.c.x])})
         assert adapt._corresponding_column(a.c.x, False) is alias.c.x
         assert adapt._corresponding_column(c.c.x, False) is alias.c.x
 
     def test_join_to_alias(self):
         metadata = MetaData()
         a = Table('a', metadata,
-            Column('id', Integer, primary_key=True))
+                  Column('id', Integer, primary_key=True))
         b = Table('b', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('aid', Integer, ForeignKey('a.id')),
-            )
+                  Column('id', Integer, primary_key=True),
+                  Column('aid', Integer, ForeignKey('a.id')),
+                  )
         c = Table('c', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('bid', Integer, ForeignKey('b.id')),
-            )
+                  Column('id', Integer, primary_key=True),
+                  Column('bid', Integer, ForeignKey('b.id')),
+                  )
 
         d = Table('d', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('aid', Integer, ForeignKey('a.id')),
-            )
+                  Column('id', Integer, primary_key=True),
+                  Column('aid', Integer, ForeignKey('a.id')),
+                  )
 
         j1 = a.outerjoin(b)
         j2 = select([j1], use_labels=True)
@@ -1054,7 +1108,6 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         assert not t1.is_derived_from(select([t1]))
         assert t1.alias().is_derived_from(t1)
 
-
         s1 = select([t1, t2]).alias('foo')
         s2 = select([s1]).limit(5).offset(10).alias()
         assert s2.is_derived_from(s1)
@@ -1108,13 +1161,13 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
                             'LIMIT :param_1 OFFSET :param_2) AS anon_1 '
                             'LEFT OUTER JOIN table1 AS bar ON '
                             'anon_1.col1 = bar.col1', {'param_1': 5,
-                            'param_2': 10})
+                                                       'param_2': 10})
 
     def test_functions(self):
         self.assert_compile(
-            sql_util.ClauseAdapter(t1.alias()).\
-                    traverse(func.count(t1.c.col1)),
-                            'count(table1_1.col1)')
+            sql_util.ClauseAdapter(t1.alias()).
+            traverse(func.count(t1.c.col1)),
+            'count(table1_1.col1)')
         s = select([func.count(t1.c.col1)])
         self.assert_compile(sql_util.ClauseAdapter(t1.alias()).traverse(s),
                             'SELECT count(table1_1.col1) AS count_1 '
@@ -1123,20 +1176,20 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_recursive(self):
         metadata = MetaData()
         a = Table('a', metadata,
-            Column('id', Integer, primary_key=True))
+                  Column('id', Integer, primary_key=True))
         b = Table('b', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('aid', Integer, ForeignKey('a.id')),
-            )
+                  Column('id', Integer, primary_key=True),
+                  Column('aid', Integer, ForeignKey('a.id')),
+                  )
         c = Table('c', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('bid', Integer, ForeignKey('b.id')),
-            )
+                  Column('id', Integer, primary_key=True),
+                  Column('bid', Integer, ForeignKey('b.id')),
+                  )
 
         d = Table('d', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('aid', Integer, ForeignKey('a.id')),
-            )
+                  Column('id', Integer, primary_key=True),
+                  Column('aid', Integer, ForeignKey('a.id')),
+                  )
 
         u = union(
             a.join(b).select().apply_labels(),
@@ -1144,9 +1197,9 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
         ).alias()
 
         self.assert_compile(
-            sql_util.ClauseAdapter(u).\
-                traverse(select([c.c.bid]).where(c.c.bid == u.c.b_aid)),
-            "SELECT c.bid "\
+            sql_util.ClauseAdapter(u).
+            traverse(select([c.c.bid]).where(c.c.bid == u.c.b_aid)),
+            "SELECT c.bid "
             "FROM c, (SELECT a.id AS a_id, b.id AS b_id, b.aid AS b_aid "
             "FROM a JOIN b ON a.id = b.aid UNION SELECT a.id AS a_id, d.id "
             "AS d_id, d.aid AS d_aid "
@@ -1154,6 +1207,7 @@ class ClauseAdapterTest(fixtures.TestBase, AssertsCompiledSQL):
             "WHERE c.bid = anon_1.b_aid"
         )
 
+
 class SpliceJoinsTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -1165,13 +1219,19 @@ class SpliceJoinsTest(fixtures.TestBase, AssertsCompiledSQL):
             return table(name, column('col1'), column('col2'),
                          column('col3'))
 
-        table1, table2, table3, table4 = [_table(name) for name in
-                ('table1', 'table2', 'table3', 'table4')]
+        table1, table2, table3, table4 = [
+            _table(name) for name in (
+                'table1', 'table2', 'table3', 'table4')]
 
     def test_splice(self):
         t1, t2, t3, t4 = table1, table2, table1.alias(), table2.alias()
-        j = t1.join(t2, t1.c.col1 == t2.c.col1).join(t3, t2.c.col1
-                == t3.c.col1).join(t4, t4.c.col1 == t1.c.col1)
+        j = t1.join(
+            t2,
+            t1.c.col1 == t2.c.col1).join(
+            t3,
+            t2.c.col1 == t3.c.col1).join(
+            t4,
+            t4.c.col1 == t1.c.col1)
         s = select([t1]).where(t1.c.col2 < 5).alias()
         self.assert_compile(sql_util.splice_joins(s, j),
                             '(SELECT table1.col1 AS col1, table1.col2 '
@@ -1204,8 +1264,11 @@ class SpliceJoinsTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_splice_2(self):
         t2a = table2.alias()
         t3a = table3.alias()
-        j1 = table1.join(t2a, table1.c.col1 == t2a.c.col1).join(t3a,
-                t2a.c.col2 == t3a.c.col2)
+        j1 = table1.join(
+            t2a,
+            table1.c.col1 == t2a.c.col1).join(
+            t3a,
+            t2a.c.col2 == t3a.c.col2)
         t2b = table4.alias()
         j2 = table1.join(t2b, table1.c.col3 == t2b.c.col3)
         self.assert_compile(sql_util.splice_joins(table1, j1),
@@ -1216,16 +1279,21 @@ class SpliceJoinsTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(sql_util.splice_joins(table1, j2),
                             'table1 JOIN table4 AS table4_1 ON '
                             'table1.col3 = table4_1.col3')
-        self.assert_compile(sql_util.splice_joins(sql_util.splice_joins(table1,
-                            j1), j2),
-                            'table1 JOIN table2 AS table2_1 ON '
-                            'table1.col1 = table2_1.col1 JOIN table3 '
-                            'AS table3_1 ON table2_1.col2 = '
-                            'table3_1.col2 JOIN table4 AS table4_1 ON '
-                            'table1.col3 = table4_1.col3')
+        self.assert_compile(
+            sql_util.splice_joins(
+                sql_util.splice_joins(
+                    table1,
+                    j1),
+                j2),
+            'table1 JOIN table2 AS table2_1 ON '
+            'table1.col1 = table2_1.col1 JOIN table3 '
+            'AS table3_1 ON table2_1.col2 = '
+            'table3_1.col2 JOIN table4 AS table4_1 ON '
+            'table1.col3 = table4_1.col3')
 
 
 class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
+
     """tests the generative capability of Select"""
 
     __dialect__ = 'default'
@@ -1234,16 +1302,15 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
     def setup_class(cls):
         global t1, t2
         t1 = table("table1",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
         t2 = table("table2",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
-
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
 
     def test_columns(self):
         s = t1.select()
@@ -1275,7 +1342,6 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
                             'SELECT table1.col1, table1.col2, '
                             'table1.col3 FROM table1')
 
-
     def test_prefixes(self):
         s = t1.select()
         self.assert_compile(s,
@@ -1308,7 +1374,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         assert_raises(
             exc.ArgumentError,
             select().execution_options,
-                isolation_level='READ_COMMITTED'
+            isolation_level='READ_COMMITTED'
         )
 
     # this feature not available yet
@@ -1325,7 +1391,9 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         s = text('select 42', execution_options=dict(foo='bar'))
         assert s._execution_options == dict(foo='bar')
 
+
 class ValuesBaseTest(fixtures.TestBase, AssertsCompiledSQL):
+
     """Tests the generative capability of Insert, Update"""
 
     __dialect__ = 'default'
@@ -1336,15 +1404,15 @@ class ValuesBaseTest(fixtures.TestBase, AssertsCompiledSQL):
     def setup_class(cls):
         global t1, t2
         t1 = table("table1",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
         t2 = table("table2",
-            column("col1"),
-            column("col2"),
-            column("col3"),
-            )
+                   column("col1"),
+                   column("col2"),
+                   column("col3"),
+                   )
 
     def test_prefixes(self):
         i = t1.insert()
@@ -1396,9 +1464,9 @@ class ValuesBaseTest(fixtures.TestBase, AssertsCompiledSQL):
         eq_(i.parameters, None)
         i = i.values([(5, 6, 7), (8, 9, 10)])
         eq_(i.parameters, [
-                {"col1": 5, "col2": 6, "col3": 7},
-                {"col1": 8, "col2": 9, "col3": 10},
-                ]
+            {"col1": 5, "col2": 6, "col3": 7},
+            {"col1": 8, "col2": 9, "col3": 10},
+            ]
             )
 
     def test_inline_values_single(self):
index 6ee38d6a2dde1ec559915e41670f45d70afef330..d59d79d8902d8709dc246a84199be997cec60024 100644 (file)
@@ -9,6 +9,7 @@ from sqlalchemy.testing import AssertsCompiledSQL,\
 
 
 class _InsertTestBase(object):
+
     @classmethod
     def define_tables(cls, metadata):
         Table('mytable', metadata,
@@ -27,8 +28,8 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         table1 = self.tables.mytable
 
         self.assert_compile(insert(table1),
-            'INSERT INTO mytable (myid, name, description) '
-            'VALUES (:myid, :name, :description)')
+                            'INSERT INTO mytable (myid, name, description) '
+                            'VALUES (:myid, :name, :description)')
 
     def test_insert_with_values_dict(self):
         table1 = self.tables.mytable
@@ -38,7 +39,12 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             'name': 'jack'
         }
 
-        self.assert_compile(insert(table1, dict(myid=3, name='jack')),
+        self.assert_compile(
+            insert(
+                table1,
+                dict(
+                    myid=3,
+                    name='jack')),
             'INSERT INTO mytable (myid, name) VALUES (:myid, :name)',
             checkparams=checkparams)
 
@@ -52,15 +58,15 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         }
 
         self.assert_compile(insert(table1, (3, 'jack', 'mydescription')),
-            'INSERT INTO mytable (myid, name, description) '
-            'VALUES (:myid, :name, :description)',
-            checkparams=checkparams)
+                            'INSERT INTO mytable (myid, name, description) '
+                            'VALUES (:myid, :name, :description)',
+                            checkparams=checkparams)
 
     def test_insert_with_values_func(self):
         table1 = self.tables.mytable
 
         self.assert_compile(insert(table1, values=dict(myid=func.lala())),
-            'INSERT INTO mytable (myid) VALUES (lala())')
+                            'INSERT INTO mytable (myid) VALUES (lala())')
 
     def test_insert_with_user_supplied_bind_params(self):
         table1 = self.tables.mytable
@@ -70,7 +76,10 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             table1.c.name: bindparam('username')
         }
 
-        self.assert_compile(insert(table1, values),
+        self.assert_compile(
+            insert(
+                table1,
+                values),
             'INSERT INTO mytable (myid, name) VALUES (:userid, :username)')
 
     def test_insert_values(self):
@@ -79,7 +88,10 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         values1 = {table1.c.myid: bindparam('userid')}
         values2 = {table1.c.name: bindparam('username')}
 
-        self.assert_compile(insert(table1, values=values1).values(values2),
+        self.assert_compile(
+            insert(
+                table1,
+                values=values1).values(values2),
             'INSERT INTO mytable (myid, name) VALUES (:userid, :username)')
 
     def test_prefix_with(self):
@@ -89,25 +101,31 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             prefix_with('A', 'B', dialect='mysql').\
             prefix_with('C', 'D')
 
-        self.assert_compile(stmt,
+        self.assert_compile(
+            stmt,
             'INSERT C D INTO mytable (myid, name, description) '
             'VALUES (:myid, :name, :description)')
 
-        self.assert_compile(stmt,
+        self.assert_compile(
+            stmt,
             'INSERT A B C D INTO mytable (myid, name, description) '
-            'VALUES (%s, %s, %s)', dialect=mysql.dialect())
+            'VALUES (%s, %s, %s)',
+            dialect=mysql.dialect())
 
     def test_inline_default(self):
         metadata = MetaData()
         table = Table('sometable', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('foo', Integer, default=func.foobar()))
+                      Column('id', Integer, primary_key=True),
+                      Column('foo', Integer, default=func.foobar()))
 
         self.assert_compile(table.insert(values={}, inline=True),
-            'INSERT INTO sometable (foo) VALUES (foobar())')
+                            'INSERT INTO sometable (foo) VALUES (foobar())')
 
-        self.assert_compile(table.insert(inline=True),
-            'INSERT INTO sometable (foo) VALUES (foobar())', params={})
+        self.assert_compile(
+            table.insert(
+                inline=True),
+            'INSERT INTO sometable (foo) VALUES (foobar())',
+            params={})
 
     def test_insert_returning_not_in_default(self):
         table1 = self.tables.mytable
@@ -122,9 +140,10 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
     def test_insert_from_select_select(self):
         table1 = self.tables.mytable
-        sel = select([table1.c.myid, table1.c.name]).where(table1.c.name == 'foo')
+        sel = select([table1.c.myid, table1.c.name]).where(
+            table1.c.name == 'foo')
         ins = self.tables.myothertable.insert().\
-                    from_select(("otherid", "othername"), sel)
+            from_select(("otherid", "othername"), sel)
         self.assert_compile(
             ins,
             "INSERT INTO myothertable (otherid, othername) "
@@ -135,9 +154,10 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
     def test_insert_from_select_select_alt_ordering(self):
         table1 = self.tables.mytable
-        sel = select([table1.c.name, table1.c.myid]).where(table1.c.name == 'foo')
+        sel = select([table1.c.name, table1.c.myid]).where(
+            table1.c.name == 'foo')
         ins = self.tables.myothertable.insert().\
-                    from_select(("othername", "otherid"), sel)
+            from_select(("othername", "otherid"), sel)
         self.assert_compile(
             ins,
             "INSERT INTO myothertable (othername, otherid) "
@@ -149,12 +169,12 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
     def test_insert_from_select_select_no_defaults(self):
         metadata = MetaData()
         table = Table('sometable', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('foo', Integer, default=func.foobar()))
+                      Column('id', Integer, primary_key=True),
+                      Column('foo', Integer, default=func.foobar()))
         table1 = self.tables.mytable
         sel = select([table1.c.myid]).where(table1.c.name == 'foo')
         ins = table.insert().\
-                    from_select(["id"], sel)
+            from_select(["id"], sel)
         self.assert_compile(
             ins,
             "INSERT INTO sometable (id) SELECT mytable.myid "
@@ -164,9 +184,10 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
     def test_insert_mix_select_values_exception(self):
         table1 = self.tables.mytable
-        sel = select([table1.c.myid, table1.c.name]).where(table1.c.name == 'foo')
+        sel = select([table1.c.myid, table1.c.name]).where(
+            table1.c.name == 'foo')
         ins = self.tables.myothertable.insert().\
-                    from_select(("otherid", "othername"), sel)
+            from_select(("otherid", "othername"), sel)
         assert_raises_message(
             exc.InvalidRequestError,
             "This construct already inserts from a SELECT",
@@ -175,7 +196,8 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
     def test_insert_mix_values_select_exception(self):
         table1 = self.tables.mytable
-        sel = select([table1.c.myid, table1.c.name]).where(table1.c.name == 'foo')
+        sel = select([table1.c.myid, table1.c.name]).where(
+            table1.c.name == 'foo')
         ins = self.tables.myothertable.insert().values(othername="5")
         assert_raises_message(
             exc.InvalidRequestError,
@@ -186,7 +208,7 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
     def test_insert_from_select_table(self):
         table1 = self.tables.mytable
         ins = self.tables.myothertable.insert().\
-                    from_select(("otherid", "othername"), table1)
+            from_select(("otherid", "othername"), table1)
         # note we aren't checking the number of columns right now
         self.assert_compile(
             ins,
@@ -207,20 +229,22 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             select([name, description])
         )
         ins = mytable.insert().\
-                    from_select(
-                            [mytable.c.name, mytable.c.description], sel)
+            from_select(
+            [mytable.c.name, mytable.c.description], sel)
         self.assert_compile(
             ins,
             "INSERT INTO mytable (name, description) "
-                    "SELECT name, mytable.description FROM mytable "
-                    "UNION SELECT name, desc"
+            "SELECT name, mytable.description FROM mytable "
+            "UNION SELECT name, desc"
         )
+
     def test_insert_from_select_col_values(self):
         table1 = self.tables.mytable
         table2 = self.tables.myothertable
-        sel = select([table1.c.myid, table1.c.name]).where(table1.c.name == 'foo')
+        sel = select([table1.c.myid, table1.c.name]).where(
+            table1.c.name == 'foo')
         ins = table2.insert().\
-                    from_select((table2.c.otherid, table2.c.othername), sel)
+            from_select((table2.c.otherid, table2.c.othername), sel)
         self.assert_compile(
             ins,
             "INSERT INTO myothertable (otherid, othername) "
@@ -247,8 +271,8 @@ class EmptyTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
         stmt = table1.insert().values({})  # hide from 2to3
         self.assert_compile(stmt,
-            'INSERT INTO mytable DEFAULT VALUES',
-            dialect=dialect)
+                            'INSERT INTO mytable DEFAULT VALUES',
+                            dialect=dialect)
 
     def test_supports_empty_insert_false(self):
         table1 = self.tables.mytable
@@ -257,10 +281,12 @@ class EmptyTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         dialect.supports_empty_insert = dialect.supports_default_values = False
 
         stmt = table1.insert().values({})  # hide from 2to3
-        assert_raises_message(exc.CompileError,
+        assert_raises_message(
+            exc.CompileError,
             "The 'default' dialect with current database version "
-                "settings does not support empty inserts.",
-            stmt.compile, dialect=dialect)
+            "settings does not support empty inserts.",
+            stmt.compile,
+            dialect=dialect)
 
     def _test_insert_with_empty_collection_values(self, collection):
         table1 = self.tables.mytable
@@ -268,13 +294,13 @@ class EmptyTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         ins = table1.insert().values(collection)
 
         self.assert_compile(ins,
-            'INSERT INTO mytable () VALUES ()',
-            checkparams={})
+                            'INSERT INTO mytable () VALUES ()',
+                            checkparams={})
 
         # empty dict populates on next values call
         self.assert_compile(ins.values(myid=3),
-            'INSERT INTO mytable (myid) VALUES (:myid)',
-            checkparams={'myid': 3})
+                            'INSERT INTO mytable (myid) VALUES (:myid)',
+                            checkparams={'myid': 3})
 
     def test_insert_with_empty_list_values(self):
         self._test_insert_with_empty_collection_values([])
@@ -297,7 +323,7 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         assert_raises_message(
             exc.CompileError,
             "The 'default' dialect with current database version settings "
-                "does not support in-place multirow inserts.",
+            "does not support in-place multirow inserts.",
             stmt.compile, dialect=dialect)
 
     def test_named(self):
@@ -324,12 +350,14 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         dialect = default.DefaultDialect()
         dialect.supports_multivalues_insert = True
 
-        self.assert_compile(table1.insert().values(values),
+        self.assert_compile(
+            table1.insert().values(values),
             'INSERT INTO mytable (myid, name, description) VALUES '
-             '(:myid_0, :name_0, :description_0), '
-             '(:myid_1, :name_1, :description_1), '
-             '(:myid_2, :name_2, :description_2)',
-            checkparams=checkparams, dialect=dialect)
+            '(:myid_0, :name_0, :description_0), '
+            '(:myid_1, :name_1, :description_1), '
+            '(:myid_2, :name_2, :description_2)',
+            checkparams=checkparams,
+            dialect=dialect)
 
     def test_positional(self):
         table1 = self.tables.mytable
@@ -347,17 +375,19 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         dialect.paramstyle = 'format'
         dialect.positional = True
 
-        self.assert_compile(table1.insert().values(values),
+        self.assert_compile(
+            table1.insert().values(values),
             'INSERT INTO mytable (myid, name, description) VALUES '
             '(%s, %s, %s), (%s, %s, %s), (%s, %s, %s)',
-            checkpositional=checkpositional, dialect=dialect)
+            checkpositional=checkpositional,
+            dialect=dialect)
 
     def test_inline_default(self):
         metadata = MetaData()
         table = Table('sometable', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('data', String),
-            Column('foo', Integer, default=func.foobar()))
+                      Column('id', Integer, primary_key=True),
+                      Column('data', String),
+                      Column('foo', Integer, default=func.foobar()))
 
         values = [
             {'id': 1, 'data': 'data1'},
@@ -375,19 +405,21 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             'foo_1': 'plainfoo',
         }
 
-        self.assert_compile(table.insert().values(values),
+        self.assert_compile(
+            table.insert().values(values),
             'INSERT INTO sometable (id, data, foo) VALUES '
             '(%(id_0)s, %(data_0)s, foobar()), '
             '(%(id_1)s, %(data_1)s, %(foo_1)s), '
             '(%(id_2)s, %(data_2)s, foobar())',
-            checkparams=checkparams, dialect=postgresql.dialect())
+            checkparams=checkparams,
+            dialect=postgresql.dialect())
 
     def test_sql_functions(self):
         metadata = MetaData()
         table = Table('sometable', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('data', String),
-            Column('foo', Integer))
+                      Column('id', Integer, primary_key=True),
+                      Column('data', String),
+                      Column('foo', Integer))
 
         values = [
             {"id": 1, "data": "foo", "foo": func.foob()},
@@ -414,21 +446,23 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             'data_4': 'bar'
         }
 
-        self.assert_compile(table.insert().values(values),
+        self.assert_compile(
+            table.insert().values(values),
             "INSERT INTO sometable (id, data, foo) VALUES "
             "(%(id_0)s, %(data_0)s, foob()), "
             "(%(id_1)s, %(data_1)s, foob()), "
             "(%(id_2)s, %(data_2)s, bar()), "
             "(%(id_3)s, %(data_3)s, %(foo_3)s), "
             "(%(id_4)s, %(data_4)s, foob())",
-            checkparams=checkparams, dialect=postgresql.dialect())
+            checkparams=checkparams,
+            dialect=postgresql.dialect())
 
     def test_server_default(self):
         metadata = MetaData()
         table = Table('sometable', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('data', String),
-            Column('foo', Integer, server_default=func.foobar()))
+                      Column('id', Integer, primary_key=True),
+                      Column('data', String),
+                      Column('foo', Integer, server_default=func.foobar()))
 
         values = [
             {'id': 1, 'data': 'data1'},
@@ -445,19 +479,21 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             'data_2': 'data3',
         }
 
-        self.assert_compile(table.insert().values(values),
+        self.assert_compile(
+            table.insert().values(values),
             'INSERT INTO sometable (id, data) VALUES '
             '(%(id_0)s, %(data_0)s), '
             '(%(id_1)s, %(data_1)s), '
             '(%(id_2)s, %(data_2)s)',
-            checkparams=checkparams, dialect=postgresql.dialect())
+            checkparams=checkparams,
+            dialect=postgresql.dialect())
 
     def test_server_default_absent_value(self):
         metadata = MetaData()
         table = Table('sometable', metadata,
-            Column('id', Integer, primary_key=True),
-            Column('data', String),
-            Column('foo', Integer, server_default=func.foobar()))
+                      Column('id', Integer, primary_key=True),
+                      Column('data', String),
+                      Column('foo', Integer, server_default=func.foobar()))
 
         values = [
             {'id': 1, 'data': 'data1', 'foo': 'plainfoo'},
@@ -478,9 +514,11 @@ class MultirowTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
         # note the effect here is that the first set of params
         # takes effect for the rest of them, when one is absent
-        self.assert_compile(table.insert().values(values),
+        self.assert_compile(
+            table.insert().values(values),
             'INSERT INTO sometable (id, data, foo) VALUES '
             '(%(id_0)s, %(data_0)s, %(foo_0)s), '
             '(%(id_1)s, %(data_1)s, %(foo_0)s), '
             '(%(id_2)s, %(data_2)s, %(foo_2)s)',
-            checkparams=checkparams, dialect=postgresql.dialect())
+            checkparams=checkparams,
+            dialect=postgresql.dialect())
index 8a02514982aba90b7805c774363d6b616b4069d7..d5a9a71ae5914a1d11bae04b11f1ad8f47888e70 100644 (file)
@@ -5,12 +5,13 @@ from sqlalchemy import Table, Column, Integer, MetaData
 from sqlalchemy.testing import fixtures
 from sqlalchemy.testing import is_
 
+
 class TestCoreInspection(fixtures.TestBase):
 
     def test_table(self):
         t = Table('t', MetaData(),
-            Column('x', Integer)
-            )
+                  Column('x', Integer)
+                  )
 
         is_(inspect(t), t)
         assert t.is_selectable
@@ -18,8 +19,8 @@ class TestCoreInspection(fixtures.TestBase):
 
     def test_select(self):
         t = Table('t', MetaData(),
-            Column('x', Integer)
-            )
+                  Column('x', Integer)
+                  )
         s = t.select()
 
         is_(inspect(s), s)
@@ -30,4 +31,4 @@ class TestCoreInspection(fixtures.TestBase):
         c = Column('x', Integer)
         is_(inspect(c), c)
         assert not c.is_selectable
-        assert not hasattr(c, 'selectable')
\ No newline at end of file
+        assert not hasattr(c, 'selectable')
index 7400792ca37556904e8ad7ca901df4549237b864..035f60d602ffe9bbe7be2503e65f0f2f4a6b1c7b 100644 (file)
@@ -1,5 +1,6 @@
-from sqlalchemy import Table, Column, Integer, MetaData, ForeignKey, select, exists, union
-from sqlalchemy.testing import fixtures, AssertsCompiledSQL, eq_
+from sqlalchemy import Table, Column, Integer, MetaData, ForeignKey, \
+    select, exists, union
+from sqlalchemy.testing import fixtures, AssertsCompiledSQL
 from sqlalchemy import util
 from sqlalchemy.engine import default
 from sqlalchemy import testing
@@ -9,62 +10,64 @@ m = MetaData()
 
 
 a = Table('a', m,
-        Column('id', Integer, primary_key=True)
-    )
+          Column('id', Integer, primary_key=True)
+          )
 
 b = Table('b', m,
-        Column('id', Integer, primary_key=True),
-        Column('a_id', Integer, ForeignKey('a.id'))
-    )
+          Column('id', Integer, primary_key=True),
+          Column('a_id', Integer, ForeignKey('a.id'))
+          )
 
 b_a = Table('b_a', m,
-        Column('id', Integer, primary_key=True),
-    )
+            Column('id', Integer, primary_key=True),
+            )
 
 b1 = Table('b1', m,
-        Column('id', Integer, primary_key=True),
-        Column('a_id', Integer, ForeignKey('a.id'))
-    )
+           Column('id', Integer, primary_key=True),
+           Column('a_id', Integer, ForeignKey('a.id'))
+           )
 
 b2 = Table('b2', m,
-        Column('id', Integer, primary_key=True),
-        Column('a_id', Integer, ForeignKey('a.id'))
-    )
+           Column('id', Integer, primary_key=True),
+           Column('a_id', Integer, ForeignKey('a.id'))
+           )
 
 a_to_b = Table('a_to_b', m,
-        Column('a_id', Integer, ForeignKey('a.id')),
-        Column('b_id', Integer, ForeignKey('b.id')),
-    )
+               Column('a_id', Integer, ForeignKey('a.id')),
+               Column('b_id', Integer, ForeignKey('b.id')),
+               )
 
 c = Table('c', m,
-        Column('id', Integer, primary_key=True),
-        Column('b_id', Integer, ForeignKey('b.id'))
-    )
+          Column('id', Integer, primary_key=True),
+          Column('b_id', Integer, ForeignKey('b.id'))
+          )
 
 d = Table('d', m,
-        Column('id', Integer, primary_key=True),
-        Column('c_id', Integer, ForeignKey('c.id'))
-    )
+          Column('id', Integer, primary_key=True),
+          Column('c_id', Integer, ForeignKey('c.id'))
+          )
 
 e = Table('e', m,
-        Column('id', Integer, primary_key=True)
-    )
+          Column('id', Integer, primary_key=True)
+          )
 
 f = Table('f', m,
-        Column('id', Integer, primary_key=True),
-        Column('a_id', ForeignKey('a.id'))
-    )
+          Column('id', Integer, primary_key=True),
+          Column('a_id', ForeignKey('a.id'))
+          )
 
 b_key = Table('b_key', m,
-        Column('id', Integer, primary_key=True, key='bid'),
-    )
+              Column('id', Integer, primary_key=True, key='bid'),
+              )
 
 a_to_b_key = Table('a_to_b_key', m,
-        Column('aid', Integer, ForeignKey('a.id')),
-        Column('bid', Integer, ForeignKey('b_key.bid')),
-    )
+                   Column('aid', Integer, ForeignKey('a.id')),
+                   Column('bid', Integer, ForeignKey('b_key.bid')),
+                   )
+
 
 class _JoinRewriteTestBase(AssertsCompiledSQL):
+
     def _test(self, s, assert_):
         self.assert_compile(
             s,
@@ -111,7 +114,7 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
         j2 = a.join(j1)
 
         s = select([a, b_key.c.bid], use_labels=True).\
-                select_from(j2)
+            select_from(j2)
 
         self._test(s, self._a_bkeyassoc)
 
@@ -123,7 +126,7 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
         j2 = a.join(j1)
 
         s = select([a, bkey_alias.c.bid], use_labels=True).\
-                select_from(j2)
+            select_from(j2)
 
         self._test(s, self._a_bkeyassoc_aliased)
 
@@ -137,7 +140,7 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
             where(b.c.id == 2).\
             where(c.c.id == 3).\
             where(d.c.id == 4).\
-                order_by(a.c.id, b.c.id, c.c.id, d.c.id)
+            order_by(a.c.id, b.c.id, c.c.id, d.c.id)
 
         self._test(
             s,
@@ -146,7 +149,8 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
 
     def test_a_bc_comma_a1_selbc(self):
         # test here we're emulating is
-        # test.orm.inheritance.test_polymorphic_rel:PolymorphicJoinsTest.test_multi_join
+        # test.orm.inheritance.test_polymorphic_rel:
+        #  PolymorphicJoinsTest.test_multi_join
         j1 = b.join(c)
         j2 = b.join(c).select(use_labels=True).alias()
         j3 = a.join(j1)
@@ -154,7 +158,7 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
         j4 = a_a.join(j2)
 
         s = select([a, a_a, b, c, j2], use_labels=True).\
-                select_from(j3).select_from(j4).order_by(j2.c.b_id)
+            select_from(j3).select_from(j4).order_by(j2.c.b_id)
 
         self._test(
             s,
@@ -170,10 +174,14 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
 
         # TODO: if we put straight a_to_b_alias here,
         # it fails to alias the columns clause.
-        s = select([a, a_to_b_alias.c.a_id, a_to_b_alias.c.b_id,
-                    b_alias.c.id, b_alias.c.a_id,
-                    exists().select_from(c).where(c.c.b_id == b_alias.c.id).label(None)
-                ], use_labels=True).select_from(j2)
+        s = select([a,
+                    a_to_b_alias.c.a_id,
+                    a_to_b_alias.c.b_id,
+                    b_alias.c.id,
+                    b_alias.c.a_id,
+                    exists().select_from(c).
+                    where(c.c.b_id == b_alias.c.id).label(None)],
+                   use_labels=True).select_from(j2)
 
         self._test(
             s,
@@ -202,9 +210,9 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
         b_j2 = b.join(j2)
 
         s = union(
-                select([b_j1], use_labels=True),
-                select([b_j2], use_labels=True)
-            ).select(use_labels=True)
+            select([b_j1], use_labels=True),
+            select([b_j2], use_labels=True)
+        ).select(use_labels=True)
 
         self._test(
             s,
@@ -216,10 +224,10 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
         # this involves annotations so try to loop those in.
         j1 = b.join(b_a, b.c.id == b_a.c.id)
         annot = [
-                    b.c.id._annotate({}),
-                    b.c.a_id._annotate({}),
-                    b_a.c.id._annotate({})
-                ]
+            b.c.id._annotate({}),
+            b.c.a_id._annotate({}),
+            b_a.c.id._annotate({})
+        ]
 
         s = select(annot).select_from(j1).apply_labels().alias()
 
@@ -245,6 +253,7 @@ class _JoinRewriteTestBase(AssertsCompiledSQL):
 
 
 class JoinRewriteTest(_JoinRewriteTestBase, fixtures.TestBase):
+
     """test rendering of each join with right-nested rewritten as
     aliased SELECT statements.."""
 
@@ -255,49 +264,49 @@ class JoinRewriteTest(_JoinRewriteTestBase, fixtures.TestBase):
         return dialect
 
     _a__b_dc = (
-            "SELECT a.id AS a_id, anon_1.b_id AS b_id, "
-            "anon_1.b_a_id AS b_a_id, anon_1.c_id AS c_id, "
-            "anon_1.c_b_id AS c_b_id, anon_1.d_id AS d_id, "
-            "anon_1.d_c_id AS d_c_id "
-            "FROM a JOIN (SELECT b.id AS b_id, b.a_id AS b_a_id, "
-            "anon_2.c_id AS c_id, anon_2.c_b_id AS c_b_id, "
-            "anon_2.d_id AS d_id, anon_2.d_c_id AS d_c_id "
-            "FROM b JOIN (SELECT c.id AS c_id, c.b_id AS c_b_id, "
-            "d.id AS d_id, d.c_id AS d_c_id "
-            "FROM c JOIN d ON c.id = d.c_id) AS anon_2 "
-            "ON b.id = anon_2.c_b_id) AS anon_1 ON a.id = anon_1.b_a_id "
-            "WHERE anon_1.b_id = :id_1 AND anon_1.c_id = :id_2 AND "
-            "anon_1.d_id = :id_3 "
-            "ORDER BY a.id, anon_1.b_id, anon_1.c_id, anon_1.d_id"
-            )
+        "SELECT a.id AS a_id, anon_1.b_id AS b_id, "
+        "anon_1.b_a_id AS b_a_id, anon_1.c_id AS c_id, "
+        "anon_1.c_b_id AS c_b_id, anon_1.d_id AS d_id, "
+        "anon_1.d_c_id AS d_c_id "
+        "FROM a JOIN (SELECT b.id AS b_id, b.a_id AS b_a_id, "
+        "anon_2.c_id AS c_id, anon_2.c_b_id AS c_b_id, "
+        "anon_2.d_id AS d_id, anon_2.d_c_id AS d_c_id "
+        "FROM b JOIN (SELECT c.id AS c_id, c.b_id AS c_b_id, "
+        "d.id AS d_id, d.c_id AS d_c_id "
+        "FROM c JOIN d ON c.id = d.c_id) AS anon_2 "
+        "ON b.id = anon_2.c_b_id) AS anon_1 ON a.id = anon_1.b_a_id "
+        "WHERE anon_1.b_id = :id_1 AND anon_1.c_id = :id_2 AND "
+        "anon_1.d_id = :id_3 "
+        "ORDER BY a.id, anon_1.b_id, anon_1.c_id, anon_1.d_id"
+    )
 
     _a_bc = (
-            "SELECT a.id AS a_id, anon_1.b_id AS b_id, "
-            "anon_1.b_a_id AS b_a_id, anon_1.c_id AS c_id, "
-            "anon_1.c_b_id AS c_b_id FROM a JOIN "
-            "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
-                "c.id AS c_id, c.b_id AS c_b_id "
-                "FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
-            "ON a.id = anon_1.b_a_id "
-            "WHERE anon_1.b_id = :id_1 AND anon_1.c_id = :id_2 "
-            "ORDER BY a.id, anon_1.b_id, anon_1.c_id"
-            )
+        "SELECT a.id AS a_id, anon_1.b_id AS b_id, "
+        "anon_1.b_a_id AS b_a_id, anon_1.c_id AS c_id, "
+        "anon_1.c_b_id AS c_b_id FROM a JOIN "
+        "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
+        "c.id AS c_id, c.b_id AS c_b_id "
+        "FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
+        "ON a.id = anon_1.b_a_id "
+        "WHERE anon_1.b_id = :id_1 AND anon_1.c_id = :id_2 "
+        "ORDER BY a.id, anon_1.b_id, anon_1.c_id"
+    )
 
     _a_bc_comma_a1_selbc = (
-            "SELECT a.id AS a_id, a_1.id AS a_1_id, anon_1.b_id AS b_id, "
-            "anon_1.b_a_id AS b_a_id, anon_1.c_id AS c_id, "
-            "anon_1.c_b_id AS c_b_id, anon_2.b_id AS anon_2_b_id, "
-            "anon_2.b_a_id AS anon_2_b_a_id, anon_2.c_id AS anon_2_c_id, "
-            "anon_2.c_b_id AS anon_2_c_b_id FROM a "
-            "JOIN (SELECT b.id AS b_id, b.a_id AS b_a_id, c.id AS c_id, "
-            "c.b_id AS c_b_id FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
-            "ON a.id = anon_1.b_a_id, "
-            "a AS a_1 JOIN "
-                "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
-                "c.id AS c_id, c.b_id AS c_b_id "
-                "FROM b JOIN c ON b.id = c.b_id) AS anon_2 "
-            "ON a_1.id = anon_2.b_a_id ORDER BY anon_2.b_id"
-        )
+        "SELECT a.id AS a_id, a_1.id AS a_1_id, anon_1.b_id AS b_id, "
+        "anon_1.b_a_id AS b_a_id, anon_1.c_id AS c_id, "
+        "anon_1.c_b_id AS c_b_id, anon_2.b_id AS anon_2_b_id, "
+        "anon_2.b_a_id AS anon_2_b_a_id, anon_2.c_id AS anon_2_c_id, "
+        "anon_2.c_b_id AS anon_2_c_b_id FROM a "
+        "JOIN (SELECT b.id AS b_id, b.a_id AS b_a_id, c.id AS c_id, "
+        "c.b_id AS c_b_id FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
+        "ON a.id = anon_1.b_a_id, "
+        "a AS a_1 JOIN "
+        "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
+        "c.id AS c_id, c.b_id AS c_b_id "
+        "FROM b JOIN c ON b.id = c.b_id) AS anon_2 "
+        "ON a_1.id = anon_2.b_a_id ORDER BY anon_2.b_id"
+    )
 
     _a_bkeyassoc = (
         "SELECT a.id AS a_id, anon_1.b_key_id AS b_key_id "
@@ -306,7 +315,7 @@ class JoinRewriteTest(_JoinRewriteTestBase, fixtures.TestBase):
         "a_to_b_key.bid AS a_to_b_key_bid FROM b_key "
         "JOIN a_to_b_key ON b_key.id = a_to_b_key.bid) AS anon_1 "
         "ON a.id = anon_1.a_to_b_key_aid"
-        )
+    )
 
     _a_bkeyassoc_aliased = (
         "SELECT a.id AS a_id, anon_1.b_key_1_id AS b_key_1_id "
@@ -315,46 +324,49 @@ class JoinRewriteTest(_JoinRewriteTestBase, fixtures.TestBase):
         "a_to_b_key_1.bid AS a_to_b_key_1_bid FROM b_key AS b_key_1 "
         "JOIN a_to_b_key AS a_to_b_key_1 ON b_key_1.id = a_to_b_key_1.bid) AS "
         "anon_1 ON a.id = anon_1.a_to_b_key_1_aid"
-        )
+    )
 
     _a_bkeyselect_bkey = (
         "SELECT a.id AS a_id, anon_2.anon_1_aid AS anon_1_aid, "
         "anon_2.anon_1_bid AS anon_1_bid, anon_2.b_key_id AS b_key_id "
-        "FROM a JOIN (SELECT anon_1.aid AS anon_1_aid, anon_1.bid AS anon_1_bid, "
-            "b_key.id AS b_key_id "
-            "FROM (SELECT a_to_b_key.aid AS aid, a_to_b_key.bid AS bid "
-                "FROM a_to_b_key) AS anon_1 "
-        "JOIN b_key ON b_key.id = anon_1.bid) AS anon_2 ON a.id = anon_2.anon_1_aid"
-    )
+        "FROM a JOIN (SELECT anon_1.aid AS anon_1_aid, "
+        "anon_1.bid AS anon_1_bid, "
+        "b_key.id AS b_key_id "
+        "FROM (SELECT a_to_b_key.aid AS aid, a_to_b_key.bid AS bid "
+        "FROM a_to_b_key) AS anon_1 "
+        "JOIN b_key ON b_key.id = anon_1.bid) AS anon_2 "
+        "ON a.id = anon_2.anon_1_aid")
 
     _a_atobalias_balias_c_w_exists = (
         "SELECT a.id AS a_id, "
-        "anon_1.a_to_b_1_a_id AS a_to_b_1_a_id, anon_1.a_to_b_1_b_id AS a_to_b_1_b_id, "
+        "anon_1.a_to_b_1_a_id AS a_to_b_1_a_id, "
+        "anon_1.a_to_b_1_b_id AS a_to_b_1_b_id, "
         "anon_1.b_1_id AS b_1_id, anon_1.b_1_a_id AS b_1_a_id, "
         "EXISTS (SELECT * FROM c WHERE c.b_id = anon_1.b_1_id) AS anon_2 "
         "FROM a LEFT OUTER JOIN (SELECT a_to_b_1.a_id AS a_to_b_1_a_id, "
-        "a_to_b_1.b_id AS a_to_b_1_b_id, b_1.id AS b_1_id, b_1.a_id AS b_1_a_id "
+        "a_to_b_1.b_id AS a_to_b_1_b_id, b_1.id AS b_1_id, "
+        "b_1.a_id AS b_1_a_id "
         "FROM a_to_b AS a_to_b_1 "
         "JOIN b AS b_1 ON b_1.id = a_to_b_1.b_id) AS anon_1 "
-        "ON a.id = anon_1.a_to_b_1_a_id"
-    )
+        "ON a.id = anon_1.a_to_b_1_a_id")
 
     _a_atobalias_balias = (
         "SELECT a.id AS a_id, anon_1.a_to_b_1_a_id AS a_to_b_1_a_id, "
         "anon_1.a_to_b_1_b_id AS a_to_b_1_b_id, anon_1.b_1_id AS b_1_id, "
         "anon_1.b_1_a_id AS b_1_a_id FROM a LEFT OUTER JOIN "
-        "(SELECT a_to_b_1.a_id AS a_to_b_1_a_id, a_to_b_1.b_id AS a_to_b_1_b_id, "
+        "(SELECT a_to_b_1.a_id AS a_to_b_1_a_id, "
+        "a_to_b_1.b_id AS a_to_b_1_b_id, "
         "b_1.id AS b_1_id, b_1.a_id AS b_1_a_id FROM a_to_b AS a_to_b_1 "
-        "JOIN b AS b_1 ON b_1.id = a_to_b_1.b_id) AS anon_1 ON a.id = anon_1.a_to_b_1_a_id"
-    )
+        "JOIN b AS b_1 ON b_1.id = a_to_b_1.b_id) AS anon_1 "
+        "ON a.id = anon_1.a_to_b_1_a_id")
 
     _b_ab1_union_c_ab2 = (
         "SELECT b_id AS b_id, b_a_id AS b_a_id, a_id AS a_id, b1_id AS b1_id, "
         "b1_a_id AS b1_a_id FROM "
         "(SELECT b.id AS b_id, b.a_id AS b_a_id, anon_1.a_id AS a_id, "
-            "anon_1.b1_id AS b1_id, anon_1.b1_a_id AS b1_a_id "
-            "FROM b JOIN (SELECT a.id AS a_id, b1.id AS b1_id, b1.a_id AS b1_a_id "
-            "FROM a JOIN b1 ON a.id = b1.a_id) AS anon_1 ON anon_1.a_id = b.a_id "
+        "anon_1.b1_id AS b1_id, anon_1.b1_a_id AS b1_a_id "
+        "FROM b JOIN (SELECT a.id AS a_id, b1.id AS b1_id, b1.a_id AS b1_a_id "
+        "FROM a JOIN b1 ON a.id = b1.a_id) AS anon_1 ON anon_1.a_id = b.a_id "
         "UNION "
         "SELECT b.id AS b_id, b.a_id AS b_a_id, anon_2.a_id AS a_id, "
         "anon_2.b2_id AS b2_id, anon_2.b2_a_id AS b2_a_id "
@@ -377,7 +389,9 @@ class JoinRewriteTest(_JoinRewriteTestBase, fixtures.TestBase):
         "FROM a JOIN b2 ON a.id = b2.a_id)"
     )
 
+
 class JoinPlainTest(_JoinRewriteTestBase, fixtures.TestBase):
+
     """test rendering of each join with normal nesting."""
     @util.classproperty
     def __dialect__(cls):
@@ -387,53 +401,52 @@ class JoinPlainTest(_JoinRewriteTestBase, fixtures.TestBase):
     _a_bkeyselect_bkey = (
         "SELECT a.id AS a_id, b_key.id AS b_key_id FROM a JOIN "
         "((SELECT a_to_b_key.aid AS aid, a_to_b_key.bid AS bid "
-            "FROM a_to_b_key) AS anon_1 JOIN b_key ON b_key.id = anon_1.bid) "
+        "FROM a_to_b_key) AS anon_1 JOIN b_key ON b_key.id = anon_1.bid) "
         "ON a.id = anon_1.aid"
     )
     _a__b_dc = (
-            "SELECT a.id AS a_id, b.id AS b_id, "
-            "b.a_id AS b_a_id, c.id AS c_id, "
-            "c.b_id AS c_b_id, d.id AS d_id, "
-            "d.c_id AS d_c_id "
-            "FROM a JOIN (b JOIN (c JOIN d ON c.id = d.c_id) "
-            "ON b.id = c.b_id) ON a.id = b.a_id "
-            "WHERE b.id = :id_1 AND c.id = :id_2 AND "
-            "d.id = :id_3 "
-            "ORDER BY a.id, b.id, c.id, d.id"
-            )
-
+        "SELECT a.id AS a_id, b.id AS b_id, "
+        "b.a_id AS b_a_id, c.id AS c_id, "
+        "c.b_id AS c_b_id, d.id AS d_id, "
+        "d.c_id AS d_c_id "
+        "FROM a JOIN (b JOIN (c JOIN d ON c.id = d.c_id) "
+        "ON b.id = c.b_id) ON a.id = b.a_id "
+        "WHERE b.id = :id_1 AND c.id = :id_2 AND "
+        "d.id = :id_3 "
+        "ORDER BY a.id, b.id, c.id, d.id"
+    )
 
     _a_bc = (
-            "SELECT a.id AS a_id, b.id AS b_id, "
-            "b.a_id AS b_a_id, c.id AS c_id, "
-            "c.b_id AS c_b_id FROM a JOIN "
-            "(b JOIN c ON b.id = c.b_id) "
-            "ON a.id = b.a_id "
-            "WHERE b.id = :id_1 AND c.id = :id_2 "
-            "ORDER BY a.id, b.id, c.id"
-            )
+        "SELECT a.id AS a_id, b.id AS b_id, "
+        "b.a_id AS b_a_id, c.id AS c_id, "
+        "c.b_id AS c_b_id FROM a JOIN "
+        "(b JOIN c ON b.id = c.b_id) "
+        "ON a.id = b.a_id "
+        "WHERE b.id = :id_1 AND c.id = :id_2 "
+        "ORDER BY a.id, b.id, c.id"
+    )
 
     _a_bc_comma_a1_selbc = (
-            "SELECT a.id AS a_id, a_1.id AS a_1_id, b.id AS b_id, "
-            "b.a_id AS b_a_id, c.id AS c_id, "
-            "c.b_id AS c_b_id, anon_1.b_id AS anon_1_b_id, "
-            "anon_1.b_a_id AS anon_1_b_a_id, anon_1.c_id AS anon_1_c_id, "
-            "anon_1.c_b_id AS anon_1_c_b_id FROM a "
-            "JOIN (b JOIN c ON b.id = c.b_id) "
-            "ON a.id = b.a_id, "
-            "a AS a_1 JOIN "
-                "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
-                "c.id AS c_id, c.b_id AS c_b_id "
-                "FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
-            "ON a_1.id = anon_1.b_a_id ORDER BY anon_1.b_id"
-        )
+        "SELECT a.id AS a_id, a_1.id AS a_1_id, b.id AS b_id, "
+        "b.a_id AS b_a_id, c.id AS c_id, "
+        "c.b_id AS c_b_id, anon_1.b_id AS anon_1_b_id, "
+        "anon_1.b_a_id AS anon_1_b_a_id, anon_1.c_id AS anon_1_c_id, "
+        "anon_1.c_b_id AS anon_1_c_b_id FROM a "
+        "JOIN (b JOIN c ON b.id = c.b_id) "
+        "ON a.id = b.a_id, "
+        "a AS a_1 JOIN "
+        "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
+        "c.id AS c_id, c.b_id AS c_b_id "
+        "FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
+        "ON a_1.id = anon_1.b_a_id ORDER BY anon_1.b_id"
+    )
 
     _a_bkeyassoc = (
         "SELECT a.id AS a_id, b_key.id AS b_key_id "
         "FROM a JOIN "
         "(b_key JOIN a_to_b_key ON b_key.id = a_to_b_key.bid) "
         "ON a.id = a_to_b_key.aid"
-        )
+    )
 
     _a_bkeyassoc_aliased = (
         "SELECT a.id AS a_id, b_key_1.id AS b_key_1_id FROM a "
@@ -443,12 +456,12 @@ class JoinPlainTest(_JoinRewriteTestBase, fixtures.TestBase):
 
     _a_atobalias_balias_c_w_exists = (
         "SELECT a.id AS a_id, a_to_b_1.a_id AS a_to_b_1_a_id, "
-        "a_to_b_1.b_id AS a_to_b_1_b_id, b_1.id AS b_1_id, b_1.a_id AS b_1_a_id, "
+        "a_to_b_1.b_id AS a_to_b_1_b_id, b_1.id AS b_1_id, "
+        "b_1.a_id AS b_1_a_id, "
         "EXISTS (SELECT * FROM c WHERE c.b_id = b_1.id) AS anon_1 "
         "FROM a LEFT OUTER JOIN "
         "(a_to_b AS a_to_b_1 JOIN b AS b_1 ON b_1.id = a_to_b_1.b_id) "
-        "ON a.id = a_to_b_1.a_id"
-    )
+        "ON a.id = a_to_b_1.a_id")
 
     _a_atobalias_balias = (
         "SELECT a.id AS a_id, a_to_b_1.a_id AS a_to_b_1_a_id, "
@@ -461,14 +474,14 @@ class JoinPlainTest(_JoinRewriteTestBase, fixtures.TestBase):
     _b_ab1_union_c_ab2 = (
         "SELECT b_id AS b_id, b_a_id AS b_a_id, a_id AS a_id, b1_id AS b1_id, "
         "b1_a_id AS b1_a_id FROM "
-        "(SELECT b.id AS b_id, b.a_id AS b_a_id, a.id AS a_id, b1.id AS b1_id, "
+        "(SELECT b.id AS b_id, b.a_id AS b_a_id, a.id AS a_id, "
+        "b1.id AS b1_id, "
         "b1.a_id AS b1_a_id FROM b "
         "JOIN (a JOIN b1 ON a.id = b1.a_id) ON a.id = b.a_id "
         "UNION "
         "SELECT b.id AS b_id, b.a_id AS b_a_id, a.id AS a_id, b2.id AS b2_id, "
         "b2.a_id AS b2_a_id FROM b "
-        "JOIN (a JOIN b2 ON a.id = b2.a_id) ON a.id = b.a_id)"
-    )
+        "JOIN (a JOIN b2 ON a.id = b2.a_id) ON a.id = b.a_id)")
 
     _b_a_id_double_overlap_annotated = (
         "SELECT anon_1.b_id AS anon_1_b_id, anon_1.b_a_id AS anon_1_b_a_id, "
@@ -484,7 +497,9 @@ class JoinPlainTest(_JoinRewriteTestBase, fixtures.TestBase):
         "FROM a JOIN b2 ON a.id = b2.a_id)"
     )
 
+
 class JoinNoUseLabelsTest(_JoinRewriteTestBase, fixtures.TestBase):
+
     @util.classproperty
     def __dialect__(cls):
         dialect = default.DefaultDialect()
@@ -500,51 +515,51 @@ class JoinNoUseLabelsTest(_JoinRewriteTestBase, fixtures.TestBase):
 
     _a_bkeyselect_bkey = (
         "SELECT a.id, b_key.id FROM a JOIN ((SELECT a_to_b_key.aid AS aid, "
-            "a_to_b_key.bid AS bid FROM a_to_b_key) AS anon_1 "
-            "JOIN b_key ON b_key.id = anon_1.bid) ON a.id = anon_1.aid"
+        "a_to_b_key.bid AS bid FROM a_to_b_key) AS anon_1 "
+        "JOIN b_key ON b_key.id = anon_1.bid) ON a.id = anon_1.aid"
     )
 
     _a__b_dc = (
-            "SELECT a.id, b.id, "
-            "b.a_id, c.id, "
-            "c.b_id, d.id, "
-            "d.c_id "
-            "FROM a JOIN (b JOIN (c JOIN d ON c.id = d.c_id) "
-            "ON b.id = c.b_id) ON a.id = b.a_id "
-            "WHERE b.id = :id_1 AND c.id = :id_2 AND "
-            "d.id = :id_3 "
-            "ORDER BY a.id, b.id, c.id, d.id"
-            )
+        "SELECT a.id, b.id, "
+        "b.a_id, c.id, "
+        "c.b_id, d.id, "
+        "d.c_id "
+        "FROM a JOIN (b JOIN (c JOIN d ON c.id = d.c_id) "
+        "ON b.id = c.b_id) ON a.id = b.a_id "
+        "WHERE b.id = :id_1 AND c.id = :id_2 AND "
+        "d.id = :id_3 "
+        "ORDER BY a.id, b.id, c.id, d.id"
+    )
 
     _a_bc = (
-            "SELECT a.id, b.id, "
-            "b.a_id, c.id, "
-            "c.b_id FROM a JOIN "
-            "(b JOIN c ON b.id = c.b_id) "
-            "ON a.id = b.a_id "
-            "WHERE b.id = :id_1 AND c.id = :id_2 "
-            "ORDER BY a.id, b.id, c.id"
-            )
+        "SELECT a.id, b.id, "
+        "b.a_id, c.id, "
+        "c.b_id FROM a JOIN "
+        "(b JOIN c ON b.id = c.b_id) "
+        "ON a.id = b.a_id "
+        "WHERE b.id = :id_1 AND c.id = :id_2 "
+        "ORDER BY a.id, b.id, c.id"
+    )
 
     _a_bc_comma_a1_selbc = (
-            "SELECT a.id, a_1.id, b.id, "
-            "b.a_id, c.id, "
-            "c.b_id, anon_1.b_id, "
-            "anon_1.b_a_id, anon_1.c_id, "
-            "anon_1.c_b_id FROM a "
-            "JOIN (b JOIN c ON b.id = c.b_id) "
-            "ON a.id = b.a_id, "
-            "a AS a_1 JOIN "
-                "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
-                "c.id AS c_id, c.b_id AS c_b_id "
-                "FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
-            "ON a_1.id = anon_1.b_a_id ORDER BY anon_1.b_id"
-        )
+        "SELECT a.id, a_1.id, b.id, "
+        "b.a_id, c.id, "
+        "c.b_id, anon_1.b_id, "
+        "anon_1.b_a_id, anon_1.c_id, "
+        "anon_1.c_b_id FROM a "
+        "JOIN (b JOIN c ON b.id = c.b_id) "
+        "ON a.id = b.a_id, "
+        "a AS a_1 JOIN "
+        "(SELECT b.id AS b_id, b.a_id AS b_a_id, "
+        "c.id AS c_id, c.b_id AS c_b_id "
+        "FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
+        "ON a_1.id = anon_1.b_a_id ORDER BY anon_1.b_id"
+    )
 
     _a_bkeyassoc = (
         "SELECT a.id, b_key.id FROM a JOIN (b_key JOIN a_to_b_key "
         "ON b_key.id = a_to_b_key.bid) ON a.id = a_to_b_key.aid"
-        )
+    )
 
     _a_bkeyassoc_aliased = (
         "SELECT a.id, b_key_1.id FROM a JOIN (b_key AS b_key_1 "
@@ -590,7 +605,9 @@ class JoinNoUseLabelsTest(_JoinRewriteTestBase, fixtures.TestBase):
         "FROM a JOIN b2 ON a.id = b2.a_id)"
     )
 
+
 class JoinExecTest(_JoinRewriteTestBase, fixtures.TestBase):
+
     """invoke the SQL on the current backend to ensure compatibility"""
 
     __backend__ = True
@@ -617,13 +634,17 @@ class JoinExecTest(_JoinRewriteTestBase, fixtures.TestBase):
     def test_a_atobalias_balias_c_w_exists(self):
         super(JoinExecTest, self).test_a_atobalias_balias_c_w_exists()
 
-    @testing.only_on("sqlite", "non-standard aliasing rules used at the moment, "
-                        "possibly fix this or add another test that uses "
-                        "cross-compatible aliasing")
+    @testing.only_on(
+        "sqlite",
+        "non-standard aliasing rules used at the moment, "
+        "possibly fix this or add another test that uses "
+        "cross-compatible aliasing")
     def test_b_ab1_union_b_ab2(self):
         super(JoinExecTest, self).test_b_ab1_union_b_ab2()
 
+
 class DialectFlagTest(fixtures.TestBase, AssertsCompiledSQL):
+
     def test_dialect_flag(self):
         d1 = default.DefaultDialect(supports_right_nested_joins=True)
         d2 = default.DefaultDialect(supports_right_nested_joins=False)
@@ -636,18 +657,16 @@ class DialectFlagTest(fixtures.TestBase, AssertsCompiledSQL):
 
         self.assert_compile(
             s,
-            "SELECT a.id AS a_id, b.id AS b_id, b.a_id AS b_a_id, c.id AS c_id, "
+            "SELECT a.id AS a_id, b.id AS b_id, b.a_id AS b_a_id, "
+            "c.id AS c_id, "
             "c.b_id AS c_b_id FROM a JOIN (b JOIN c ON b.id = c.b_id) "
             "ON a.id = b.a_id",
-            dialect=d1
-        )
+            dialect=d1)
         self.assert_compile(
-            s,
-            "SELECT a.id AS a_id, anon_1.b_id AS b_id, "
+            s, "SELECT a.id AS a_id, anon_1.b_id AS b_id, "
             "anon_1.b_a_id AS b_a_id, "
             "anon_1.c_id AS c_id, anon_1.c_b_id AS c_b_id "
-            "FROM a JOIN (SELECT b.id AS b_id, b.a_id AS b_a_id, c.id AS c_id, "
+            "FROM a JOIN (SELECT b.id AS b_id, b.a_id AS b_a_id, "
+            "c.id AS c_id, "
             "c.b_id AS c_b_id FROM b JOIN c ON b.id = c.b_id) AS anon_1 "
-            "ON a.id = anon_1.b_a_id",
-            dialect=d2
-        )
+            "ON a.id = anon_1.b_a_id", dialect=d2)
index fd45d303f7fa43706478fba4dc5cde887896d54f..451757b992a709e680db25712a0558107e001ab7 100644 (file)
@@ -12,14 +12,14 @@ class MaxIdentTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'DefaultDialect'
 
     table1 = table('some_large_named_table',
-            column('this_is_the_primarykey_column'),
-            column('this_is_the_data_column')
-        )
+                   column('this_is_the_primarykey_column'),
+                   column('this_is_the_data_column')
+                   )
 
     table2 = table('table_with_exactly_29_characs',
-            column('this_is_the_primarykey_column'),
-            column('this_is_the_data_column')
-        )
+                   column('this_is_the_primarykey_column'),
+                   column('this_is_the_data_column')
+                   )
 
     def _length_fixture(self, length=IDENT_LENGTH, positional=False):
         dialect = default.DefaultDialect()
@@ -38,11 +38,11 @@ class MaxIdentTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             self.table2.alias().select(),
             'SELECT '
-                'table_with_exactly_29_c_1.'
-                'this_is_the_primarykey_column, '
-                'table_with_exactly_29_c_1.this_is_the_data_column '
+            'table_with_exactly_29_c_1.'
+            'this_is_the_primarykey_column, '
+            'table_with_exactly_29_c_1.this_is_the_data_column '
             'FROM '
-                'table_with_exactly_29_characs '
+            'table_with_exactly_29_characs '
             'AS table_with_exactly_29_c_1',
             dialect=self._length_fixture()
         )
@@ -54,31 +54,31 @@ class MaxIdentTest(fixtures.TestBase, AssertsCompiledSQL):
         on = table1.c.this_is_the_data_column == ta.c.this_is_the_data_column
         self.assert_compile(
             select([table1, ta]).select_from(table1.join(ta, on)).
-                where(ta.c.this_is_the_data_column == 'data3'),
+            where(ta.c.this_is_the_data_column == 'data3'),
             'SELECT '
-                'some_large_named_table.this_is_the_primarykey_column, '
-                'some_large_named_table.this_is_the_data_column, '
-                'table_with_exactly_29_c_1.this_is_the_primarykey_column, '
-                'table_with_exactly_29_c_1.this_is_the_data_column '
+            'some_large_named_table.this_is_the_primarykey_column, '
+            'some_large_named_table.this_is_the_data_column, '
+            'table_with_exactly_29_c_1.this_is_the_primarykey_column, '
+            'table_with_exactly_29_c_1.this_is_the_data_column '
             'FROM '
-                'some_large_named_table '
+            'some_large_named_table '
             'JOIN '
-                'table_with_exactly_29_characs '
+            'table_with_exactly_29_characs '
             'AS '
-                'table_with_exactly_29_c_1 '
+            'table_with_exactly_29_c_1 '
             'ON '
-                'some_large_named_table.this_is_the_data_column = '
-                    'table_with_exactly_29_c_1.this_is_the_data_column '
+            'some_large_named_table.this_is_the_data_column = '
+            'table_with_exactly_29_c_1.this_is_the_data_column '
             'WHERE '
-                'table_with_exactly_29_c_1.this_is_the_data_column = '
-                    ':this_is_the_data_column_1',
+            'table_with_exactly_29_c_1.this_is_the_data_column = '
+            ':this_is_the_data_column_1',
             dialect=self._length_fixture()
         )
 
     def test_too_long_name_disallowed(self):
         m = MetaData()
         t = Table('this_name_is_too_long_for_what_were_doing_in_this_test',
-                        m, Column('foo', Integer))
+                  m, Column('foo', Integer))
         eng = self._engine_fixture()
         methods = (t.create, t.drop, m.create_all, m.drop_all)
         for meth in methods:
@@ -89,27 +89,27 @@ class MaxIdentTest(fixtures.TestBase, AssertsCompiledSQL):
         compiled = s.compile(dialect=self._length_fixture())
 
         assert set(compiled.result_map['some_large_named_table__2'][1]).\
-                issuperset(
-                    [
-                        'some_large_named_table_this_is_the_data_column',
-                        'some_large_named_table__2',
-                        table1.c.this_is_the_data_column
-                    ]
-                )
+            issuperset(
+            [
+                'some_large_named_table_this_is_the_data_column',
+                'some_large_named_table__2',
+                table1.c.this_is_the_data_column
+            ]
+        )
 
         assert set(compiled.result_map['some_large_named_table__1'][1]).\
-                issuperset(
-                    [
-                        'some_large_named_table_this_is_the_primarykey_column',
-                        'some_large_named_table__1',
-                        table1.c.this_is_the_primarykey_column
-                    ]
-                )
+            issuperset(
+            [
+                'some_large_named_table_this_is_the_primarykey_column',
+                'some_large_named_table__1',
+                table1.c.this_is_the_primarykey_column
+            ]
+        )
 
     def test_result_map_use_labels(self):
         table1 = self.table1
         s = table1.select().apply_labels().\
-                order_by(table1.c.this_is_the_primarykey_column)
+            order_by(table1.c.this_is_the_primarykey_column)
 
         self._assert_labeled_table1_select(s)
 
@@ -120,25 +120,25 @@ class MaxIdentTest(fixtures.TestBase, AssertsCompiledSQL):
         # generated result map corresponds to the selected table, not the
         # select query
         s = table1.select(use_labels=True,
-                        order_by=[table1.c.this_is_the_primarykey_column]).\
-                        limit(2)
+                          order_by=[table1.c.this_is_the_primarykey_column]).\
+            limit(2)
         self._assert_labeled_table1_select(s)
 
     def test_result_map_subquery(self):
         table1 = self.table1
         s = table1.select(
-                    table1.c.this_is_the_primarykey_column == 4).\
-                    alias('foo')
+            table1.c.this_is_the_primarykey_column == 4).\
+            alias('foo')
         s2 = select([s])
         compiled = s2.compile(dialect=self._length_fixture())
         assert \
             set(compiled.result_map['this_is_the_data_column'][1]).\
             issuperset(['this_is_the_data_column',
-                    s.c.this_is_the_data_column])
+                        s.c.this_is_the_data_column])
         assert \
             set(compiled.result_map['this_is_the_primarykey_column'][1]).\
             issuperset(['this_is_the_primarykey_column',
-                    s.c.this_is_the_primarykey_column])
+                        s.c.this_is_the_primarykey_column])
 
     def test_result_map_anon_alias(self):
         table1 = self.table1
@@ -147,41 +147,40 @@ class MaxIdentTest(fixtures.TestBase, AssertsCompiledSQL):
         q = table1.select(table1.c.this_is_the_primarykey_column == 4).alias()
         s = select([q]).apply_labels()
 
-        self.assert_compile(s,
-            'SELECT '
-                'anon_1.this_is_the_primarykey_column '
-                    'AS anon_1_this_is_the_prim_1, '
-                'anon_1.this_is_the_data_column '
-                    'AS anon_1_this_is_the_data_2 '
+        self.assert_compile(
+            s, 'SELECT '
+            'anon_1.this_is_the_primarykey_column '
+            'AS anon_1_this_is_the_prim_1, '
+            'anon_1.this_is_the_data_column '
+            'AS anon_1_this_is_the_data_2 '
             'FROM ('
-                'SELECT '
-                    'some_large_named_table.'
-                    'this_is_the_primarykey_column '
-                        'AS this_is_the_primarykey_column, '
-                    'some_large_named_table.this_is_the_data_column '
-                        'AS this_is_the_data_column '
-                'FROM '
-                    'some_large_named_table '
-                'WHERE '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        '= :this_is_the_primarykey__1'
-                ') '
-            'AS anon_1',
-            dialect=dialect)
+            'SELECT '
+            'some_large_named_table.'
+            'this_is_the_primarykey_column '
+            'AS this_is_the_primarykey_column, '
+            'some_large_named_table.this_is_the_data_column '
+            'AS this_is_the_data_column '
+            'FROM '
+            'some_large_named_table '
+            'WHERE '
+            'some_large_named_table.this_is_the_primarykey_column '
+            '= :this_is_the_primarykey__1'
+            ') '
+            'AS anon_1', dialect=dialect)
         compiled = s.compile(dialect=dialect)
         assert set(compiled.result_map['anon_1_this_is_the_data_2'][1]).\
-                issuperset([
-                        'anon_1_this_is_the_data_2',
-                        q.corresponding_column(
-                                table1.c.this_is_the_data_column)
-                    ])
+            issuperset([
+                'anon_1_this_is_the_data_2',
+                q.corresponding_column(
+                    table1.c.this_is_the_data_column)
+            ])
 
         assert set(compiled.result_map['anon_1_this_is_the_prim_1'][1]).\
-                issuperset([
-                        'anon_1_this_is_the_prim_1',
-                        q.corresponding_column(
-                                table1.c.this_is_the_primarykey_column)
-                    ])
+            issuperset([
+                'anon_1_this_is_the_prim_1',
+                q.corresponding_column(
+                    table1.c.this_is_the_primarykey_column)
+            ])
 
     def test_column_bind_labels_1(self):
         table1 = self.table1
@@ -254,14 +253,14 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'DefaultDialect'
 
     table1 = table('some_large_named_table',
-            column('this_is_the_primarykey_column'),
-            column('this_is_the_data_column')
-        )
+                   column('this_is_the_primarykey_column'),
+                   column('this_is_the_data_column')
+                   )
 
     table2 = table('table_with_exactly_29_characs',
-            column('this_is_the_primarykey_column'),
-            column('this_is_the_data_column')
-        )
+                   column('this_is_the_primarykey_column'),
+                   column('this_is_the_data_column')
+                   )
 
     def test_adjustable_1(self):
         table1 = self.table1
@@ -269,23 +268,22 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
             table1.c.this_is_the_primarykey_column == 4).alias('foo')
         x = select([q])
         compile_dialect = default.DefaultDialect(label_length=10)
-        self.assert_compile(x,
-            'SELECT '
-                'foo.this_1, foo.this_2 '
+        self.assert_compile(
+            x, 'SELECT '
+            'foo.this_1, foo.this_2 '
             'FROM ('
-                'SELECT '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        'AS this_1, '
-                    'some_large_named_table.this_is_the_data_column '
-                        'AS this_2 '
-                'FROM '
-                    'some_large_named_table '
-                'WHERE '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        '= :this_1'
-                ') '
-            'AS foo',
-            dialect=compile_dialect)
+            'SELECT '
+            'some_large_named_table.this_is_the_primarykey_column '
+            'AS this_1, '
+            'some_large_named_table.this_is_the_data_column '
+            'AS this_2 '
+            'FROM '
+            'some_large_named_table '
+            'WHERE '
+            'some_large_named_table.this_is_the_primarykey_column '
+            '= :this_1'
+            ') '
+            'AS foo', dialect=compile_dialect)
 
     def test_adjustable_2(self):
         table1 = self.table1
@@ -295,23 +293,22 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
         x = select([q])
 
         compile_dialect = default.DefaultDialect(label_length=10)
-        self.assert_compile(x,
-            'SELECT '
-                'foo.this_1, foo.this_2 '
+        self.assert_compile(
+            x, 'SELECT '
+            'foo.this_1, foo.this_2 '
             'FROM ('
-                'SELECT '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        'AS this_1, '
-                    'some_large_named_table.this_is_the_data_column '
-                        'AS this_2 '
-                'FROM '
-                    'some_large_named_table '
-                'WHERE '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        '= :this_1'
-                ') '
-            'AS foo',
-            dialect=compile_dialect)
+            'SELECT '
+            'some_large_named_table.this_is_the_primarykey_column '
+            'AS this_1, '
+            'some_large_named_table.this_is_the_data_column '
+            'AS this_2 '
+            'FROM '
+            'some_large_named_table '
+            'WHERE '
+            'some_large_named_table.this_is_the_primarykey_column '
+            '= :this_1'
+            ') '
+            'AS foo', dialect=compile_dialect)
 
     def test_adjustable_3(self):
         table1 = self.table1
@@ -321,23 +318,22 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
             table1.c.this_is_the_primarykey_column == 4).alias('foo')
         x = select([q])
 
-        self.assert_compile(x,
-            'SELECT '
-                'foo._1, foo._2 '
+        self.assert_compile(
+            x, 'SELECT '
+            'foo._1, foo._2 '
             'FROM ('
-                'SELECT '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        'AS _1, '
-                    'some_large_named_table.this_is_the_data_column '
-                        'AS _2 '
-                'FROM '
-                    'some_large_named_table '
-                'WHERE '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        '= :_1'
-                ') '
-            'AS foo',
-        dialect=compile_dialect)
+            'SELECT '
+            'some_large_named_table.this_is_the_primarykey_column '
+            'AS _1, '
+            'some_large_named_table.this_is_the_data_column '
+            'AS _2 '
+            'FROM '
+            'some_large_named_table '
+            'WHERE '
+            'some_large_named_table.this_is_the_primarykey_column '
+            '= :_1'
+            ') '
+            'AS foo', dialect=compile_dialect)
 
     def test_adjustable_4(self):
         table1 = self.table1
@@ -346,24 +342,23 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
         x = select([q], use_labels=True)
 
         compile_dialect = default.DefaultDialect(label_length=10)
-        self.assert_compile(x,
-            'SELECT '
-                'anon_1.this_2 AS anon_1, '
-                    'anon_1.this_4 AS anon_3 '
+        self.assert_compile(
+            x, 'SELECT '
+            'anon_1.this_2 AS anon_1, '
+            'anon_1.this_4 AS anon_3 '
             'FROM ('
-                'SELECT '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        'AS this_2, '
-                    'some_large_named_table.this_is_the_data_column '
-                        'AS this_4 '
-                'FROM '
-                    'some_large_named_table '
-                'WHERE '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        '= :this_1'
-                ') '
-            'AS anon_1',
-            dialect=compile_dialect)
+            'SELECT '
+            'some_large_named_table.this_is_the_primarykey_column '
+            'AS this_2, '
+            'some_large_named_table.this_is_the_data_column '
+            'AS this_4 '
+            'FROM '
+            'some_large_named_table '
+            'WHERE '
+            'some_large_named_table.this_is_the_primarykey_column '
+            '= :this_1'
+            ') '
+            'AS anon_1', dialect=compile_dialect)
 
     def test_adjustable_5(self):
         table1 = self.table1
@@ -371,31 +366,30 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
         x = select([q], use_labels=True)
 
         compile_dialect = default.DefaultDialect(label_length=4)
-        self.assert_compile(x,
-            'SELECT '
-                '_1._2 AS _1, '
-                '_1._4 AS _3 '
+        self.assert_compile(
+            x, 'SELECT '
+            '_1._2 AS _1, '
+            '_1._4 AS _3 '
             'FROM ('
-                'SELECT '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        'AS _2, '
-                    'some_large_named_table.this_is_the_data_column '
-                        'AS _4 '
-                'FROM '
-                    'some_large_named_table '
-                'WHERE '
-                    'some_large_named_table.this_is_the_primarykey_column '
-                        '= :_1'
-                ') '
-            'AS _1',
-            dialect=compile_dialect)
+            'SELECT '
+            'some_large_named_table.this_is_the_primarykey_column '
+            'AS _2, '
+            'some_large_named_table.this_is_the_data_column '
+            'AS _4 '
+            'FROM '
+            'some_large_named_table '
+            'WHERE '
+            'some_large_named_table.this_is_the_primarykey_column '
+            '= :_1'
+            ') '
+            'AS _1', dialect=compile_dialect)
 
     def test_adjustable_result_schema_column_1(self):
         table1 = self.table1
 
         q = table1.select(
             table1.c.this_is_the_primarykey_column == 4).apply_labels().\
-                alias('foo')
+            alias('foo')
 
         dialect = default.DefaultDialect(label_length=10)
         compiled = q.compile(dialect=dialect)
@@ -452,25 +446,26 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
 
         anon = a_table.alias()
 
-        j1 = other_table.outerjoin(anon,
-                anon.c.id == other_table.c.thirty_characters_table_id)
+        j1 = other_table.outerjoin(
+            anon,
+            anon.c.id == other_table.c.thirty_characters_table_id)
 
         self.assert_compile(
             select([other_table, anon]).
-                    select_from(j1).apply_labels(),
+            select_from(j1).apply_labels(),
             'SELECT '
-                'other_thirty_characters_table_.id '
-                    'AS other_thirty_characters__1, '
-                'other_thirty_characters_table_.thirty_characters_table_id '
-                    'AS other_thirty_characters__2, '
-                'thirty_characters_table__1.id '
-                    'AS thirty_characters_table__3 '
+            'other_thirty_characters_table_.id '
+            'AS other_thirty_characters__1, '
+            'other_thirty_characters_table_.thirty_characters_table_id '
+            'AS other_thirty_characters__2, '
+            'thirty_characters_table__1.id '
+            'AS thirty_characters_table__3 '
             'FROM '
-                'other_thirty_characters_table_ '
+            'other_thirty_characters_table_ '
             'LEFT OUTER JOIN '
-                'thirty_characters_table_xxxxxx AS thirty_characters_table__1 '
+            'thirty_characters_table_xxxxxx AS thirty_characters_table__1 '
             'ON thirty_characters_table__1.id = '
-                'other_thirty_characters_table_.thirty_characters_table_id',
+            'other_thirty_characters_table_.thirty_characters_table_id',
             dialect=compile_dialect)
 
     def test_colnames_longer_than_labels_lowercase(self):
@@ -490,8 +485,8 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
         # needs to have all characters
         s = select([a1])
         self.assert_compile(select([a1]),
-            'SELECT asdf.abcde FROM a AS asdf',
-            dialect=dialect)
+                            'SELECT asdf.abcde FROM a AS asdf',
+                            dialect=dialect)
         compiled = s.compile(dialect=dialect)
         assert set(compiled.result_map['abcde'][1]).issuperset([
             'abcde', a1.c.abcde, 'abcde'])
@@ -499,8 +494,8 @@ class LabelLengthTest(fixtures.TestBase, AssertsCompiledSQL):
         # column still there, but short label
         s = select([a1]).apply_labels()
         self.assert_compile(s,
-            'SELECT asdf.abcde AS _1 FROM a AS asdf',
-            dialect=dialect)
+                            'SELECT asdf.abcde AS _1 FROM a AS asdf',
+                            dialect=dialect)
         compiled = s.compile(dialect=dialect)
         assert set(compiled.result_map['_1'][1]).issuperset([
             'asdf_abcde', a1.c.abcde, '_1'])
index 8bd4199649451de16fe458d180550abafa619029..3a252c646b16116a24de1da7e133a37f645ba78a 100644 (file)
@@ -17,12 +17,14 @@ from sqlalchemy.testing import ComparesTables, AssertsCompiledSQL
 from sqlalchemy.testing import eq_, is_, mock
 from contextlib import contextmanager
 
+
 class MetaDataTest(fixtures.TestBase, ComparesTables):
+
     def test_metadata_connect(self):
         metadata = MetaData()
         t1 = Table('table1', metadata,
-            Column('col1', Integer, primary_key=True),
-            Column('col2', String(20)))
+                   Column('col1', Integer, primary_key=True),
+                   Column('col2', String(20)))
         metadata.bind = testing.db
         metadata.create_all()
         try:
@@ -52,16 +54,16 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
             Column('baz', String(), unique=True),
             Column(Integer(), primary_key=True),
             Column('bar', Integer(), Sequence('foo_seq'), primary_key=True,
-                                                            key='bar'),
+                   key='bar'),
             Column(Integer(), ForeignKey('bat.blah'), doc="this is a col"),
             Column('bar', Integer(), ForeignKey('bat.blah'), primary_key=True,
-                                                            key='bar'),
+                   key='bar'),
             Column('bar', Integer(), info={'foo': 'bar'}),
         ]:
             c2 = col.copy()
             for attr in ('name', 'type', 'nullable',
-                        'primary_key', 'key', 'unique', 'info',
-                        'doc'):
+                         'primary_key', 'key', 'unique', 'info',
+                         'doc'):
                 eq_(getattr(col, attr), getattr(c2, attr))
             eq_(len(col.foreign_keys), len(c2.foreign_keys))
             if col.default:
@@ -72,6 +74,7 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
 
     def test_col_subclass_copy(self):
         class MyColumn(schema.Column):
+
             def __init__(self, *args, **kw):
                 self.widget = kw.pop('widget', None)
                 super(MyColumn, self).__init__(*args, **kw)
@@ -87,6 +90,7 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
 
     def test_uninitialized_column_copy_events(self):
         msgs = []
+
         def write(c, t):
             msgs.append("attach %s.%s" % (t.name, c.name))
         c1 = Column('foo', String())
@@ -150,21 +154,22 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
     def test_dupe_tables(self):
         metadata = self.metadata
         Table('table1', metadata,
-                Column('col1', Integer, primary_key=True),
-                Column('col2', String(20)))
+              Column('col1', Integer, primary_key=True),
+              Column('col2', String(20)))
 
         metadata.create_all()
         Table('table1', metadata, autoload=True)
+
         def go():
             Table('table1', metadata,
-                    Column('col1', Integer, primary_key=True),
-                    Column('col2', String(20)))
+                  Column('col1', Integer, primary_key=True),
+                  Column('col2', String(20)))
         assert_raises_message(
             tsa.exc.InvalidRequestError,
-                "Table 'table1' is already defined for this "
-                "MetaData instance.  Specify 'extend_existing=True' "
-                "to redefine options and columns on an existing "
-                "Table object.",
+            "Table 'table1' is already defined for this "
+            "MetaData instance.  Specify 'extend_existing=True' "
+            "to redefine options and columns on an existing "
+            "Table object.",
             go
         )
 
@@ -175,8 +180,8 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
         t1 = Table('t', m, c1, c2)
 
         kw = dict(onupdate="X",
-                        ondelete="Y", use_alter=True, name='f1',
-                        deferrable="Z", initially="Q", link_to_name=True)
+                  ondelete="Y", use_alter=True, name='f1',
+                  deferrable="Z", initially="Q", link_to_name=True)
 
         fk1 = ForeignKey(c1, **kw)
         fk2 = ForeignKeyConstraint((c1,), (c2,), **kw)
@@ -248,6 +253,7 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
 
     def test_fk_given_non_col_clauseelem(self):
         class Foo(object):
+
             def __clause_element__(self):
                 return bindparam('x')
         assert_raises_message(
@@ -267,7 +273,9 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
 
     def test_fk_given_col_non_table_clauseelem(self):
         t = Table('t', MetaData(), Column('x', Integer))
+
         class Foo(object):
+
             def __clause_element__(self):
                 return t.alias().c.x
 
@@ -306,50 +314,46 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
             getattr, list(a.foreign_keys)[0], "column"
         )
 
-
-
     def test_pickle_metadata_sequence_restated(self):
         m1 = MetaData()
         Table('a', m1,
-             Column('id', Integer, primary_key=True),
-             Column('x', Integer, Sequence("x_seq")))
+              Column('id', Integer, primary_key=True),
+              Column('x', Integer, Sequence("x_seq")))
 
         m2 = pickle.loads(pickle.dumps(m1))
 
         s2 = Sequence("x_seq")
         t2 = Table('a', m2,
-             Column('id', Integer, primary_key=True),
-             Column('x', Integer, s2),
-             extend_existing=True)
+                   Column('id', Integer, primary_key=True),
+                   Column('x', Integer, s2),
+                   extend_existing=True)
 
         assert m2._sequences['x_seq'] is t2.c.x.default
         assert m2._sequences['x_seq'] is s2
 
-
     def test_sequence_restated_replaced(self):
         """Test restatement of Sequence replaces."""
 
         m1 = MetaData()
         s1 = Sequence("x_seq")
         t = Table('a', m1,
-             Column('x', Integer, s1)
-        )
+                  Column('x', Integer, s1)
+                  )
         assert m1._sequences['x_seq'] is s1
 
         s2 = Sequence('x_seq')
         Table('a', m1,
-             Column('x', Integer, s2),
-             extend_existing=True
-        )
+              Column('x', Integer, s2),
+              extend_existing=True
+              )
         assert t.c.x.default is s2
         assert m1._sequences['x_seq'] is s2
 
-
     def test_pickle_metadata_sequence_implicit(self):
         m1 = MetaData()
         Table('a', m1,
-             Column('id', Integer, primary_key=True),
-             Column('x', Integer, Sequence("x_seq")))
+              Column('id', Integer, primary_key=True),
+              Column('x', Integer, Sequence("x_seq")))
 
         m2 = pickle.loads(pickle.dumps(m1))
 
@@ -360,14 +364,14 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
     def test_pickle_metadata_schema(self):
         m1 = MetaData()
         Table('a', m1,
-             Column('id', Integer, primary_key=True),
-             Column('x', Integer, Sequence("x_seq")),
-             schema='y')
+              Column('id', Integer, primary_key=True),
+              Column('x', Integer, Sequence("x_seq")),
+              schema='y')
 
         m2 = pickle.loads(pickle.dumps(m1))
 
         Table('a', m2, schema='y',
-             extend_existing=True)
+              extend_existing=True)
 
         eq_(m2._schemas, m1._schemas)
 
@@ -378,24 +382,24 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
         m4 = MetaData()
 
         for i, (name, metadata, schema, quote_schema,
-                        exp_schema, exp_quote_schema) in enumerate([
-                                ('t1', m1, None, None, 'sch1', None),
-                                ('t2', m1, 'sch2', None, 'sch2', None),
-                                ('t3', m1, 'sch2', True, 'sch2', True),
-                                ('t4', m1, 'sch1', None, 'sch1', None),
-                                ('t1', m2, None, None, 'sch1', True),
-                                ('t2', m2, 'sch2', None, 'sch2', None),
-                                ('t3', m2, 'sch2', True, 'sch2', True),
-                                ('t4', m2, 'sch1', None, 'sch1', None),
-                                ('t1', m3, None, None, 'sch1', False),
-                                ('t2', m3, 'sch2', None, 'sch2', None),
-                                ('t3', m3, 'sch2', True, 'sch2', True),
-                                ('t4', m3, 'sch1', None, 'sch1', None),
-                                ('t1', m4, None, None, None, None),
-                                ('t2', m4, 'sch2', None, 'sch2', None),
-                                ('t3', m4, 'sch2', True, 'sch2', True),
-                                ('t4', m4, 'sch1', None, 'sch1', None),
-                        ]):
+                exp_schema, exp_quote_schema) in enumerate([
+                    ('t1', m1, None, None, 'sch1', None),
+                    ('t2', m1, 'sch2', None, 'sch2', None),
+                    ('t3', m1, 'sch2', True, 'sch2', True),
+                    ('t4', m1, 'sch1', None, 'sch1', None),
+                    ('t1', m2, None, None, 'sch1', True),
+                    ('t2', m2, 'sch2', None, 'sch2', None),
+                    ('t3', m2, 'sch2', True, 'sch2', True),
+                    ('t4', m2, 'sch1', None, 'sch1', None),
+                    ('t1', m3, None, None, 'sch1', False),
+                    ('t2', m3, 'sch2', None, 'sch2', None),
+                    ('t3', m3, 'sch2', True, 'sch2', True),
+                    ('t4', m3, 'sch1', None, 'sch1', None),
+                    ('t1', m4, None, None, None, None),
+                    ('t2', m4, 'sch2', None, 'sch2', None),
+                    ('t3', m4, 'sch2', True, 'sch2', True),
+                    ('t4', m4, 'sch1', None, 'sch1', None),
+                ]):
             kw = {}
             if schema is not None:
                 kw['schema'] = schema
@@ -404,13 +408,13 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
             t = Table(name, metadata, **kw)
             eq_(t.schema, exp_schema, "test %d, table schema" % i)
             eq_(t.schema.quote if t.schema is not None else None,
-                            exp_quote_schema,
-                            "test %d, table quote_schema" % i)
+                exp_quote_schema,
+                "test %d, table quote_schema" % i)
             seq = Sequence(name, metadata=metadata, **kw)
             eq_(seq.schema, exp_schema, "test %d, seq schema" % i)
             eq_(seq.schema.quote if seq.schema is not None else None,
-                            exp_quote_schema,
-                            "test %d, seq quote_schema" % i)
+                exp_quote_schema,
+                "test %d, seq quote_schema" % i)
 
     def test_manual_dependencies(self):
         meta = MetaData()
@@ -432,8 +436,8 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
 
     def test_nonexistent(self):
         assert_raises(tsa.exc.NoSuchTableError, Table,
-                          'fake_table',
-                          MetaData(testing.db), autoload=True)
+                      'fake_table',
+                      MetaData(testing.db), autoload=True)
 
     def test_assorted_repr(self):
         t1 = Table("foo", MetaData(), Column("x", Integer))
@@ -456,9 +460,9 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
             (i1, "Index('bar', Column('x', Integer(), table=<foo>))"),
             (schema.FetchedValue(), "FetchedValue()"),
             (ck,
-                    "CheckConstraint("
-                    "%s"
-                    ", name='someconstraint')" % repr(ck.sqltext)),
+             "CheckConstraint("
+             "%s"
+             ", name='someconstraint')" % repr(ck.sqltext)),
         ):
             eq_(
                 repr(const),
@@ -472,26 +476,51 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         from sqlalchemy.testing.schema import Table
         meta = MetaData()
 
-        table = Table('mytable', meta,
-            Column('myid', Integer, Sequence('foo_id_seq'), primary_key=True),
-            Column('name', String(40), nullable=True),
-            Column('foo', String(40), nullable=False, server_default='x',
-                                                        server_onupdate='q'),
-            Column('bar', String(40), nullable=False, default='y',
-                                                        onupdate='z'),
-            Column('description', String(30),
-                                    CheckConstraint("description='hi'")),
+        table = Table(
+            'mytable',
+            meta,
+            Column(
+                'myid',
+                Integer,
+                Sequence('foo_id_seq'),
+                primary_key=True),
+            Column(
+                'name',
+                String(40),
+                nullable=True),
+            Column(
+                'foo',
+                String(40),
+                nullable=False,
+                server_default='x',
+                server_onupdate='q'),
+            Column(
+                'bar',
+                String(40),
+                nullable=False,
+                default='y',
+                onupdate='z'),
+            Column(
+                'description',
+                String(30),
+                CheckConstraint("description='hi'")),
             UniqueConstraint('name'),
-            test_needs_fk=True
-        )
-
-        table2 = Table('othertable', meta,
-            Column('id', Integer, Sequence('foo_seq'), primary_key=True),
-            Column('myid', Integer,
-                        ForeignKey('mytable.myid'),
-                    ),
-            test_needs_fk=True
-            )
+            test_needs_fk=True)
+
+        table2 = Table(
+            'othertable',
+            meta,
+            Column(
+                'id',
+                Integer,
+                Sequence('foo_seq'),
+                primary_key=True),
+            Column(
+                'myid',
+                Integer,
+                ForeignKey('mytable.myid'),
+            ),
+            test_needs_fk=True)
 
         def test_to_metadata():
             meta2 = MetaData()
@@ -560,7 +589,6 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
                     assert c.columns.contains_column(table_c.c.name)
                     assert not c.columns.contains_column(table.c.name)
 
-
         finally:
             meta.drop_all(testing.db)
 
@@ -576,29 +604,28 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         a2 = a.tometadata(m2)
         assert b2.c.y.references(a2.c.x)
 
-
     def test_change_schema(self):
         meta = MetaData()
 
         table = Table('mytable', meta,
-            Column('myid', Integer, primary_key=True),
-            Column('name', String(40), nullable=True),
-            Column('description', String(30),
-                            CheckConstraint("description='hi'")),
-            UniqueConstraint('name'),
-        )
+                      Column('myid', Integer, primary_key=True),
+                      Column('name', String(40), nullable=True),
+                      Column('description', String(30),
+                             CheckConstraint("description='hi'")),
+                      UniqueConstraint('name'),
+                      )
 
         table2 = Table('othertable', meta,
-            Column('id', Integer, primary_key=True),
-            Column('myid', Integer, ForeignKey('mytable.myid')),
-            )
+                       Column('id', Integer, primary_key=True),
+                       Column('myid', Integer, ForeignKey('mytable.myid')),
+                       )
 
         meta2 = MetaData()
         table_c = table.tometadata(meta2, schema='someschema')
         table2_c = table2.tometadata(meta2, schema='someschema')
 
         eq_(str(table_c.join(table2_c).onclause), str(table_c.c.myid
-            == table2_c.c.myid))
+                                                      == table2_c.c.myid))
         eq_(str(table_c.join(table2_c).onclause),
             'someschema.mytable.myid = someschema.othertable.myid')
 
@@ -606,26 +633,34 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         meta = MetaData()
 
         table = Table('mytable', meta,
-            Column('myid', Integer, primary_key=True),
-            Column('name', String(40), nullable=True),
-            Column('description', String(30),
-                        CheckConstraint("description='hi'")),
-            UniqueConstraint('name'),
+                      Column('myid', Integer, primary_key=True),
+                      Column('name', String(40), nullable=True),
+                      Column('description', String(30),
+                             CheckConstraint("description='hi'")),
+                      UniqueConstraint('name'),
+                      schema='myschema',
+                      )
+
+        table2 = Table(
+            'othertable',
+            meta,
+            Column(
+                'id',
+                Integer,
+                primary_key=True),
+            Column(
+                'myid',
+                Integer,
+                ForeignKey('myschema.mytable.myid')),
             schema='myschema',
         )
 
-        table2 = Table('othertable', meta,
-            Column('id', Integer, primary_key=True),
-            Column('myid', Integer, ForeignKey('myschema.mytable.myid')),
-            schema='myschema',
-            )
-
         meta2 = MetaData()
         table_c = table.tometadata(meta2)
         table2_c = table2.tometadata(meta2)
 
         eq_(str(table_c.join(table2_c).onclause), str(table_c.c.myid
-            == table2_c.c.myid))
+                                                      == table2_c.c.myid))
         eq_(str(table_c.join(table2_c).onclause),
             'myschema.mytable.myid = myschema.othertable.myid')
 
@@ -634,7 +669,7 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         existing_schema = t2.schema
         if schema:
             t2c = t2.tometadata(m2, schema=schema,
-                                    referred_schema_fn=referred_schema_fn)
+                                referred_schema_fn=referred_schema_fn)
             eq_(t2c.schema, schema)
         else:
             t2c = t2.tometadata(m2, referred_schema_fn=referred_schema_fn)
@@ -679,7 +714,7 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         m = MetaData()
 
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey('q.t1.x')), schema="q")
+                                   ForeignKey('q.t1.x')), schema="q")
 
         self._assert_fk(t2, None, "q.t1.x")
 
@@ -690,7 +725,7 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         m = MetaData()
 
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey('q.t1.x')), schema="q")
+                                   ForeignKey('q.t1.x')), schema="q")
 
         self._assert_fk(t2, "z", "z.t1.x")
 
@@ -702,23 +737,22 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
 
         t1 = Table('t1', m, Column('x', Integer), schema='q')
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey(t1.c.x)), schema='q')
+                                   ForeignKey(t1.c.x)), schema='q')
         self._assert_fk(t2, None, "q.t1.x")
 
-
     def test_fk_and_referent_has_same_schema_col_new_schema(self):
         m = MetaData()
 
         t1 = Table('t1', m, Column('x', Integer), schema='q')
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey(t1.c.x)), schema='q')
+                                   ForeignKey(t1.c.x)), schema='q')
         self._assert_fk(t2, 'z', "z.t1.x")
 
     def test_fk_and_referent_has_diff_schema_string_retain_schema(self):
         m = MetaData()
 
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey('p.t1.x')), schema="q")
+                                   ForeignKey('p.t1.x')), schema="q")
 
         self._assert_fk(t2, None, "p.t1.x")
 
@@ -729,7 +763,7 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         m = MetaData()
 
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey('p.t1.x')), schema="q")
+                                   ForeignKey('p.t1.x')), schema="q")
 
         self._assert_fk(t2, "z", "p.t1.x")
 
@@ -741,22 +775,21 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
 
         t1 = Table('t1', m, Column('x', Integer), schema='p')
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey(t1.c.x)), schema='q')
+                                   ForeignKey(t1.c.x)), schema='q')
         self._assert_fk(t2, None, "p.t1.x")
 
-
     def test_fk_and_referent_has_diff_schema_col_new_schema(self):
         m = MetaData()
 
         t1 = Table('t1', m, Column('x', Integer), schema='p')
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey(t1.c.x)), schema='q')
+                                   ForeignKey(t1.c.x)), schema='q')
         self._assert_fk(t2, 'z', "p.t1.x")
 
     def test_fk_custom_system(self):
         m = MetaData()
         t2 = Table('t2', m, Column('y', Integer,
-                                    ForeignKey('p.t1.x')), schema='q')
+                                   ForeignKey('p.t1.x')), schema='q')
 
         def ref_fn(table, to_schema, constraint, referred_schema):
             assert table is t2
@@ -765,7 +798,6 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
             return "h"
         self._assert_fk(t2, 'z', "h.t1.x", referred_schema_fn=ref_fn)
 
-
     def test_copy_info(self):
         m = MetaData()
         fk = ForeignKey('t2.id')
@@ -780,7 +812,7 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         t.info['tinfo'] = True
         t.primary_key.info['pkinfo'] = True
         fkc = [const for const in t.constraints if
-                    isinstance(const, ForeignKeyConstraint)][0]
+               isinstance(const, ForeignKeyConstraint)][0]
         fkc.info['fkcinfo'] = True
 
         m2 = MetaData()
@@ -800,21 +832,20 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         eq_(t2.primary_key.info, {"pkinfo": True})
 
         fkc2 = [const for const in t2.constraints
-                    if isinstance(const, ForeignKeyConstraint)][0]
+                if isinstance(const, ForeignKeyConstraint)][0]
         eq_(fkc2.info, {"fkcinfo": True})
 
         ck2 = [const for const in
-                    t2.constraints if isinstance(const, CheckConstraint)][0]
+               t2.constraints if isinstance(const, CheckConstraint)][0]
         eq_(ck2.info, {"ckinfo": True})
 
-
     def test_dialect_kwargs(self):
         meta = MetaData()
 
         table = Table('mytable', meta,
-            Column('myid', Integer, primary_key=True),
-            mysql_engine='InnoDB',
-        )
+                      Column('myid', Integer, primary_key=True),
+                      mysql_engine='InnoDB',
+                      )
 
         meta2 = MetaData()
         table_c = table.tometadata(meta2)
@@ -827,10 +858,10 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
         meta = MetaData()
 
         table = Table('mytable', meta,
-            Column('id', Integer, primary_key=True),
-            Column('data1', Integer, index=True),
-            Column('data2', Integer),
-        )
+                      Column('id', Integer, primary_key=True),
+                      Column('data1', Integer, index=True),
+                      Column('data2', Integer),
+                      )
         Index('multi', table.c.data1, table.c.data2),
 
         meta2 = MetaData()
@@ -838,8 +869,8 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
 
         def _get_key(i):
             return [i.name, i.unique] + \
-                    sorted(i.kwargs.items()) + \
-                    list(i.columns.keys())
+                sorted(i.kwargs.items()) + \
+                list(i.columns.keys())
 
         eq_(
             sorted([_get_key(i) for i in table.indexes]),
@@ -851,12 +882,12 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
 
         meta1 = MetaData()
         table1 = Table('mytable', meta1,
-            Column('myid', Integer, primary_key=True),
-        )
+                       Column('myid', Integer, primary_key=True),
+                       )
         meta2 = MetaData()
         table2 = Table('mytable', meta2,
-            Column('yourid', Integer, primary_key=True),
-        )
+                       Column('yourid', Integer, primary_key=True),
+                       )
 
         table_c = table1.tometadata(meta2)
         table_d = table2.tometadata(meta2)
@@ -867,59 +898,72 @@ class ToMetaDataTest(fixtures.TestBase, ComparesTables):
     def test_default_schema_metadata(self):
         meta = MetaData(schema='myschema')
 
-        table = Table('mytable', meta,
-            Column('myid', Integer, primary_key=True),
-            Column('name', String(40), nullable=True),
-            Column('description', String(30), CheckConstraint("description='hi'")),
+        table = Table(
+            'mytable',
+            meta,
+            Column(
+                'myid',
+                Integer,
+                primary_key=True),
+            Column(
+                'name',
+                String(40),
+                nullable=True),
+            Column(
+                'description',
+                String(30),
+                CheckConstraint("description='hi'")),
             UniqueConstraint('name'),
         )
 
-        table2 = Table('othertable', meta,
-            Column('id', Integer, primary_key=True),
-            Column('myid', Integer, ForeignKey('myschema.mytable.myid')),
-            )
+        table2 = Table(
+            'othertable', meta, Column(
+                'id', Integer, primary_key=True), Column(
+                'myid', Integer, ForeignKey('myschema.mytable.myid')), )
 
         meta2 = MetaData(schema='someschema')
         table_c = table.tometadata(meta2, schema=None)
         table2_c = table2.tometadata(meta2, schema=None)
 
         eq_(str(table_c.join(table2_c).onclause),
-                str(table_c.c.myid == table2_c.c.myid))
+            str(table_c.c.myid == table2_c.c.myid))
         eq_(str(table_c.join(table2_c).onclause),
-                "someschema.mytable.myid = someschema.othertable.myid")
+            "someschema.mytable.myid = someschema.othertable.myid")
 
     def test_strip_schema(self):
         meta = MetaData()
 
         table = Table('mytable', meta,
-            Column('myid', Integer, primary_key=True),
-            Column('name', String(40), nullable=True),
-            Column('description', String(30),
-                        CheckConstraint("description='hi'")),
-            UniqueConstraint('name'),
-        )
+                      Column('myid', Integer, primary_key=True),
+                      Column('name', String(40), nullable=True),
+                      Column('description', String(30),
+                             CheckConstraint("description='hi'")),
+                      UniqueConstraint('name'),
+                      )
 
         table2 = Table('othertable', meta,
-            Column('id', Integer, primary_key=True),
-            Column('myid', Integer, ForeignKey('mytable.myid')),
-            )
+                       Column('id', Integer, primary_key=True),
+                       Column('myid', Integer, ForeignKey('mytable.myid')),
+                       )
 
         meta2 = MetaData()
         table_c = table.tometadata(meta2, schema=None)
         table2_c = table2.tometadata(meta2, schema=None)
 
         eq_(str(table_c.join(table2_c).onclause), str(table_c.c.myid
-            == table2_c.c.myid))
+                                                      == table2_c.c.myid))
         eq_(str(table_c.join(table2_c).onclause),
             'mytable.myid = othertable.myid')
 
+
 class TableTest(fixtures.TestBase, AssertsCompiledSQL):
+
     @testing.skip_if('mssql', 'different col format')
     def test_prefixes(self):
         from sqlalchemy import Table
         table1 = Table("temporary_table_1", MetaData(),
-                      Column("col1", Integer),
-                      prefixes=["TEMPORARY"])
+                       Column("col1", Integer),
+                       prefixes=["TEMPORARY"])
 
         self.assert_compile(
             schema.CreateTable(table1),
@@ -927,8 +971,8 @@ class TableTest(fixtures.TestBase, AssertsCompiledSQL):
         )
 
         table2 = Table("temporary_table_2", MetaData(),
-                      Column("col1", Integer),
-                      prefixes=["VIRTUAL"])
+                       Column("col1", Integer),
+                       prefixes=["VIRTUAL"])
         self.assert_compile(
             schema.CreateTable(table2),
             "CREATE VIRTUAL TABLE temporary_table_2 (col1 INTEGER)"
@@ -972,23 +1016,23 @@ class TableTest(fixtures.TestBase, AssertsCompiledSQL):
         m = MetaData()
 
         t = Table('t', m,
-            Column('id', Integer, primary_key=True)
-        )
+                  Column('id', Integer, primary_key=True)
+                  )
 
         is_(t._autoincrement_column, t.c.id)
 
         t = Table('t', m,
-            Column('id', Integer, primary_key=True),
-            extend_existing=True
-        )
+                  Column('id', Integer, primary_key=True),
+                  extend_existing=True
+                  )
         is_(t._autoincrement_column, t.c.id)
 
     def test_pk_args_standalone(self):
         m = MetaData()
         t = Table('t', m,
-                    Column('x', Integer, primary_key=True),
-                    PrimaryKeyConstraint(mssql_clustered=True)
-                )
+                  Column('x', Integer, primary_key=True),
+                  PrimaryKeyConstraint(mssql_clustered=True)
+                  )
         eq_(
             list(t.primary_key), [t.c.x]
         )
@@ -999,11 +1043,11 @@ class TableTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_pk_cols_sets_flags(self):
         m = MetaData()
         t = Table('t', m,
-                    Column('x', Integer),
-                    Column('y', Integer),
-                    Column('z', Integer),
-                    PrimaryKeyConstraint('x', 'y')
-                )
+                  Column('x', Integer),
+                  Column('y', Integer),
+                  Column('z', Integer),
+                  PrimaryKeyConstraint('x', 'y')
+                  )
         eq_(t.c.x.primary_key, True)
         eq_(t.c.y.primary_key, True)
         eq_(t.c.z.primary_key, False)
@@ -1013,11 +1057,11 @@ class TableTest(fixtures.TestBase, AssertsCompiledSQL):
         assert_raises_message(
             exc.SAWarning,
             "Table 't' specifies columns 'x' as primary_key=True, "
-                "not matching locally specified columns 'q'",
+            "not matching locally specified columns 'q'",
             Table, 't', m,
-                Column('x', Integer, primary_key=True),
-                Column('q', Integer),
-                PrimaryKeyConstraint('q')
+            Column('x', Integer, primary_key=True),
+            Column('q', Integer),
+            PrimaryKeyConstraint('q')
         )
 
     def test_pk_col_mismatch_two(self):
@@ -1025,33 +1069,33 @@ class TableTest(fixtures.TestBase, AssertsCompiledSQL):
         assert_raises_message(
             exc.SAWarning,
             "Table 't' specifies columns 'a', 'b', 'c' as primary_key=True, "
-                "not matching locally specified columns 'b', 'c'",
+            "not matching locally specified columns 'b', 'c'",
             Table, 't', m,
-           Column('a', Integer, primary_key=True),
-           Column('b', Integer, primary_key=True),
-           Column('c', Integer, primary_key=True),
-           PrimaryKeyConstraint('b', 'c')
+            Column('a', Integer, primary_key=True),
+            Column('b', Integer, primary_key=True),
+            Column('c', Integer, primary_key=True),
+            PrimaryKeyConstraint('b', 'c')
         )
 
     @testing.emits_warning("Table 't'")
     def test_pk_col_mismatch_three(self):
         m = MetaData()
         t = Table('t', m,
-                Column('x', Integer, primary_key=True),
-                Column('q', Integer),
-                PrimaryKeyConstraint('q')
-        )
+                  Column('x', Integer, primary_key=True),
+                  Column('q', Integer),
+                  PrimaryKeyConstraint('q')
+                  )
         eq_(list(t.primary_key), [t.c.q])
 
     @testing.emits_warning("Table 't'")
     def test_pk_col_mismatch_four(self):
         m = MetaData()
         t = Table('t', m,
-           Column('a', Integer, primary_key=True),
-           Column('b', Integer, primary_key=True),
-           Column('c', Integer, primary_key=True),
-           PrimaryKeyConstraint('b', 'c')
-        )
+                  Column('a', Integer, primary_key=True),
+                  Column('b', Integer, primary_key=True),
+                  Column('c', Integer, primary_key=True),
+                  PrimaryKeyConstraint('b', 'c')
+                  )
         eq_(list(t.primary_key), [t.c.b, t.c.c])
 
     def test_pk_always_flips_nullable(self):
@@ -1073,6 +1117,7 @@ class TableTest(fixtures.TestBase, AssertsCompiledSQL):
 
 
 class SchemaTypeTest(fixtures.TestBase):
+
     class MyType(sqltypes.SchemaType, sqltypes.TypeEngine):
         column = None
         table = None
@@ -1094,6 +1139,7 @@ class SchemaTypeTest(fixtures.TestBase):
             self.evt_targets += (target,)
 
     class MyTypeWImpl(MyType):
+
         def _gen_dialect_impl(self, dialect):
             return self.adapt(SchemaTypeTest.MyTypeImpl)
 
@@ -1236,7 +1282,14 @@ class SchemaTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_ad_hoc_schema_equiv_fk(self):
         m = MetaData()
         t1 = Table('t1', m, Column('x', Integer), schema="foo")
-        t2 = Table('t2', m, Column('x', Integer, ForeignKey('t1.x')), schema="foo")
+        t2 = Table(
+            't2',
+            m,
+            Column(
+                'x',
+                Integer,
+                ForeignKey('t1.x')),
+            schema="foo")
         assert_raises(
             exc.NoReferencedTableError,
             lambda: t2.c.x.references(t1.c.x)
@@ -1246,7 +1299,7 @@ class SchemaTest(fixtures.TestBase, AssertsCompiledSQL):
         m = MetaData(schema="foo")
         t1 = Table('t1', m, Column('x', Integer))
         t2 = Table('t2', m, Column('x', Integer, ForeignKey('t1.x')),
-                                schema="bar")
+                   schema="bar")
         assert t2.c.x.references(t1.c.x)
 
     def test_default_schema_metadata_fk_alt_local_raises(self):
@@ -1281,12 +1334,26 @@ class SchemaTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_iteration(self):
         metadata = MetaData()
-        table1 = Table('table1', metadata, Column('col1', Integer,
-                       primary_key=True), schema='someschema')
-        table2 = Table('table2', metadata, Column('col1', Integer,
-                       primary_key=True), Column('col2', Integer,
-                       ForeignKey('someschema.table1.col1')),
-                       schema='someschema')
+        table1 = Table(
+            'table1',
+            metadata,
+            Column(
+                'col1',
+                Integer,
+                primary_key=True),
+            schema='someschema')
+        table2 = Table(
+            'table2',
+            metadata,
+            Column(
+                'col1',
+                Integer,
+                primary_key=True),
+            Column(
+                'col2',
+                Integer,
+                ForeignKey('someschema.table1.col1')),
+            schema='someschema')
 
         t1 = str(schema.CreateTable(table1).compile(bind=testing.db))
         t2 = str(schema.CreateTable(table2).compile(bind=testing.db))
@@ -1299,11 +1366,12 @@ class SchemaTest(fixtures.TestBase, AssertsCompiledSQL):
 
 
 class UseExistingTest(fixtures.TablesTest):
+
     @classmethod
     def define_tables(cls, metadata):
         Table('users', metadata,
-                    Column('id', Integer, primary_key=True),
-                    Column('name', String(30)))
+              Column('id', Integer, primary_key=True),
+              Column('name', String(30)))
 
     def _useexisting_fixture(self):
         meta2 = MetaData(testing.db)
@@ -1315,23 +1383,23 @@ class UseExistingTest(fixtures.TablesTest):
 
     def test_exception_no_flags(self):
         meta2 = self._useexisting_fixture()
+
         def go():
             Table('users', meta2, Column('name',
-                          Unicode), autoload=True)
+                                         Unicode), autoload=True)
         assert_raises_message(
             exc.InvalidRequestError,
-                "Table 'users' is already defined for this "\
-                "MetaData instance.",
+            "Table 'users' is already defined for this "
+            "MetaData instance.",
             go
         )
 
-
     def test_keep_plus_existing_raises(self):
         meta2 = self._useexisting_fixture()
         assert_raises(
             exc.ArgumentError,
             Table, 'users', meta2, keep_existing=True,
-                extend_existing=True
+            extend_existing=True
         )
 
     @testing.uses_deprecated()
@@ -1340,47 +1408,47 @@ class UseExistingTest(fixtures.TablesTest):
         assert_raises(
             exc.ArgumentError,
             Table, 'users', meta2, useexisting=True,
-                extend_existing=True
+            extend_existing=True
         )
 
     def test_keep_existing_no_dupe_constraints(self):
         meta2 = self._notexisting_fixture()
         users = Table('users', meta2,
-            Column('id', Integer),
-            Column('name', Unicode),
-            UniqueConstraint('name'),
-            keep_existing=True
-        )
+                      Column('id', Integer),
+                      Column('name', Unicode),
+                      UniqueConstraint('name'),
+                      keep_existing=True
+                      )
         assert 'name' in users.c
         assert 'id' in users.c
         eq_(len(users.constraints), 2)
 
         u2 = Table('users', meta2,
-            Column('id', Integer),
-            Column('name', Unicode),
-            UniqueConstraint('name'),
-            keep_existing=True
-        )
+                   Column('id', Integer),
+                   Column('name', Unicode),
+                   UniqueConstraint('name'),
+                   keep_existing=True
+                   )
         eq_(len(u2.constraints), 2)
 
     def test_extend_existing_dupes_constraints(self):
         meta2 = self._notexisting_fixture()
         users = Table('users', meta2,
-            Column('id', Integer),
-            Column('name', Unicode),
-            UniqueConstraint('name'),
-            extend_existing=True
-        )
+                      Column('id', Integer),
+                      Column('name', Unicode),
+                      UniqueConstraint('name'),
+                      extend_existing=True
+                      )
         assert 'name' in users.c
         assert 'id' in users.c
         eq_(len(users.constraints), 2)
 
         u2 = Table('users', meta2,
-            Column('id', Integer),
-            Column('name', Unicode),
-            UniqueConstraint('name'),
-            extend_existing=True
-        )
+                   Column('id', Integer),
+                   Column('name', Unicode),
+                   UniqueConstraint('name'),
+                   extend_existing=True
+                   )
         # constraint got duped
         eq_(len(u2.constraints), 3)
 
@@ -1399,8 +1467,8 @@ class UseExistingTest(fixtures.TablesTest):
     def test_keep_existing_add_column(self):
         meta2 = self._useexisting_fixture()
         users = Table('users', meta2,
-                        Column('foo', Integer),
-                        autoload=True,
+                      Column('foo', Integer),
+                      autoload=True,
                       keep_existing=True)
         assert "foo" not in users.c
 
@@ -1411,20 +1479,20 @@ class UseExistingTest(fixtures.TablesTest):
         assert isinstance(users.c.name.type, Unicode)
 
     @testing.skip_if(
-            lambda: testing.db.dialect.requires_name_normalize,
-            "test depends on lowercase as case insensitive")
+        lambda: testing.db.dialect.requires_name_normalize,
+        "test depends on lowercase as case insensitive")
     def test_keep_existing_quote_no_orig(self):
         meta2 = self._notexisting_fixture()
         users = Table('users', meta2, quote=True,
-                        autoload=True,
+                      autoload=True,
                       keep_existing=True)
         assert users.name.quote
 
     def test_keep_existing_add_column_no_orig(self):
         meta2 = self._notexisting_fixture()
         users = Table('users', meta2,
-                        Column('foo', Integer),
-                        autoload=True,
+                      Column('foo', Integer),
+                      autoload=True,
                       keep_existing=True)
         assert "foo" in users.c
 
@@ -1443,7 +1511,7 @@ class UseExistingTest(fixtures.TablesTest):
     def test_keep_existing_add_column_no_reflection(self):
         meta2 = self._useexisting_fixture()
         users = Table('users', meta2,
-                        Column('foo', Integer),
+                      Column('foo', Integer),
                       keep_existing=True)
         assert "foo" not in users.c
 
@@ -1459,14 +1527,14 @@ class UseExistingTest(fixtures.TablesTest):
             tsa.exc.ArgumentError,
             "Can't redefine 'quote' or 'quote_schema' arguments",
             Table, 'users', meta2, quote=True, autoload=True,
-                      extend_existing=True
+            extend_existing=True
         )
 
     def test_extend_existing_add_column(self):
         meta2 = self._useexisting_fixture()
         users = Table('users', meta2,
-                        Column('foo', Integer),
-                        autoload=True,
+                      Column('foo', Integer),
+                      autoload=True,
                       extend_existing=True)
         assert "foo" in users.c
 
@@ -1477,20 +1545,20 @@ class UseExistingTest(fixtures.TablesTest):
         assert isinstance(users.c.name.type, Unicode)
 
     @testing.skip_if(
-            lambda: testing.db.dialect.requires_name_normalize,
-            "test depends on lowercase as case insensitive")
+        lambda: testing.db.dialect.requires_name_normalize,
+        "test depends on lowercase as case insensitive")
     def test_extend_existing_quote_no_orig(self):
         meta2 = self._notexisting_fixture()
         users = Table('users', meta2, quote=True,
-                        autoload=True,
+                      autoload=True,
                       extend_existing=True)
         assert users.name.quote
 
     def test_extend_existing_add_column_no_orig(self):
         meta2 = self._notexisting_fixture()
         users = Table('users', meta2,
-                        Column('foo', Integer),
-                        autoload=True,
+                      Column('foo', Integer),
+                      autoload=True,
                       extend_existing=True)
         assert "foo" in users.c
 
@@ -1506,17 +1574,19 @@ class UseExistingTest(fixtures.TablesTest):
             tsa.exc.ArgumentError,
             "Can't redefine 'quote' or 'quote_schema' arguments",
             Table, 'users', meta2, quote=True,
-                      extend_existing=True
+            extend_existing=True
         )
 
     def test_extend_existing_add_column_no_reflection(self):
         meta2 = self._useexisting_fixture()
         users = Table('users', meta2,
-                        Column('foo', Integer),
+                      Column('foo', Integer),
                       extend_existing=True)
         assert "foo" in users.c
 
+
 class IndexTest(fixtures.TestBase):
+
     def _assert(self, t, i, columns=True):
         eq_(t.indexes, set([i]))
         if columns:
@@ -1584,21 +1654,22 @@ class IndexTest(fixtures.TestBase):
 
 
 class ConstraintTest(fixtures.TestBase):
+
     def _single_fixture(self):
         m = MetaData()
 
         t1 = Table('t1', m,
-            Column('a', Integer),
-            Column('b', Integer)
-        )
+                   Column('a', Integer),
+                   Column('b', Integer)
+                   )
 
         t2 = Table('t2', m,
-            Column('a', Integer, ForeignKey('t1.a'))
-        )
+                   Column('a', Integer, ForeignKey('t1.a'))
+                   )
 
         t3 = Table('t3', m,
-            Column('a', Integer)
-        )
+                   Column('a', Integer)
+                   )
         return t1, t2, t3
 
     def test_table_references(self):
@@ -1633,13 +1704,13 @@ class ConstraintTest(fixtures.TestBase):
     def test_related_column_not_present_atfirst_ok(self):
         m = MetaData()
         base_table = Table("base", m,
-            Column("id", Integer, primary_key=True)
-        )
+                           Column("id", Integer, primary_key=True)
+                           )
         fk = ForeignKey('base.q')
         derived_table = Table("derived", m,
-            Column("id", None, fk,
-                primary_key=True),
-        )
+                              Column("id", None, fk,
+                                     primary_key=True),
+                              )
 
         base_table.append_column(Column('q', Integer))
         assert fk.column is base_table.c.q
@@ -1651,7 +1722,7 @@ class ConstraintTest(fixtures.TestBase):
         assert_raises_message(
             exc.ArgumentError,
             r"ForeignKeyConstraint on t1\(x, y\) refers to "
-                "multiple remote tables: t2 and t3",
+            "multiple remote tables: t2 and t3",
             Table,
             't1', m, Column('x', Integer), Column('y', Integer),
             ForeignKeyConstraint(['x', 'y'], ['t2.x', 't3.y'])
@@ -1666,7 +1737,7 @@ class ConstraintTest(fixtures.TestBase):
         assert_raises_message(
             exc.ArgumentError,
             r"ForeignKeyConstraint on t1\(x, y\) refers to "
-                "multiple remote tables: t2 and t3",
+            "multiple remote tables: t2 and t3",
             Table,
             't1', m, Column('x', Integer), Column('y', Integer),
             ForeignKeyConstraint(['x', 'y'], [t2.c.x, t3.c.y])
@@ -1680,17 +1751,17 @@ class ConstraintTest(fixtures.TestBase):
         # no error is raised for this one right now.
         # which is a minor bug.
         Table('t1', m, Column('x', Integer), Column('y', Integer),
-                ForeignKeyConstraint(['x', 'y'], [x, y])
-            )
+              ForeignKeyConstraint(['x', 'y'], [x, y])
+              )
 
-        t2 = Table('t2', m, x)
-        t3 = Table('t3', m, y)
+        Table('t2', m, x)
+        Table('t3', m, y)
 
     def test_constraint_copied_to_proxy_ok(self):
         m = MetaData()
-        t1 = Table('t1', m, Column('id', Integer, primary_key=True))
+        Table('t1', m, Column('id', Integer, primary_key=True))
         t2 = Table('t2', m, Column('id', Integer, ForeignKey('t1.id'),
-                        primary_key=True))
+                                   primary_key=True))
 
         s = tsa.select([t2])
         t2fk = list(t2.c.id.foreign_keys)[0]
@@ -1711,9 +1782,10 @@ class ConstraintTest(fixtures.TestBase):
 
     def test_type_propagate_composite_fk_string(self):
         metadata = MetaData()
-        a = Table('a', metadata,
-                  Column('key1', Integer, primary_key=True),
-                  Column('key2', String(40), primary_key=True))
+        Table(
+            'a', metadata,
+            Column('key1', Integer, primary_key=True),
+            Column('key2', String(40), primary_key=True))
 
         b = Table('b', metadata,
                   Column('a_key1', None),
@@ -1745,8 +1817,9 @@ class ConstraintTest(fixtures.TestBase):
 
     def test_type_propagate_standalone_fk_string(self):
         metadata = MetaData()
-        a = Table('a', metadata,
-                  Column('key1', Integer, primary_key=True))
+        Table(
+            'a', metadata,
+            Column('key1', Integer, primary_key=True))
 
         b = Table('b', metadata,
                   Column('a_key1', None, ForeignKey("a.key1")),
@@ -1767,8 +1840,10 @@ class ConstraintTest(fixtures.TestBase):
 
     def test_type_propagate_chained_string_source_first(self):
         metadata = MetaData()
-        a = Table('a', metadata,
-                  Column('key1', Integer, primary_key=True))
+        Table(
+            'a', metadata,
+            Column('key1', Integer, primary_key=True)
+        )
 
         b = Table('b', metadata,
                   Column('a_key1', None, ForeignKey("a.key1")),
@@ -1792,8 +1867,9 @@ class ConstraintTest(fixtures.TestBase):
                   Column('b_key1', None, ForeignKey("b.a_key1")),
                   )
 
-        a = Table('a', metadata,
-                  Column('key1', Integer, primary_key=True))
+        Table(
+            'a', metadata,
+            Column('key1', Integer, primary_key=True))
 
         assert isinstance(b.c.a_key1.type, Integer)
         assert isinstance(c.c.b_key1.type, Integer)
@@ -1823,8 +1899,10 @@ class ConstraintTest(fixtures.TestBase):
         c1 = Column('x', Integer)
 
         class CThing(object):
+
             def __init__(self, c):
                 self.c = c
+
             def __clause_element__(self):
                 return self.c
 
@@ -1842,7 +1920,7 @@ class ConstraintTest(fixtures.TestBase):
 
     def test_column_accessor_string_no_parent_table(self):
         fk = ForeignKey("sometable.somecol")
-        c1 = Column('x', fk)
+        Column('x', fk)
         assert_raises_message(
             exc.InvalidRequestError,
             "this ForeignKey's parent column is not yet "
@@ -1853,7 +1931,7 @@ class ConstraintTest(fixtures.TestBase):
     def test_column_accessor_string_no_target_table(self):
         fk = ForeignKey("sometable.somecol")
         c1 = Column('x', fk)
-        t1 = Table('t', MetaData(), c1)
+        Table('t', MetaData(), c1)
         assert_raises_message(
             exc.NoReferencedTableError,
             "Foreign key associated with column 't.x' could not find "
@@ -1866,8 +1944,8 @@ class ConstraintTest(fixtures.TestBase):
         fk = ForeignKey("sometable.somecol")
         c1 = Column('x', fk)
         m = MetaData()
-        t1 = Table('t', m, c1)
-        t2 = Table("sometable", m, Column('notsomecol', Integer))
+        Table('t', m, c1)
+        Table("sometable", m, Column('notsomecol', Integer))
         assert_raises_message(
             exc.NoReferencedColumnError,
             "Could not initialize target column for ForeignKey "
@@ -1914,20 +1992,21 @@ class ConstraintTest(fixtures.TestBase):
 
 
 class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
+
     """Test Column() construction."""
 
     __dialect__ = 'default'
 
     def columns(self):
         return [Column(Integer),
-                 Column('b', Integer),
-                 Column(Integer),
-                 Column('d', Integer),
-                 Column(Integer, name='e'),
-                 Column(type_=Integer),
-                 Column(Integer()),
-                 Column('h', Integer()),
-                 Column(type_=Integer())]
+                Column('b', Integer),
+                Column(Integer),
+                Column('d', Integer),
+                Column(Integer, name='e'),
+                Column(type_=Integer),
+                Column(Integer()),
+                Column('h', Integer()),
+                Column(type_=Integer())]
 
     def test_basic(self):
         c = self.columns()
@@ -2006,7 +2085,7 @@ class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
     def test_bogus(self):
         assert_raises(exc.ArgumentError, Column, 'foo', name='bar')
         assert_raises(exc.ArgumentError, Column, 'foo', Integer,
-                          type_=Integer())
+                      type_=Integer())
 
     def test_custom_subclass_proxy(self):
         """test proxy generation of a Column subclass, can be compiled."""
@@ -2016,6 +2095,7 @@ class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
         from sqlalchemy.sql import select
 
         class MyColumn(Column):
+
             def _constructor(self, name, type, **kw):
                 kw['name'] = name
                 return MyColumn(type, **kw)
@@ -2036,9 +2116,9 @@ class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
         name = MyColumn(String)
         name.name = 'name'
         t1 = Table('foo', MetaData(),
-            id,
-            name
-        )
+                   id,
+                   name
+                   )
 
         # goofy thing
         eq_(t1.c.name.my_goofy_thing(), "hi")
@@ -2062,6 +2142,7 @@ class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
         from sqlalchemy.sql import select
 
         class MyColumn(Column):
+
             def __init__(self, type, **kw):
                 Column.__init__(self, type, **kw)
 
@@ -2070,9 +2151,9 @@ class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
         name = MyColumn(String)
         name.name = 'name'
         t1 = Table('foo', MetaData(),
-            id,
-            name
-        )
+                   id,
+                   name
+                   )
         assert_raises_message(
             TypeError,
             "Could not create a copy of this <class "
@@ -2092,9 +2173,9 @@ class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
                 return compiler.visit_create_column(element, **kw)
 
             text = "%s SPECIAL DIRECTIVE %s" % (
-                    column.name,
-                    compiler.type_compiler.process(column.type)
-                )
+                column.name,
+                compiler.type_compiler.process(column.type)
+            )
             default = compiler.get_column_default_string(column)
             if default is not None:
                 text += " DEFAULT " + default
@@ -2104,26 +2185,30 @@ class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
 
             if column.constraints:
                 text += " ".join(
-                            compiler.process(const)
-                            for const in column.constraints)
+                    compiler.process(const)
+                    for const in column.constraints)
             return text
 
-        t = Table('mytable', MetaData(),
-                Column('x', Integer, info={"special": True}, primary_key=True),
-                Column('y', String(50)),
-                Column('z', String(20), info={"special": True})
-            )
+        t = Table(
+            'mytable', MetaData(),
+            Column('x', Integer, info={
+                   "special": True}, primary_key=True),
+            Column('y', String(50)),
+            Column('z', String(20), info={
+                   "special": True}))
 
         self.assert_compile(
             schema.CreateTable(t),
             "CREATE TABLE mytable (x SPECIAL DIRECTIVE INTEGER "
-                "NOT NULL, y VARCHAR(50), "
-                "z SPECIAL DIRECTIVE VARCHAR(20), PRIMARY KEY (x))"
+            "NOT NULL, y VARCHAR(50), "
+            "z SPECIAL DIRECTIVE VARCHAR(20), PRIMARY KEY (x))"
         )
 
         deregister(schema.CreateColumn)
 
+
 class ColumnDefaultsTest(fixtures.TestBase):
+
     """test assignment of default fixures to columns"""
 
     def _fixture(self, *arg, **kw):
@@ -2232,6 +2317,7 @@ class ColumnDefaultsTest(fixtures.TestBase):
         assert c.onupdate.arg == target
         assert c.onupdate.column is c
 
+
 class ColumnOptionsTest(fixtures.TestBase):
 
     def test_default_generators(self):
@@ -2283,7 +2369,6 @@ class ColumnOptionsTest(fixtures.TestBase):
         self._no_error(Column("foo", ForeignKey('bar.id'), default="foo"))
         self._no_error(Column("foo", ForeignKey('bar.id'), Sequence("a")))
 
-
     def test_column_info(self):
 
         c1 = Column('foo', String, info={'x': 'y'})
@@ -2297,28 +2382,36 @@ class ColumnOptionsTest(fixtures.TestBase):
             c.info['bar'] = 'zip'
             assert c.info['bar'] == 'zip'
 
+
 class CatchAllEventsTest(fixtures.RemovesEvents, fixtures.TestBase):
 
     def test_all_events(self):
         canary = []
+
         def before_attach(obj, parent):
             canary.append("%s->%s" % (obj.__class__.__name__,
-                                parent.__class__.__name__))
+                                      parent.__class__.__name__))
 
         def after_attach(obj, parent):
             canary.append("%s->%s" % (obj.__class__.__name__, parent))
 
-        self.event_listen(schema.SchemaItem, "before_parent_attach", before_attach)
-        self.event_listen(schema.SchemaItem, "after_parent_attach", after_attach)
+        self.event_listen(
+            schema.SchemaItem,
+            "before_parent_attach",
+            before_attach)
+        self.event_listen(
+            schema.SchemaItem,
+            "after_parent_attach",
+            after_attach)
 
         m = MetaData()
         Table('t1', m,
-            Column('id', Integer, Sequence('foo_id'), primary_key=True),
-            Column('bar', String, ForeignKey('t2.id'))
-        )
+              Column('id', Integer, Sequence('foo_id'), primary_key=True),
+              Column('bar', String, ForeignKey('t2.id'))
+              )
         Table('t2', m,
-            Column('id', Integer, primary_key=True),
-        )
+              Column('id', Integer, primary_key=True),
+              )
 
         eq_(
             canary,
@@ -2339,7 +2432,7 @@ class CatchAllEventsTest(fixtures.RemovesEvents, fixtures.TestBase):
         def evt(target):
             def before_attach(obj, parent):
                 canary.append("%s->%s" % (target.__name__,
-                                        parent.__class__.__name__))
+                                          parent.__class__.__name__))
 
             def after_attach(obj, parent):
                 assert hasattr(obj, 'name')  # so we can change it
@@ -2357,18 +2450,18 @@ class CatchAllEventsTest(fixtures.RemovesEvents, fixtures.TestBase):
 
         m = MetaData()
         Table('t1', m,
-            Column('id', Integer, Sequence('foo_id'), primary_key=True),
-            Column('bar', String, ForeignKey('t2.id'), index=True),
-            Column('bat', Integer, unique=True),
-        )
+              Column('id', Integer, Sequence('foo_id'), primary_key=True),
+              Column('bar', String, ForeignKey('t2.id'), index=True),
+              Column('bat', Integer, unique=True),
+              )
         Table('t2', m,
-            Column('id', Integer, primary_key=True),
-            Column('bar', Integer),
-            Column('bat', Integer),
-            CheckConstraint("bar>5"),
-            UniqueConstraint('bar', 'bat'),
-            Index(None, 'bar', 'bat')
-        )
+              Column('id', Integer, primary_key=True),
+              Column('bar', Integer),
+              Column('bat', Integer),
+              CheckConstraint("bar>5"),
+              UniqueConstraint('bar', 'bat'),
+              Index(None, 'bar', 'bat')
+              )
         eq_(
             canary,
             [
@@ -2383,10 +2476,13 @@ class CatchAllEventsTest(fixtures.RemovesEvents, fixtures.TestBase):
             ]
         )
 
+
 class DialectKWArgTest(fixtures.TestBase):
+
     @contextmanager
     def _fixture(self):
         from sqlalchemy.engine.default import DefaultDialect
+
         class ParticipatingDialect(DefaultDialect):
             construct_arguments = [
                 (schema.Index, {
@@ -2445,7 +2541,12 @@ class DialectKWArgTest(fixtures.TestBase):
 
     def test_nonparticipating(self):
         with self._fixture():
-            idx = Index('a', 'b', 'c', nonparticipating_y=True, nonparticipating_q=5)
+            idx = Index(
+                'a',
+                'b',
+                'c',
+                nonparticipating_y=True,
+                nonparticipating_q=5)
             eq_(
                 idx.dialect_kwargs,
                 {
@@ -2459,9 +2560,10 @@ class DialectKWArgTest(fixtures.TestBase):
             assert_raises_message(
                 TypeError,
                 "Additional arguments should be named "
-                    "<dialectname>_<argument>, got 'foobar'",
+                "<dialectname>_<argument>, got 'foobar'",
                 Index, 'a', 'b', 'c', foobar=True
             )
+
     def test_unknown_dialect_warning(self):
         with self._fixture():
             assert_raises_message(
@@ -2503,7 +2605,7 @@ class DialectKWArgTest(fixtures.TestBase):
     def test_unknown_dialect_warning_still_populates_multiple(self):
         with self._fixture():
             idx = Index('a', 'b', 'c', unknown_y=True, unknown_z=5,
-                                otherunknown_foo='bar', participating_y=8)
+                        otherunknown_foo='bar', participating_y=8)
             eq_(
                 idx.dialect_options,
                 {
@@ -2514,14 +2616,14 @@ class DialectKWArgTest(fixtures.TestBase):
             )
             eq_(idx.dialect_kwargs,
                 {'unknown_z': 5, 'participating_y': 8,
-                'unknown_y': True,
-                'otherunknown_foo': 'bar'}
-            )  # still populates
+                 'unknown_y': True,
+                 'otherunknown_foo': 'bar'}
+                )  # still populates
 
     def test_runs_safekwarg(self):
 
         with mock.patch("sqlalchemy.util.safe_kwarg",
-            lambda arg: "goofy_%s" % arg):
+                        lambda arg: "goofy_%s" % arg):
             with self._fixture():
                 idx = Index('a', 'b')
                 idx.kwargs[u'participating_x'] = 7
@@ -2534,7 +2636,7 @@ class DialectKWArgTest(fixtures.TestBase):
     def test_combined(self):
         with self._fixture():
             idx = Index('a', 'b', 'c', participating_x=7,
-                                    nonparticipating_y=True)
+                        nonparticipating_y=True)
 
             eq_(
                 idx.dialect_options,
@@ -2557,7 +2659,7 @@ class DialectKWArgTest(fixtures.TestBase):
                         participating_x=7,
                         participating2_x=15,
                         participating2_y="lazy"
-                )
+                        )
             eq_(
                 idx.dialect_options,
                 {
@@ -2579,7 +2681,10 @@ class DialectKWArgTest(fixtures.TestBase):
             m = MetaData()
             fk = ForeignKey('t2.id', participating_foobar=True)
             t = Table('t', m, Column('id', Integer, fk))
-            fkc = [c for c in t.constraints if isinstance(c, ForeignKeyConstraint)][0]
+            fkc = [
+                c for c in t.constraints if isinstance(
+                    c,
+                    ForeignKeyConstraint)][0]
             eq_(
                 fkc.dialect_kwargs,
                 {'participating_foobar': True}
@@ -2602,9 +2707,9 @@ class DialectKWArgTest(fixtures.TestBase):
         with self._fixture():
             m = MetaData()
             t = Table('x', m, Column('x', Integer),
-                    participating2_xyz='foo',
-                    participating2_engine='InnoDB',
-                )
+                      participating2_xyz='foo',
+                      participating2_engine='InnoDB',
+                      )
             eq_(
                 t.dialect_kwargs,
                 {
@@ -2636,48 +2741,47 @@ class DialectKWArgTest(fixtures.TestBase):
             t = Table('x', m, Column('x', Integer), participating2_foobar=5)
             assert 'foobar' in t.dialect_options['participating2']
 
-
     def test_update(self):
         with self._fixture():
             idx = Index('a', 'b', 'c', participating_x=20)
             eq_(idx.dialect_kwargs, {
-                        "participating_x": 20,
-                    })
+                "participating_x": 20,
+            })
             idx._validate_dialect_kwargs({
-                        "participating_x": 25,
-                        "participating_z_one": "default"})
+                "participating_x": 25,
+                "participating_z_one": "default"})
             eq_(idx.dialect_options, {
-                    "participating": {"x": 25, "y": False, "z_one": "default"}
-                    })
+                "participating": {"x": 25, "y": False, "z_one": "default"}
+            })
             eq_(idx.dialect_kwargs, {
-                        "participating_x": 25,
-                        'participating_z_one': "default"
-                    })
+                "participating_x": 25,
+                'participating_z_one': "default"
+            })
 
             idx._validate_dialect_kwargs({
-                        "participating_x": 25,
-                        "participating_z_one": "default"})
+                "participating_x": 25,
+                "participating_z_one": "default"})
 
             eq_(idx.dialect_options, {
-                    "participating": {"x": 25, "y": False, "z_one": "default"}
-                    })
+                "participating": {"x": 25, "y": False, "z_one": "default"}
+            })
             eq_(idx.dialect_kwargs, {
-                        "participating_x": 25,
-                        'participating_z_one': "default"
-                    })
+                "participating_x": 25,
+                'participating_z_one': "default"
+            })
 
             idx._validate_dialect_kwargs({
-                        "participating_y": True,
-                        'participating2_y': "p2y"})
+                "participating_y": True,
+                'participating2_y': "p2y"})
             eq_(idx.dialect_options, {
-                    "participating": {"x": 25, "y": True, "z_one": "default"},
-                    "participating2": {"y": "p2y", "pp": "default", "x": 9}
-                    })
+                "participating": {"x": 25, "y": True, "z_one": "default"},
+                "participating2": {"y": "p2y", "pp": "default", "x": 9}
+            })
             eq_(idx.dialect_kwargs, {
-                        "participating_x": 25,
-                        "participating_y": True,
-                        'participating2_y': "p2y",
-                        "participating_z_one": "default"})
+                "participating_x": 25,
+                "participating_y": True,
+                'participating2_y': "p2y",
+                "participating_z_one": "default"})
 
     def test_key_error_kwargs_no_dialect(self):
         with self._fixture():
@@ -2718,8 +2822,8 @@ class DialectKWArgTest(fixtures.TestBase):
 
             assert_raises(
                 KeyError,
-                idx.dialect_options['nonparticipating'].__getitem__, 'asdfaso890'
-            )
+                idx.dialect_options['nonparticipating'].__getitem__,
+                'asdfaso890')
 
     def test_ad_hoc_participating_via_opt(self):
         with self._fixture():
@@ -2798,11 +2902,10 @@ class DialectKWArgTest(fixtures.TestBase):
             assert_raises_message(
                 exc.ArgumentError,
                 "Dialect 'nonparticipating' does have keyword-argument "
-                    "validation and defaults enabled configured",
+                "validation and defaults enabled configured",
                 Index.argument_for, "nonparticipating", "xyzqpr", False
             )
 
-
     def test_add_new_arguments_invalid_dialect(self):
         with self._fixture():
             assert_raises_message(
@@ -2819,18 +2922,18 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
         m1 = MetaData(naming_convention=naming_convention)
 
         u1 = Table('user', m1,
-                Column('id', Integer, primary_key=True),
-                Column('version', Integer, primary_key=True),
-                Column('data', String(30)),
-                schema=table_schema
-            )
+                   Column('id', Integer, primary_key=True),
+                   Column('version', Integer, primary_key=True),
+                   Column('data', String(30)),
+                   schema=table_schema
+                   )
 
         return u1
 
     def test_uq_name(self):
         u1 = self._fixture(naming_convention={
-                        "uq": "uq_%(table_name)s_%(column_0_name)s"
-                    })
+            "uq": "uq_%(table_name)s_%(column_0_name)s"
+        })
         uq = UniqueConstraint(u1.c.data)
         eq_(uq.name, "uq_user_data")
 
@@ -2863,16 +2966,16 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_column_attached_ck_name(self):
         m = MetaData(naming_convention={
-                        "ck": "ck_%(table_name)s_%(constraint_name)s"
-                    })
+            "ck": "ck_%(table_name)s_%(constraint_name)s"
+        })
         ck = CheckConstraint('x > 5', name='x1')
         Table('t', m, Column('x', ck))
         eq_(ck.name, "ck_t_x1")
 
     def test_table_attached_ck_name(self):
         m = MetaData(naming_convention={
-                        "ck": "ck_%(table_name)s_%(constraint_name)s"
-                    })
+            "ck": "ck_%(table_name)s_%(constraint_name)s"
+        })
         ck = CheckConstraint('x > 5', name='x1')
         Table('t', m, Column('x', Integer), ck)
         eq_(ck.name, "ck_t_x1")
@@ -2888,67 +2991,64 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
         t.append_constraint(uq)
         eq_(uq.name, "my_special_key")
 
-
     def test_fk_name_schema(self):
         u1 = self._fixture(naming_convention={
-                "fk": "fk_%(table_name)s_%(column_0_name)s_"
-                "%(referred_table_name)s_%(referred_column_0_name)s"
-            }, table_schema="foo")
+            "fk": "fk_%(table_name)s_%(column_0_name)s_"
+            "%(referred_table_name)s_%(referred_column_0_name)s"
+        }, table_schema="foo")
         m1 = u1.metadata
         a1 = Table('address', m1,
-                Column('id', Integer, primary_key=True),
-                Column('user_id', Integer),
-                Column('user_version_id', Integer)
-            )
+                   Column('id', Integer, primary_key=True),
+                   Column('user_id', Integer),
+                   Column('user_version_id', Integer)
+                   )
         fk = ForeignKeyConstraint(['user_id', 'user_version_id'],
-                        ['foo.user.id', 'foo.user.version'])
+                                  ['foo.user.id', 'foo.user.version'])
         a1.append_constraint(fk)
         eq_(fk.name, "fk_address_user_id_user_id")
 
-
     def test_fk_attrs(self):
         u1 = self._fixture(naming_convention={
-                "fk": "fk_%(table_name)s_%(column_0_name)s_"
-                "%(referred_table_name)s_%(referred_column_0_name)s"
-            })
+            "fk": "fk_%(table_name)s_%(column_0_name)s_"
+            "%(referred_table_name)s_%(referred_column_0_name)s"
+        })
         m1 = u1.metadata
         a1 = Table('address', m1,
-                Column('id', Integer, primary_key=True),
-                Column('user_id', Integer),
-                Column('user_version_id', Integer)
-            )
+                   Column('id', Integer, primary_key=True),
+                   Column('user_id', Integer),
+                   Column('user_version_id', Integer)
+                   )
         fk = ForeignKeyConstraint(['user_id', 'user_version_id'],
-                        ['user.id', 'user.version'])
+                                  ['user.id', 'user.version'])
         a1.append_constraint(fk)
         eq_(fk.name, "fk_address_user_id_user_id")
 
-
     def test_custom(self):
         def key_hash(const, table):
             return "HASH_%s" % table.name
 
         u1 = self._fixture(naming_convention={
-                "fk": "fk_%(table_name)s_%(key_hash)s",
-                "key_hash": key_hash
-            })
+            "fk": "fk_%(table_name)s_%(key_hash)s",
+            "key_hash": key_hash
+        })
         m1 = u1.metadata
         a1 = Table('address', m1,
-                Column('id', Integer, primary_key=True),
-                Column('user_id', Integer),
-                Column('user_version_id', Integer)
-            )
+                   Column('id', Integer, primary_key=True),
+                   Column('user_id', Integer),
+                   Column('user_version_id', Integer)
+                   )
         fk = ForeignKeyConstraint(['user_id', 'user_version_id'],
-                        ['user.id', 'user.version'])
+                                  ['user.id', 'user.version'])
         a1.append_constraint(fk)
         eq_(fk.name, "fk_address_HASH_address")
 
     def test_schematype_ck_name_boolean(self):
         m1 = MetaData(naming_convention={
-                            "ck": "ck_%(table_name)s_%(constraint_name)s"})
+            "ck": "ck_%(table_name)s_%(constraint_name)s"})
 
         u1 = Table('user', m1,
-            Column('x', Boolean(name='foo'))
-            )
+                   Column('x', Boolean(name='foo'))
+                   )
         # constraint is not hit
         eq_(
             [c for c in u1.constraints
@@ -2965,11 +3065,11 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
 
     def test_schematype_ck_name_enum(self):
         m1 = MetaData(naming_convention={
-                            "ck": "ck_%(table_name)s_%(constraint_name)s"})
+            "ck": "ck_%(table_name)s_%(constraint_name)s"})
 
         u1 = Table('user', m1,
-            Column('x', Enum('a', 'b', name='foo'))
-            )
+                   Column('x', Enum('a', 'b', name='foo'))
+                   )
         eq_(
             [c for c in u1.constraints
                 if isinstance(c, CheckConstraint)][0].name, "foo"
@@ -2978,18 +3078,18 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             schema.CreateTable(u1),
             'CREATE TABLE "user" ('
-                "x VARCHAR(1), "
-                "CONSTRAINT ck_user_foo CHECK (x IN ('a', 'b'))"
+            "x VARCHAR(1), "
+            "CONSTRAINT ck_user_foo CHECK (x IN ('a', 'b'))"
             ")"
         )
 
     def test_schematype_ck_name_propagate_conv(self):
         m1 = MetaData(naming_convention={
-                            "ck": "ck_%(table_name)s_%(constraint_name)s"})
+            "ck": "ck_%(table_name)s_%(constraint_name)s"})
 
         u1 = Table('user', m1,
-            Column('x', Enum('a', 'b', name=naming.conv('foo')))
-            )
+                   Column('x', Enum('a', 'b', name=naming.conv('foo')))
+                   )
         eq_(
             [c for c in u1.constraints
                 if isinstance(c, CheckConstraint)][0].name, "foo"
@@ -2998,8 +3098,8 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             schema.CreateTable(u1),
             'CREATE TABLE "user" ('
-                "x VARCHAR(1), "
-                "CONSTRAINT foo CHECK (x IN ('a', 'b'))"
+            "x VARCHAR(1), "
+            "CONSTRAINT foo CHECK (x IN ('a', 'b'))"
             ")"
         )
 
@@ -3051,10 +3151,9 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
             'CREATE TABLE "user" (x BOOLEAN, CHECK (x IN (0, 1)))'
         )
 
-
     def test_ck_constraint_redundant_event(self):
         u1 = self._fixture(naming_convention={
-                            "ck": "ck_%(table_name)s_%(constraint_name)s"})
+            "ck": "ck_%(table_name)s_%(constraint_name)s"})
 
         ck1 = CheckConstraint(u1.c.version > 3, name='foo')
         u1.append_constraint(ck1)
@@ -3062,4 +3161,3 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
         u1.append_constraint(ck1)
 
         eq_(ck1.name, "ck_user_foo")
-
index 9b6b2297f27e9bed4014cf1085730346dac94a56..5c401845b15a939f5efa1dc00e91d27370c84c33 100644 (file)
@@ -3,8 +3,8 @@ from sqlalchemy import testing
 from sqlalchemy.testing import assert_raises_message
 from sqlalchemy.sql import column, desc, asc, literal, collate, null, true, false
 from sqlalchemy.sql.expression import BinaryExpression, \
-                ClauseList, Grouping, \
-                UnaryExpression, select, union, func, tuple_
+    ClauseList, Grouping, \
+    UnaryExpression, select, union, func, tuple_
 from sqlalchemy.sql import operators, table
 import operator
 from sqlalchemy import String, Integer, LargeBinary
@@ -14,7 +14,7 @@ from sqlalchemy.sql.elements import _literal_as_text
 from sqlalchemy.schema import Column, Table, MetaData
 from sqlalchemy.types import TypeEngine, TypeDecorator, UserDefinedType, Boolean
 from sqlalchemy.dialects import mysql, firebird, postgresql, oracle, \
-        sqlite, mssql
+    sqlite, mssql
 from sqlalchemy import util
 import datetime
 import collections
@@ -22,10 +22,13 @@ from sqlalchemy import text, literal_column
 from sqlalchemy import and_, not_, between, or_
 from sqlalchemy.sql import true, false, null
 
+
 class LoopOperate(operators.ColumnOperators):
+
     def operate(self, op, *other, **kwargs):
         return op
 
+
 class DefaultColumnComparatorTest(fixtures.TestBase):
 
     def _do_scalar_test(self, operator, compare_to):
@@ -38,13 +41,21 @@ class DefaultColumnComparatorTest(fixtures.TestBase):
     def _do_operate_test(self, operator, right=column('right')):
         left = column('left')
 
-        assert left.comparator.operate(operator, right).compare(
-            BinaryExpression(_literal_as_text(left), _literal_as_text(right), operator)
-        )
-
-        assert operator(left, right).compare(
-            BinaryExpression(_literal_as_text(left), _literal_as_text(right), operator)
-        )
+        assert left.comparator.operate(
+            operator,
+            right).compare(
+            BinaryExpression(
+                _literal_as_text(left),
+                _literal_as_text(right),
+                operator))
+
+        assert operator(
+            left,
+            right).compare(
+            BinaryExpression(
+                _literal_as_text(left),
+                _literal_as_text(right),
+                operator))
 
         self._loop_test(operator, right)
 
@@ -130,27 +141,27 @@ class DefaultColumnComparatorTest(fixtures.TestBase):
     def test_in(self):
         left = column('left')
         assert left.comparator.operate(operators.in_op, [1, 2, 3]).compare(
-                BinaryExpression(
-                    left,
-                    Grouping(ClauseList(
-                        literal(1), literal(2), literal(3)
-                    )),
-                    operators.in_op
-                )
+            BinaryExpression(
+                left,
+                Grouping(ClauseList(
+                    literal(1), literal(2), literal(3)
+                )),
+                operators.in_op
             )
+        )
         self._loop_test(operators.in_op, [1, 2, 3])
 
     def test_notin(self):
         left = column('left')
         assert left.comparator.operate(operators.notin_op, [1, 2, 3]).compare(
-                BinaryExpression(
-                    left,
-                    Grouping(ClauseList(
-                        literal(1), literal(2), literal(3)
-                    )),
-                    operators.notin_op
-                )
+            BinaryExpression(
+                left,
+                Grouping(ClauseList(
+                    literal(1), literal(2), literal(3)
+                )),
+                operators.notin_op
             )
+        )
         self._loop_test(operators.notin_op, [1, 2, 3])
 
     def test_in_no_accept_list_of_non_column_element(self):
@@ -174,7 +185,9 @@ class DefaultColumnComparatorTest(fixtures.TestBase):
     def test_in_no_accept_non_list_thing_with_getitem(self):
         # test [ticket:2726]
         class HasGetitem(String):
+
             class comparator_factory(String.Comparator):
+
                 def __getitem__(self, value):
                     return value
 
@@ -196,26 +209,29 @@ class DefaultColumnComparatorTest(fixtures.TestBase):
     def test_concat(self):
         self._do_operate_test(operators.concat_op)
 
+
 class CustomUnaryOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     def _factorial_fixture(self):
         class MyInteger(Integer):
+
             class comparator_factory(Integer.Comparator):
+
                 def factorial(self):
                     return UnaryExpression(self.expr,
-                                modifier=operators.custom_op("!"),
-                                type_=MyInteger)
+                                           modifier=operators.custom_op("!"),
+                                           type_=MyInteger)
 
                 def factorial_prefix(self):
                     return UnaryExpression(self.expr,
-                                operator=operators.custom_op("!!"),
-                                type_=MyInteger)
+                                           operator=operators.custom_op("!!"),
+                                           type_=MyInteger)
 
                 def __invert__(self):
                     return UnaryExpression(self.expr,
-                                operator=operators.custom_op("!!!"),
-                                type_=MyInteger)
+                                           operator=operators.custom_op("!!!"),
+                                           type_=MyInteger)
 
         return MyInteger
 
@@ -265,29 +281,31 @@ class CustomUnaryOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
         assert_raises_message(
             exc.CompileError,
             "Unary expression does not support operator and "
-                "modifier simultaneously",
+            "modifier simultaneously",
             UnaryExpression(literal("x"),
-                    operator=operators.custom_op("x"),
-                    modifier=operators.custom_op("y")).compile
+                            operator=operators.custom_op("x"),
+                            modifier=operators.custom_op("y")).compile
         )
 
+
 class _CustomComparatorTests(object):
+
     def test_override_builtin(self):
         c1 = Column('foo', self._add_override_factory())
         self._assert_add_override(c1)
 
     def test_column_proxy(self):
         t = Table('t', MetaData(),
-                Column('foo', self._add_override_factory())
-            )
+                  Column('foo', self._add_override_factory())
+                  )
         proxied = t.select().c.foo
         self._assert_add_override(proxied)
         self._assert_and_override(proxied)
 
     def test_alias_proxy(self):
         t = Table('t', MetaData(),
-                Column('foo', self._add_override_factory())
-            )
+                  Column('foo', self._add_override_factory())
+                  )
         proxied = t.alias().c.foo
         self._assert_add_override(proxied)
         self._assert_and_override(proxied)
@@ -332,11 +350,15 @@ class _CustomComparatorTests(object):
             expr.op("goofy_and")(text("5"))
         )
 
+
 class CustomComparatorTest(_CustomComparatorTests, fixtures.TestBase):
+
     def _add_override_factory(self):
 
         class MyInteger(Integer):
+
             class comparator_factory(TypeEngine.Comparator):
+
                 def __init__(self, expr):
                     self.expr = expr
 
@@ -350,12 +372,14 @@ class CustomComparatorTest(_CustomComparatorTests, fixtures.TestBase):
 
 
 class TypeDecoratorComparatorTest(_CustomComparatorTests, fixtures.TestBase):
+
     def _add_override_factory(self):
 
         class MyInteger(TypeDecorator):
             impl = Integer
 
             class comparator_factory(TypeDecorator.Comparator):
+
                 def __init__(self, expr):
                     self.expr = expr
 
@@ -365,14 +389,19 @@ class TypeDecoratorComparatorTest(_CustomComparatorTests, fixtures.TestBase):
                 def __and__(self, other):
                     return self.expr.op("goofy_and")(other)
 
-
         return MyInteger
 
-class TypeDecoratorWVariantComparatorTest(_CustomComparatorTests, fixtures.TestBase):
+
+class TypeDecoratorWVariantComparatorTest(
+        _CustomComparatorTests,
+        fixtures.TestBase):
+
     def _add_override_factory(self):
 
         class SomeOtherInteger(Integer):
+
             class comparator_factory(TypeEngine.Comparator):
+
                 def __init__(self, expr):
                     self.expr = expr
 
@@ -386,6 +415,7 @@ class TypeDecoratorWVariantComparatorTest(_CustomComparatorTests, fixtures.TestB
             impl = Integer
 
             class comparator_factory(TypeDecorator.Comparator):
+
                 def __init__(self, expr):
                     self.expr = expr
 
@@ -398,10 +428,15 @@ class TypeDecoratorWVariantComparatorTest(_CustomComparatorTests, fixtures.TestB
         return MyInteger().with_variant(SomeOtherInteger, "mysql")
 
 
-class CustomEmbeddedinTypeDecoratorTest(_CustomComparatorTests, fixtures.TestBase):
+class CustomEmbeddedinTypeDecoratorTest(
+        _CustomComparatorTests,
+        fixtures.TestBase):
+
     def _add_override_factory(self):
         class MyInteger(Integer):
+
             class comparator_factory(TypeEngine.Comparator):
+
                 def __init__(self, expr):
                     self.expr = expr
 
@@ -411,16 +446,19 @@ class CustomEmbeddedinTypeDecoratorTest(_CustomComparatorTests, fixtures.TestBas
                 def __and__(self, other):
                     return self.expr.op("goofy_and")(other)
 
-
         class MyDecInteger(TypeDecorator):
             impl = MyInteger
 
         return MyDecInteger
 
+
 class NewOperatorTest(_CustomComparatorTests, fixtures.TestBase):
+
     def _add_override_factory(self):
         class MyInteger(Integer):
+
             class comparator_factory(TypeEngine.Comparator):
+
                 def __init__(self, expr):
                     self.expr = expr
 
@@ -442,12 +480,15 @@ class NewOperatorTest(_CustomComparatorTests, fixtures.TestBase):
     def _assert_not_and_override(self, expr):
         pass
 
+
 class ExtensionOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     def test_contains(self):
         class MyType(UserDefinedType):
+
             class comparator_factory(UserDefinedType.Comparator):
+
                 def contains(self, other, **kw):
                     return self.op("->")(other)
 
@@ -458,7 +499,9 @@ class ExtensionOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
     def test_getitem(self):
         class MyType(UserDefinedType):
+
             class comparator_factory(UserDefinedType.Comparator):
+
                 def __getitem__(self, index):
                     return self.op("->")(index)
 
@@ -470,7 +513,9 @@ class ExtensionOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     def test_op_not_an_iterator(self):
         # see [ticket:2726]
         class MyType(UserDefinedType):
+
             class comparator_factory(UserDefinedType.Comparator):
+
                 def __getitem__(self, index):
                     return self.op("->")(index)
 
@@ -479,7 +524,9 @@ class ExtensionOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
     def test_lshift(self):
         class MyType(UserDefinedType):
+
             class comparator_factory(UserDefinedType.Comparator):
+
                 def __lshift__(self, other):
                     return self.op("->")(other)
 
@@ -490,7 +537,9 @@ class ExtensionOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
     def test_rshift(self):
         class MyType(UserDefinedType):
+
             class comparator_factory(UserDefinedType.Comparator):
+
                 def __rshift__(self, other):
                     return self.op("->")(other)
 
@@ -501,6 +550,7 @@ class ExtensionOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
 
 class BooleanEvalTest(fixtures.TestBase, testing.AssertsCompiledSQL):
+
     """test standalone booleans being wrapped in an AsBoolean, as well
     as true/false compilation."""
 
@@ -623,6 +673,7 @@ class BooleanEvalTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
 
 class ConjunctionTest(fixtures.TestBase, testing.AssertsCompiledSQL):
+
     """test interaction of and_()/or_() with boolean , null constants
     """
     __dialect__ = default.DefaultDialect(supports_native_boolean=True)
@@ -639,9 +690,8 @@ class ConjunctionTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     def test_four(self):
         x = column('x')
         self.assert_compile(
-                and_(or_(x == 5), or_(x == 7)),
-                "x = :x_1 AND x = :x_2")
-
+            and_(or_(x == 5), or_(x == 7)),
+            "x = :x_1 AND x = :x_2")
 
     def test_five(self):
         x = column("x")
@@ -659,23 +709,29 @@ class ConjunctionTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     def test_six_pt_five(self):
         x = column("x")
         self.assert_compile(select([x]).where(or_(x == 7, true())),
-                "SELECT x WHERE true")
+                            "SELECT x WHERE true")
 
-        self.assert_compile(select([x]).where(or_(x == 7, true())),
-                "SELECT x WHERE 1 = 1",
-                dialect=default.DefaultDialect(supports_native_boolean=False))
+        self.assert_compile(
+            select(
+                [x]).where(
+                or_(
+                    x == 7,
+                    true())),
+            "SELECT x WHERE 1 = 1",
+            dialect=default.DefaultDialect(
+                    supports_native_boolean=False))
 
     def test_seven(self):
         x = column("x")
         self.assert_compile(
-                and_(true(), x == 7, true(), x == 9),
-                "x = :x_1 AND x = :x_2")
+            and_(true(), x == 7, true(), x == 9),
+            "x = :x_1 AND x = :x_2")
 
     def test_eight(self):
         x = column("x")
         self.assert_compile(
-                or_(false(), x == 7, false(), x == 9),
-                "x = :x_1 OR x = :x_2")
+            or_(false(), x == 7, false(), x == 9),
+            "x = :x_1 OR x = :x_2")
 
     def test_nine(self):
         x = column("x")
@@ -726,86 +782,94 @@ class ConjunctionTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 class OperatorPrecedenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
-
     table1 = table('mytable',
-        column('myid', Integer),
-        column('name', String),
-        column('description', String),
-    )
+                   column('myid', Integer),
+                   column('name', String),
+                   column('description', String),
+                   )
 
     table2 = table('op', column('field'))
 
     def test_operator_precedence_1(self):
         self.assert_compile(
-                    self.table2.select((self.table2.c.field == 5) == None),
+            self.table2.select((self.table2.c.field == 5) == None),
             "SELECT op.field FROM op WHERE (op.field = :field_1) IS NULL")
 
     def test_operator_precedence_2(self):
         self.assert_compile(
-                self.table2.select(
-                        (self.table2.c.field + 5) == self.table2.c.field),
+            self.table2.select(
+                (self.table2.c.field + 5) == self.table2.c.field),
             "SELECT op.field FROM op WHERE op.field + :field_1 = op.field")
 
     def test_operator_precedence_3(self):
         self.assert_compile(
-                    self.table2.select((self.table2.c.field + 5) * 6),
+            self.table2.select((self.table2.c.field + 5) * 6),
             "SELECT op.field FROM op WHERE (op.field + :field_1) * :param_1")
 
     def test_operator_precedence_4(self):
-        self.assert_compile(self.table2.select((self.table2.c.field * 5) + 6),
+        self.assert_compile(
+            self.table2.select(
+                (self.table2.c.field * 5) + 6),
             "SELECT op.field FROM op WHERE op.field * :field_1 + :param_1")
 
     def test_operator_precedence_5(self):
         self.assert_compile(self.table2.select(
                             5 + self.table2.c.field.in_([5, 6])),
-            "SELECT op.field FROM op WHERE :param_1 + "
-                        "(op.field IN (:field_1, :field_2))")
+                            "SELECT op.field FROM op WHERE :param_1 + "
+                            "(op.field IN (:field_1, :field_2))")
 
     def test_operator_precedence_6(self):
         self.assert_compile(self.table2.select(
-                        (5 + self.table2.c.field).in_([5, 6])),
+            (5 + self.table2.c.field).in_([5, 6])),
             "SELECT op.field FROM op WHERE :field_1 + op.field "
-                    "IN (:param_1, :param_2)")
+            "IN (:param_1, :param_2)")
 
     def test_operator_precedence_7(self):
         self.assert_compile(self.table2.select(
-                    not_(and_(self.table2.c.field == 5,
-                        self.table2.c.field == 7))),
+            not_(and_(self.table2.c.field == 5,
+                      self.table2.c.field == 7))),
             "SELECT op.field FROM op WHERE NOT "
-                "(op.field = :field_1 AND op.field = :field_2)")
+            "(op.field = :field_1 AND op.field = :field_2)")
 
     def test_operator_precedence_8(self):
-        self.assert_compile(self.table2.select(not_(self.table2.c.field == 5)),
+        self.assert_compile(
+            self.table2.select(
+                not_(
+                    self.table2.c.field == 5)),
             "SELECT op.field FROM op WHERE op.field != :field_1")
 
     def test_operator_precedence_9(self):
         self.assert_compile(self.table2.select(
-                        not_(self.table2.c.field.between(5, 6))),
+            not_(self.table2.c.field.between(5, 6))),
             "SELECT op.field FROM op WHERE "
-                    "op.field NOT BETWEEN :field_1 AND :field_2")
+            "op.field NOT BETWEEN :field_1 AND :field_2")
 
     def test_operator_precedence_10(self):
-        self.assert_compile(self.table2.select(not_(self.table2.c.field) == 5),
+        self.assert_compile(
+            self.table2.select(
+                not_(
+                    self.table2.c.field) == 5),
             "SELECT op.field FROM op WHERE (NOT op.field) = :param_1")
 
     def test_operator_precedence_11(self):
         self.assert_compile(self.table2.select(
-                        (self.table2.c.field == self.table2.c.field).\
-                            between(False, True)),
+            (self.table2.c.field == self.table2.c.field).
+            between(False, True)),
             "SELECT op.field FROM op WHERE (op.field = op.field) "
-                            "BETWEEN :param_1 AND :param_2")
+            "BETWEEN :param_1 AND :param_2")
 
     def test_operator_precedence_12(self):
         self.assert_compile(self.table2.select(
-                        between((self.table2.c.field == self.table2.c.field),
-                                    False, True)),
+            between((self.table2.c.field == self.table2.c.field),
+                    False, True)),
             "SELECT op.field FROM op WHERE (op.field = op.field) "
-                    "BETWEEN :param_1 AND :param_2")
+            "BETWEEN :param_1 AND :param_2")
 
     def test_operator_precedence_13(self):
-        self.assert_compile(self.table2.select(
-                        self.table2.c.field.match(
-                                self.table2.c.field).is_(None)),
+        self.assert_compile(
+            self.table2.select(
+                self.table2.c.field.match(
+                    self.table2.c.field).is_(None)),
             "SELECT op.field FROM op WHERE (op.field MATCH op.field) IS NULL")
 
     def test_operator_precedence_collate_1(self):
@@ -839,7 +903,7 @@ class OperatorPrecedenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     def test_operator_precedence_collate_5(self):
         self.assert_compile(
             select([self.table1.c.name]).order_by(
-                        self.table1.c.name.collate('utf-8').desc()),
+                self.table1.c.name.collate('utf-8').desc()),
             "SELECT mytable.name FROM mytable "
             "ORDER BY mytable.name COLLATE utf-8 DESC"
         )
@@ -847,7 +911,7 @@ class OperatorPrecedenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     def test_operator_precedence_collate_6(self):
         self.assert_compile(
             select([self.table1.c.name]).order_by(
-                        self.table1.c.name.collate('utf-8').desc().nullslast()),
+                self.table1.c.name.collate('utf-8').desc().nullslast()),
             "SELECT mytable.name FROM mytable "
             "ORDER BY mytable.name COLLATE utf-8 DESC NULLS LAST"
         )
@@ -855,22 +919,22 @@ class OperatorPrecedenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     def test_operator_precedence_collate_7(self):
         self.assert_compile(
             select([self.table1.c.name]).order_by(
-                        self.table1.c.name.collate('utf-8').asc()),
+                self.table1.c.name.collate('utf-8').asc()),
             "SELECT mytable.name FROM mytable "
             "ORDER BY mytable.name COLLATE utf-8 ASC"
         )
 
     def test_commutative_operators(self):
         self.assert_compile(
-         literal("a") + literal("b") * literal("c"),
-                ":param_1 || :param_2 * :param_3"
+            literal("a") + literal("b") * literal("c"),
+            ":param_1 || :param_2 * :param_3"
         )
 
     def test_op_operators(self):
         self.assert_compile(
             self.table1.select(self.table1.c.myid.op('hoho')(12) == 14),
             "SELECT mytable.myid, mytable.name, mytable.description FROM "
-                    "mytable WHERE (mytable.myid hoho :myid_1) = :param_1"
+            "mytable WHERE (mytable.myid hoho :myid_1) = :param_1"
         )
 
     def test_op_operators_comma_precedence(self):
@@ -893,6 +957,7 @@ class OperatorPrecedenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
         self.assert_compile(op2, "mytable.myid hoho :myid_1 lala :param_1")
         self.assert_compile(op3, "(mytable.myid hoho :myid_1) lala :param_1")
 
+
 class OperatorAssociativityTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -912,7 +977,6 @@ class OperatorAssociativityTest(fixtures.TestBase, testing.AssertsCompiledSQL):
         f = column('f')
         self.assert_compile((f - f).label('foo') - f, "(f - f) - f")
 
-
     def test_associativity_5(self):
         f = column('f')
         self.assert_compile(f - (f - f), "f - (f - f)")
@@ -985,12 +1049,13 @@ class OperatorAssociativityTest(fixtures.TestBase, testing.AssertsCompiledSQL):
         f = column('f')
         self.assert_compile(f / (f / (f - f)), "f / (f / (f - f))")
 
+
 class InTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     table1 = table('mytable',
-        column('myid', Integer),
-    )
+                   column('myid', Integer),
+                   )
     table2 = table(
         'myothertable',
         column('otherid', Integer),
@@ -999,152 +1064,164 @@ class InTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
     def test_in_1(self):
         self.assert_compile(self.table1.c.myid.in_(['a']),
-        "mytable.myid IN (:myid_1)")
+                            "mytable.myid IN (:myid_1)")
 
     def test_in_2(self):
         self.assert_compile(~self.table1.c.myid.in_(['a']),
-        "mytable.myid NOT IN (:myid_1)")
+                            "mytable.myid NOT IN (:myid_1)")
 
     def test_in_3(self):
         self.assert_compile(self.table1.c.myid.in_(['a', 'b']),
-        "mytable.myid IN (:myid_1, :myid_2)")
+                            "mytable.myid IN (:myid_1, :myid_2)")
 
     def test_in_4(self):
         self.assert_compile(self.table1.c.myid.in_(iter(['a', 'b'])),
-        "mytable.myid IN (:myid_1, :myid_2)")
+                            "mytable.myid IN (:myid_1, :myid_2)")
 
     def test_in_5(self):
         self.assert_compile(self.table1.c.myid.in_([literal('a')]),
-        "mytable.myid IN (:param_1)")
+                            "mytable.myid IN (:param_1)")
 
     def test_in_6(self):
         self.assert_compile(self.table1.c.myid.in_([literal('a'), 'b']),
-        "mytable.myid IN (:param_1, :myid_1)")
+                            "mytable.myid IN (:param_1, :myid_1)")
 
     def test_in_7(self):
         self.assert_compile(
-                self.table1.c.myid.in_([literal('a'), literal('b')]),
-        "mytable.myid IN (:param_1, :param_2)")
+            self.table1.c.myid.in_([literal('a'), literal('b')]),
+            "mytable.myid IN (:param_1, :param_2)")
 
     def test_in_8(self):
         self.assert_compile(self.table1.c.myid.in_(['a', literal('b')]),
-        "mytable.myid IN (:myid_1, :param_1)")
+                            "mytable.myid IN (:myid_1, :param_1)")
 
     def test_in_9(self):
         self.assert_compile(self.table1.c.myid.in_([literal(1) + 'a']),
-        "mytable.myid IN (:param_1 + :param_2)")
+                            "mytable.myid IN (:param_1 + :param_2)")
 
     def test_in_10(self):
         self.assert_compile(self.table1.c.myid.in_([literal('a') + 'a', 'b']),
-        "mytable.myid IN (:param_1 || :param_2, :myid_1)")
+                            "mytable.myid IN (:param_1 || :param_2, :myid_1)")
 
     def test_in_11(self):
-        self.assert_compile(self.table1.c.myid.in_([literal('a') + \
-                                            literal('a'), literal('b')]),
-        "mytable.myid IN (:param_1 || :param_2, :param_3)")
+        self.assert_compile(
+            self.table1.c.myid.in_(
+                [
+                    literal('a') +
+                    literal('a'),
+                    literal('b')]),
+            "mytable.myid IN (:param_1 || :param_2, :param_3)")
 
     def test_in_12(self):
         self.assert_compile(self.table1.c.myid.in_([1, literal(3) + 4]),
-        "mytable.myid IN (:myid_1, :param_1 + :param_2)")
+                            "mytable.myid IN (:myid_1, :param_1 + :param_2)")
 
     def test_in_13(self):
         self.assert_compile(self.table1.c.myid.in_([literal('a') < 'b']),
-        "mytable.myid IN (:param_1 < :param_2)")
+                            "mytable.myid IN (:param_1 < :param_2)")
 
     def test_in_14(self):
         self.assert_compile(self.table1.c.myid.in_([self.table1.c.myid]),
-        "mytable.myid IN (mytable.myid)")
+                            "mytable.myid IN (mytable.myid)")
 
     def test_in_15(self):
         self.assert_compile(self.table1.c.myid.in_(['a', self.table1.c.myid]),
-        "mytable.myid IN (:myid_1, mytable.myid)")
+                            "mytable.myid IN (:myid_1, mytable.myid)")
 
     def test_in_16(self):
         self.assert_compile(self.table1.c.myid.in_([literal('a'),
-                                    self.table1.c.myid]),
-        "mytable.myid IN (:param_1, mytable.myid)")
+                                                    self.table1.c.myid]),
+                            "mytable.myid IN (:param_1, mytable.myid)")
 
     def test_in_17(self):
-        self.assert_compile(self.table1.c.myid.in_([literal('a'), \
-                                    self.table1.c.myid + 'a']),
-        "mytable.myid IN (:param_1, mytable.myid + :myid_1)")
+        self.assert_compile(
+            self.table1.c.myid.in_(
+                [
+                    literal('a'),
+                    self.table1.c.myid +
+                    'a']),
+            "mytable.myid IN (:param_1, mytable.myid + :myid_1)")
 
     def test_in_18(self):
-        self.assert_compile(self.table1.c.myid.in_([literal(1), 'a' + \
-                            self.table1.c.myid]),
-        "mytable.myid IN (:param_1, :myid_1 + mytable.myid)")
+        self.assert_compile(
+            self.table1.c.myid.in_(
+                [
+                    literal(1),
+                    'a' +
+                    self.table1.c.myid]),
+            "mytable.myid IN (:param_1, :myid_1 + mytable.myid)")
 
     def test_in_19(self):
         self.assert_compile(self.table1.c.myid.in_([1, 2, 3]),
-        "mytable.myid IN (:myid_1, :myid_2, :myid_3)")
+                            "mytable.myid IN (:myid_1, :myid_2, :myid_3)")
 
     def test_in_20(self):
         self.assert_compile(self.table1.c.myid.in_(
-                                select([self.table2.c.otherid])),
-        "mytable.myid IN (SELECT myothertable.otherid FROM myothertable)")
+            select([self.table2.c.otherid])),
+            "mytable.myid IN (SELECT myothertable.otherid FROM myothertable)")
 
     def test_in_21(self):
         self.assert_compile(~self.table1.c.myid.in_(
                             select([self.table2.c.otherid])),
-        "mytable.myid NOT IN (SELECT myothertable.otherid FROM myothertable)")
+                            "mytable.myid NOT IN (SELECT myothertable.otherid FROM myothertable)")
 
     def test_in_22(self):
         self.assert_compile(
-                self.table1.c.myid.in_(
-                        text("SELECT myothertable.otherid FROM myothertable")
-                    ),
-                    "mytable.myid IN (SELECT myothertable.otherid "
-                    "FROM myothertable)"
+            self.table1.c.myid.in_(
+                text("SELECT myothertable.otherid FROM myothertable")
+            ),
+            "mytable.myid IN (SELECT myothertable.otherid "
+            "FROM myothertable)"
         )
 
     @testing.emits_warning('.*empty sequence.*')
     def test_in_23(self):
         self.assert_compile(self.table1.c.myid.in_([]),
-        "mytable.myid != mytable.myid")
+                            "mytable.myid != mytable.myid")
 
     def test_in_24(self):
         self.assert_compile(
             select([self.table1.c.myid.in_(select([self.table2.c.otherid]))]),
             "SELECT mytable.myid IN (SELECT myothertable.otherid "
-                "FROM myothertable) AS anon_1 FROM mytable"
+            "FROM myothertable) AS anon_1 FROM mytable"
         )
 
     def test_in_25(self):
         self.assert_compile(
             select([self.table1.c.myid.in_(
-                        select([self.table2.c.otherid]).as_scalar())]),
+                select([self.table2.c.otherid]).as_scalar())]),
             "SELECT mytable.myid IN (SELECT myothertable.otherid "
-                "FROM myothertable) AS anon_1 FROM mytable"
+            "FROM myothertable) AS anon_1 FROM mytable"
         )
 
     def test_in_26(self):
         self.assert_compile(self.table1.c.myid.in_(
             union(
-                  select([self.table1.c.myid], self.table1.c.myid == 5),
-                  select([self.table1.c.myid], self.table1.c.myid == 12),
+                select([self.table1.c.myid], self.table1.c.myid == 5),
+                select([self.table1.c.myid], self.table1.c.myid == 12),
             )
-        ), "mytable.myid IN ("\
-        "SELECT mytable.myid FROM mytable WHERE mytable.myid = :myid_1 "\
-        "UNION SELECT mytable.myid FROM mytable WHERE mytable.myid = :myid_2)")
+        ), "mytable.myid IN ("
+            "SELECT mytable.myid FROM mytable WHERE mytable.myid = :myid_1 "
+            "UNION SELECT mytable.myid FROM mytable WHERE mytable.myid = :myid_2)")
 
     def test_in_27(self):
         # test that putting a select in an IN clause does not
         # blow away its ORDER BY clause
         self.assert_compile(
             select([self.table1, self.table2],
-                self.table2.c.otherid.in_(
-                    select([self.table2.c.otherid],
-                                    order_by=[self.table2.c.othername],
-                                    limit=10, correlate=False)
-                ),
+                   self.table2.c.otherid.in_(
+                select([self.table2.c.otherid],
+                       order_by=[self.table2.c.othername],
+                       limit=10, correlate=False)
+            ),
                 from_obj=[self.table1.join(self.table2,
-                            self.table1.c.myid == self.table2.c.otherid)],
+                                           self.table1.c.myid == self.table2.c.otherid)],
                 order_by=[self.table1.c.myid]
             ),
             "SELECT mytable.myid, "
-            "myothertable.otherid, myothertable.othername FROM mytable "\
+            "myothertable.otherid, myothertable.othername FROM mytable "
             "JOIN myothertable ON mytable.myid = myothertable.otherid "
-            "WHERE myothertable.otherid IN (SELECT myothertable.otherid "\
+            "WHERE myothertable.otherid IN (SELECT myothertable.otherid "
             "FROM myothertable ORDER BY myothertable.othername "
             "LIMIT :param_1) ORDER BY mytable.myid",
             {'param_1': 10}
@@ -1159,20 +1236,20 @@ class InTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     @testing.emits_warning('.*empty sequence.*')
     def test_in_29(self):
         self.assert_compile(self.table1.c.myid.notin_([]),
-        "mytable.myid = mytable.myid")
+                            "mytable.myid = mytable.myid")
 
     @testing.emits_warning('.*empty sequence.*')
     def test_in_30(self):
         self.assert_compile(~self.table1.c.myid.in_([]),
-        "mytable.myid = mytable.myid")
+                            "mytable.myid = mytable.myid")
 
 
 class MathOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     table1 = table('mytable',
-        column('myid', Integer),
-    )
+                   column('myid', Integer),
+                   )
 
     def _test_math_op(self, py_op, sql_op):
         for (lhs, rhs, res) in (
@@ -1181,11 +1258,11 @@ class MathOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
             (self.table1.c.myid, 'b', 'mytable.myid %s :myid_1'),
             (self.table1.c.myid, literal(2.7), 'mytable.myid %s :param_1'),
             (self.table1.c.myid, self.table1.c.myid,
-                    'mytable.myid %s mytable.myid'),
+             'mytable.myid %s mytable.myid'),
             (literal(5), 8, ':param_1 %s :param_2'),
             (literal(6), self.table1.c.myid, ':param_1 %s mytable.myid'),
             (literal(7), literal(5.5), ':param_1 %s :param_2'),
-            ):
+        ):
             self.assert_compile(py_op(lhs, rhs), res % sql_op)
 
     def test_math_op_add(self):
@@ -1203,17 +1280,18 @@ class MathOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
         else:
             self._test_math_op(operator.div, '/')
 
+
 class ComparisonOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     table1 = table('mytable',
-        column('myid', Integer),
-    )
+                   column('myid', Integer),
+                   )
 
     def test_pickle_operators_one(self):
         clause = (self.table1.c.myid == 12) & \
-                        self.table1.c.myid.between(15, 20) & \
-                            self.table1.c.myid.like('hoho')
+            self.table1.c.myid.between(15, 20) & \
+            self.table1.c.myid.like('hoho')
         eq_(str(clause), str(util.pickle.loads(util.pickle.dumps(clause))))
 
     def test_pickle_operators_two(self):
@@ -1228,13 +1306,13 @@ class ComparisonOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
             (self.table1.c.myid, 'b', 'mytable.myid', ':myid_1'),
             (self.table1.c.myid, literal('b'), 'mytable.myid', ':param_1'),
             (self.table1.c.myid, self.table1.c.myid,
-                            'mytable.myid', 'mytable.myid'),
+             'mytable.myid', 'mytable.myid'),
             (literal('a'), 'b', ':param_1', ':param_2'),
             (literal('a'), self.table1.c.myid, ':param_1', 'mytable.myid'),
             (literal('a'), literal('b'), ':param_1', ':param_2'),
             (dt, literal('b'), ':param_2', ':param_1'),
             (literal('b'), dt, ':param_1', ':param_2'),
-            ):
+        ):
 
             # the compiled clause should match either (e.g.):
             # 'a' < 'b' -or- 'b' > 'a'.
@@ -1264,7 +1342,9 @@ class ComparisonOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     def test_comparison_operators_ge(self):
         self._test_comparison_op(operator.ge, '>=', '<=')
 
+
 class NonZeroTest(fixtures.TestBase):
+
     def _raises(self, expr):
         assert_raises_message(
             TypeError,
@@ -1316,13 +1396,14 @@ class NonZeroTest(fixtures.TestBase):
         expr2 = (c1 > 5).label(None)
         self._assert_false(expr1 == expr2)
 
+
 class NegationTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     table1 = table('mytable',
-        column('myid', Integer),
-        column('name', String),
-    )
+                   column('myid', Integer),
+                   column('name', String),
+                   )
 
     def test_negate_operators_1(self):
         for (py_op, op) in (
@@ -1337,187 +1418,188 @@ class NegationTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
     def test_negate_operators_2(self):
         self.assert_compile(
-         self.table1.select((self.table1.c.myid != 12) &
-                    ~(self.table1.c.name == 'john')),
-         "SELECT mytable.myid, mytable.name FROM "
+            self.table1.select((self.table1.c.myid != 12) &
+                               ~(self.table1.c.name == 'john')),
+            "SELECT mytable.myid, mytable.name FROM "
             "mytable WHERE mytable.myid != :myid_1 "
             "AND mytable.name != :name_1"
         )
 
     def test_negate_operators_3(self):
         self.assert_compile(
-         self.table1.select((self.table1.c.myid != 12) &
-                ~(self.table1.c.name.between('jack', 'john'))),
-         "SELECT mytable.myid, mytable.name FROM "
-             "mytable WHERE mytable.myid != :myid_1 AND "\
-             "mytable.name NOT BETWEEN :name_1 AND :name_2"
+            self.table1.select((self.table1.c.myid != 12) &
+                               ~(self.table1.c.name.between('jack', 'john'))),
+            "SELECT mytable.myid, mytable.name FROM "
+            "mytable WHERE mytable.myid != :myid_1 AND "
+            "mytable.name NOT BETWEEN :name_1 AND :name_2"
         )
 
     def test_negate_operators_4(self):
         self.assert_compile(
-         self.table1.select((self.table1.c.myid != 12) &
-                ~and_(self.table1.c.name == 'john',
-                        self.table1.c.name == 'ed',
-                        self.table1.c.name == 'fred')),
-         "SELECT mytable.myid, mytable.name FROM "
-         "mytable WHERE mytable.myid != :myid_1 AND "\
-         "NOT (mytable.name = :name_1 AND mytable.name = :name_2 "
-         "AND mytable.name = :name_3)"
+            self.table1.select((self.table1.c.myid != 12) &
+                               ~and_(self.table1.c.name == 'john',
+                                     self.table1.c.name == 'ed',
+                                     self.table1.c.name == 'fred')),
+            "SELECT mytable.myid, mytable.name FROM "
+            "mytable WHERE mytable.myid != :myid_1 AND "
+            "NOT (mytable.name = :name_1 AND mytable.name = :name_2 "
+            "AND mytable.name = :name_3)"
         )
 
     def test_negate_operators_5(self):
         self.assert_compile(
-         self.table1.select((self.table1.c.myid != 12) & ~self.table1.c.name),
-         "SELECT mytable.myid, mytable.name FROM "
-            "mytable WHERE mytable.myid != :myid_1 AND NOT mytable.name"
-        )
-
+            self.table1.select(
+                (self.table1.c.myid != 12) & ~self.table1.c.name),
+            "SELECT mytable.myid, mytable.name FROM "
+            "mytable WHERE mytable.myid != :myid_1 AND NOT mytable.name")
 
 
 class LikeTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     table1 = table('mytable',
-        column('myid', Integer),
-        column('name', String),
-    )
+                   column('myid', Integer),
+                   column('name', String),
+                   )
 
     def test_like_1(self):
         self.assert_compile(
-                self.table1.c.myid.like('somstr'),
-                "mytable.myid LIKE :myid_1")
+            self.table1.c.myid.like('somstr'),
+            "mytable.myid LIKE :myid_1")
 
     def test_like_2(self):
         self.assert_compile(
-                ~self.table1.c.myid.like('somstr'),
-                "mytable.myid NOT LIKE :myid_1")
+            ~self.table1.c.myid.like('somstr'),
+            "mytable.myid NOT LIKE :myid_1")
 
     def test_like_3(self):
         self.assert_compile(
-                self.table1.c.myid.like('somstr', escape='\\'),
-                "mytable.myid LIKE :myid_1 ESCAPE '\\'")
+            self.table1.c.myid.like('somstr', escape='\\'),
+            "mytable.myid LIKE :myid_1 ESCAPE '\\'")
 
     def test_like_4(self):
         self.assert_compile(
-                ~self.table1.c.myid.like('somstr', escape='\\'),
-                "mytable.myid NOT LIKE :myid_1 ESCAPE '\\'")
+            ~self.table1.c.myid.like('somstr', escape='\\'),
+            "mytable.myid NOT LIKE :myid_1 ESCAPE '\\'")
 
     def test_like_5(self):
         self.assert_compile(
-                self.table1.c.myid.ilike('somstr', escape='\\'),
-                "lower(mytable.myid) LIKE lower(:myid_1) ESCAPE '\\'")
+            self.table1.c.myid.ilike('somstr', escape='\\'),
+            "lower(mytable.myid) LIKE lower(:myid_1) ESCAPE '\\'")
 
     def test_like_6(self):
         self.assert_compile(
-                ~self.table1.c.myid.ilike('somstr', escape='\\'),
-                "lower(mytable.myid) NOT LIKE lower(:myid_1) ESCAPE '\\'")
+            ~self.table1.c.myid.ilike('somstr', escape='\\'),
+            "lower(mytable.myid) NOT LIKE lower(:myid_1) ESCAPE '\\'")
 
     def test_like_7(self):
         self.assert_compile(
-                self.table1.c.myid.ilike('somstr', escape='\\'),
-                    "mytable.myid ILIKE %(myid_1)s ESCAPE '\\\\'",
-                    dialect=postgresql.dialect())
+            self.table1.c.myid.ilike('somstr', escape='\\'),
+            "mytable.myid ILIKE %(myid_1)s ESCAPE '\\\\'",
+            dialect=postgresql.dialect())
 
     def test_like_8(self):
         self.assert_compile(
-                ~self.table1.c.myid.ilike('somstr', escape='\\'),
-                "mytable.myid NOT ILIKE %(myid_1)s ESCAPE '\\\\'",
-                dialect=postgresql.dialect())
+            ~self.table1.c.myid.ilike('somstr', escape='\\'),
+            "mytable.myid NOT ILIKE %(myid_1)s ESCAPE '\\\\'",
+            dialect=postgresql.dialect())
 
     def test_like_9(self):
         self.assert_compile(
-                self.table1.c.name.ilike('%something%'),
-                "lower(mytable.name) LIKE lower(:name_1)")
+            self.table1.c.name.ilike('%something%'),
+            "lower(mytable.name) LIKE lower(:name_1)")
 
     def test_like_10(self):
         self.assert_compile(
-                self.table1.c.name.ilike('%something%'),
-                "mytable.name ILIKE %(name_1)s",
-                dialect=postgresql.dialect())
+            self.table1.c.name.ilike('%something%'),
+            "mytable.name ILIKE %(name_1)s",
+            dialect=postgresql.dialect())
 
     def test_like_11(self):
         self.assert_compile(
-                ~self.table1.c.name.ilike('%something%'),
-                "lower(mytable.name) NOT LIKE lower(:name_1)")
+            ~self.table1.c.name.ilike('%something%'),
+            "lower(mytable.name) NOT LIKE lower(:name_1)")
 
     def test_like_12(self):
         self.assert_compile(
-                ~self.table1.c.name.ilike('%something%'),
-                "mytable.name NOT ILIKE %(name_1)s",
-                dialect=postgresql.dialect())
+            ~self.table1.c.name.ilike('%something%'),
+            "mytable.name NOT ILIKE %(name_1)s",
+            dialect=postgresql.dialect())
+
 
 class BetweenTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     table1 = table('mytable',
-        column('myid', Integer),
-        column('name', String),
-    )
+                   column('myid', Integer),
+                   column('name', String),
+                   )
 
     def test_between_1(self):
         self.assert_compile(
-                self.table1.c.myid.between(1, 2),
-                "mytable.myid BETWEEN :myid_1 AND :myid_2")
+            self.table1.c.myid.between(1, 2),
+            "mytable.myid BETWEEN :myid_1 AND :myid_2")
 
     def test_between_2(self):
         self.assert_compile(
-                ~self.table1.c.myid.between(1, 2),
-                "mytable.myid NOT BETWEEN :myid_1 AND :myid_2")
+            ~self.table1.c.myid.between(1, 2),
+            "mytable.myid NOT BETWEEN :myid_1 AND :myid_2")
 
     def test_between_3(self):
         self.assert_compile(
-                self.table1.c.myid.between(1, 2, symmetric=True),
-                "mytable.myid BETWEEN SYMMETRIC :myid_1 AND :myid_2")
+            self.table1.c.myid.between(1, 2, symmetric=True),
+            "mytable.myid BETWEEN SYMMETRIC :myid_1 AND :myid_2")
 
     def test_between_4(self):
         self.assert_compile(
-                ~self.table1.c.myid.between(1, 2, symmetric=True),
-                "mytable.myid NOT BETWEEN SYMMETRIC :myid_1 AND :myid_2")
+            ~self.table1.c.myid.between(1, 2, symmetric=True),
+            "mytable.myid NOT BETWEEN SYMMETRIC :myid_1 AND :myid_2")
 
     def test_between_5(self):
         self.assert_compile(
-                between(self.table1.c.myid, 1, 2, symmetric=True),
-                "mytable.myid BETWEEN SYMMETRIC :myid_1 AND :myid_2")
+            between(self.table1.c.myid, 1, 2, symmetric=True),
+            "mytable.myid BETWEEN SYMMETRIC :myid_1 AND :myid_2")
 
     def test_between_6(self):
         self.assert_compile(
-                ~between(self.table1.c.myid, 1, 2, symmetric=True),
-                "mytable.myid NOT BETWEEN SYMMETRIC :myid_1 AND :myid_2")
-
+            ~between(self.table1.c.myid, 1, 2, symmetric=True),
+            "mytable.myid NOT BETWEEN SYMMETRIC :myid_1 AND :myid_2")
 
 
 class MatchTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
 
     table1 = table('mytable',
-        column('myid', Integer),
-        column('name', String),
-    )
+                   column('myid', Integer),
+                   column('name', String),
+                   )
 
     def test_match_1(self):
         self.assert_compile(self.table1.c.myid.match('somstr'),
-                        "mytable.myid MATCH ?",
-                        dialect=sqlite.dialect())
+                            "mytable.myid MATCH ?",
+                            dialect=sqlite.dialect())
 
     def test_match_2(self):
-        self.assert_compile(self.table1.c.myid.match('somstr'),
-                        "MATCH (mytable.myid) AGAINST (%s IN BOOLEAN MODE)",
-                        dialect=mysql.dialect())
+        self.assert_compile(
+            self.table1.c.myid.match('somstr'),
+            "MATCH (mytable.myid) AGAINST (%s IN BOOLEAN MODE)",
+            dialect=mysql.dialect())
 
     def test_match_3(self):
         self.assert_compile(self.table1.c.myid.match('somstr'),
-                        "CONTAINS (mytable.myid, :myid_1)",
-                        dialect=mssql.dialect())
+                            "CONTAINS (mytable.myid, :myid_1)",
+                            dialect=mssql.dialect())
 
     def test_match_4(self):
         self.assert_compile(self.table1.c.myid.match('somstr'),
-                        "mytable.myid @@ to_tsquery(%(myid_1)s)",
-                        dialect=postgresql.dialect())
+                            "mytable.myid @@ to_tsquery(%(myid_1)s)",
+                            dialect=postgresql.dialect())
 
     def test_match_5(self):
         self.assert_compile(self.table1.c.myid.match('somstr'),
-                        "CONTAINS (mytable.myid, :myid_1)",
-                        dialect=oracle.dialect())
+                            "CONTAINS (mytable.myid, :myid_1)",
+                            dialect=oracle.dialect())
+
 
 class ComposedLikeOperatorsTest(fixtures.TestBase, testing.AssertsCompiledSQL):
     __dialect__ = 'default'
@@ -1760,7 +1842,9 @@ class ComposedLikeOperatorsTest(fixtures.TestBase, testing.AssertsCompiledSQL):
             dialect=mysql.dialect()
         )
 
+
 class CustomOpTest(fixtures.TestBase):
+
     def test_is_comparison(self):
         c = column('x')
         c2 = column('y')
@@ -1770,6 +1854,7 @@ class CustomOpTest(fixtures.TestBase):
         assert operators.is_comparison(op1)
         assert not operators.is_comparison(op2)
 
+
 class TupleTypingTest(fixtures.TestBase):
 
     def _assert_types(self, expr):
@@ -1778,13 +1863,19 @@ class TupleTypingTest(fixtures.TestBase):
         eq_(expr.clauses[2].type._type_affinity, LargeBinary()._type_affinity)
 
     def test_type_coersion_on_eq(self):
-        a, b, c = column('a', Integer), column('b', String), column('c', LargeBinary)
+        a, b, c = column(
+            'a', Integer), column(
+            'b', String), column(
+            'c', LargeBinary)
         t1 = tuple_(a, b, c)
         expr = t1 == (3, 'hi', 'there')
         self._assert_types(expr.right)
 
     def test_type_coersion_on_in(self):
-        a, b, c = column('a', Integer), column('b', String), column('c', LargeBinary)
+        a, b, c = column(
+            'a', Integer), column(
+            'b', String), column(
+            'c', LargeBinary)
         t1 = tuple_(a, b, c)
         expr = t1.in_([(3, 'hi', 'there'), (4, 'Q', 'P')])
         eq_(len(expr.right.clauses), 2)
index 48d9295fb3e3ec7cf4195e6c7353871cc0b03d1a..039e8d7e53568b4cbfc59501062a0012b6f59609 100644 (file)
@@ -40,7 +40,7 @@ class QueryTest(fixtures.TestBase):
             Column('user_id', Integer, ForeignKey('query_users.user_id')),
             Column('address', String(30)),
             test_needs_acid=True
-            )
+        )
 
         users2 = Table(
             'u2', metadata,
@@ -237,6 +237,7 @@ class QueryTest(fixtures.TestBase):
         eng = engines.testing_engine()
 
         class ExcCtx(sqlite.base.SQLiteExecutionContext):
+
             def get_lastrowid(self):
                 return 0
         eng.dialect.execution_ctx_cls = ExcCtx
@@ -482,6 +483,7 @@ class QueryTest(fixtures.TestBase):
         row = testing.db.execute(select([1])).first()
 
         class unprintable(object):
+
             def __str__(self):
                 raise ValueError("nope")
 
@@ -1436,6 +1438,7 @@ class RequiredBindTest(fixtures.TablesTest):
 
 
 class TableInsertTest(fixtures.TablesTest):
+
     """test for consistent insert behavior across dialects
     regarding the inline=True flag, lower-case 't' tables.
 
@@ -1907,6 +1910,7 @@ class LimitTest(fixtures.TestBase):
 
 
 class CompoundTest(fixtures.TestBase):
+
     """test compound statements like UNION, INTERSECT, particularly their
     ability to nest on different databases."""
 
@@ -2212,6 +2216,7 @@ t1 = t2 = t3 = None
 
 
 class JoinTest(fixtures.TestBase):
+
     """Tests join execution.
 
     The compiled SQL emitted by the dialect might be ANSI joins or
@@ -2260,7 +2265,7 @@ class JoinTest(fixtures.TestBase):
         """Execute a statement and assert that rows returned equal expected."""
 
         found = sorted([tuple(row)
-                       for row in statement.execute().fetchall()])
+                        for row in statement.execute().fetchall()])
 
         eq_(found, sorted(expected))
 
index 6a8abde0bb9bd228cb3c7a6734024c8a0e4b3fb0..6b0ab4ecec7f9cb3509d4f854780b4e5625dd0cf 100644 (file)
@@ -6,6 +6,7 @@ from sqlalchemy import testing
 from sqlalchemy.sql.elements import quoted_name, _truncated_label, _anonymous_label
 from sqlalchemy.testing.util import picklers
 
+
 class QuoteExecTest(fixtures.TestBase):
     __backend__ = True
 
@@ -19,14 +20,14 @@ class QuoteExecTest(fixtures.TestBase):
         metadata = MetaData(testing.db)
 
         table1 = Table('WorstCase1', metadata,
-            Column('lowercase', Integer, primary_key=True),
-            Column('UPPERCASE', Integer),
-            Column('MixedCase', Integer),
-            Column('ASC', Integer, key='a123'))
+                       Column('lowercase', Integer, primary_key=True),
+                       Column('UPPERCASE', Integer),
+                       Column('MixedCase', Integer),
+                       Column('ASC', Integer, key='a123'))
         table2 = Table('WorstCase2', metadata,
-            Column('desc', Integer, primary_key=True, key='d123'),
-            Column('Union', Integer, key='u123'),
-            Column('MixedCase', Integer))
+                       Column('desc', Integer, primary_key=True, key='d123'),
+                       Column('Union', Integer, key='u123'),
+                       Column('MixedCase', Integer))
 
         table1.create()
         table2.create()
@@ -70,25 +71,25 @@ class QuoteExecTest(fixtures.TestBase):
         else:
             testing.db.execute("CREATE TABLE tab1 (id INTEGER)")
         testing.db.execute('CREATE TABLE %s (id INTEGER)' %
-                    preparer.quote_identifier("tab2"))
+                           preparer.quote_identifier("tab2"))
         testing.db.execute('CREATE TABLE %s (id INTEGER)' %
-                    preparer.quote_identifier("TAB3"))
+                           preparer.quote_identifier("TAB3"))
         testing.db.execute('CREATE TABLE %s (id INTEGER)' %
-                    preparer.quote_identifier("TAB4"))
+                           preparer.quote_identifier("TAB4"))
 
         t1 = Table('tab1', self.metadata,
-                        Column('id', Integer, primary_key=True),
-                        )
+                   Column('id', Integer, primary_key=True),
+                   )
         t2 = Table('tab2', self.metadata,
-                        Column('id', Integer, primary_key=True),
-                         quote=True
-                         )
+                   Column('id', Integer, primary_key=True),
+                   quote=True
+                   )
         t3 = Table('TAB3', self.metadata,
-                        Column('id', Integer, primary_key=True),
-                        )
+                   Column('id', Integer, primary_key=True),
+                   )
         t4 = Table('TAB4', self.metadata,
-                        Column('id', Integer, primary_key=True),
-                        quote=True)
+                   Column('id', Integer, primary_key=True),
+                   quote=True)
 
         insp = inspect(testing.db)
         assert testing.db.has_table(t1.name)
@@ -103,8 +104,6 @@ class QuoteExecTest(fixtures.TestBase):
         assert testing.db.has_table(t4.name)
         eq_([c['name'] for c in insp.get_columns(t4.name)], ['id'])
 
-
-
     def test_basic(self):
         table1.insert().execute(
             {'lowercase': 1, 'UPPERCASE': 2, 'MixedCase': 3, 'a123': 4},
@@ -159,6 +158,7 @@ class QuoteExecTest(fixtures.TestBase):
         result = select(columns, use_labels=True).execute().fetchall()
         assert(result == [(1, 2, 3), (2, 2, 3), (4, 3, 2)])
 
+
 class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -172,14 +172,14 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         metadata = MetaData(testing.db)
 
         table1 = Table('WorstCase1', metadata,
-            Column('lowercase', Integer, primary_key=True),
-            Column('UPPERCASE', Integer),
-            Column('MixedCase', Integer),
-            Column('ASC', Integer, key='a123'))
+                       Column('lowercase', Integer, primary_key=True),
+                       Column('UPPERCASE', Integer),
+                       Column('MixedCase', Integer),
+                       Column('ASC', Integer, key='a123'))
         table2 = Table('WorstCase2', metadata,
-            Column('desc', Integer, primary_key=True, key='d123'),
-            Column('Union', Integer, key='u123'),
-            Column('MixedCase', Integer))
+                       Column('desc', Integer, primary_key=True, key='d123'),
+                       Column('Union', Integer, key='u123'),
+                       Column('MixedCase', Integer))
 
     @testing.crashes('oracle', 'FIXME: unknown, verify not fails_on')
     @testing.requires.subqueries
@@ -206,17 +206,17 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             table1.select(distinct=True).alias('LaLa').select(),
             'SELECT '
-                '"LaLa".lowercase, '
-                '"LaLa"."UPPERCASE", '
-                '"LaLa"."MixedCase", '
-                '"LaLa"."ASC" '
+            '"LaLa".lowercase, '
+            '"LaLa"."UPPERCASE", '
+            '"LaLa"."MixedCase", '
+            '"LaLa"."ASC" '
             'FROM ('
-                'SELECT DISTINCT '
-                    '"WorstCase1".lowercase AS lowercase, '
-                    '"WorstCase1"."UPPERCASE" AS "UPPERCASE", '
-                    '"WorstCase1"."MixedCase" AS "MixedCase", '
-                    '"WorstCase1"."ASC" AS "ASC" '
-                'FROM "WorstCase1"'
+            'SELECT DISTINCT '
+            '"WorstCase1".lowercase AS lowercase, '
+            '"WorstCase1"."UPPERCASE" AS "UPPERCASE", '
+            '"WorstCase1"."MixedCase" AS "MixedCase", '
+            '"WorstCase1"."ASC" AS "ASC" '
+            'FROM "WorstCase1"'
             ') AS "LaLa"'
         )
 
@@ -224,8 +224,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create table with quote defaults
         metadata = MetaData()
         t1 = Table('t1', metadata,
-            Column('col1', Integer),
-            schema='foo')
+                   Column('col1', Integer),
+                   schema='foo')
 
         # Note that the names are not quoted b/c they are all lower case
         result = 'CREATE TABLE foo.t1 (col1 INTEGER)'
@@ -234,8 +234,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create the same table with quotes set to True now
         metadata = MetaData()
         t1 = Table('t1', metadata,
-            Column('col1', Integer, quote=True),
-            schema='foo', quote=True, quote_schema=True)
+                   Column('col1', Integer, quote=True),
+                   schema='foo', quote=True, quote_schema=True)
 
         # Note that the names are now quoted
         result = 'CREATE TABLE "foo"."t1" ("col1" INTEGER)'
@@ -245,8 +245,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create table with quote defaults
         metadata = MetaData()
         t1 = Table('TABLE1', metadata,
-            Column('COL1', Integer),
-            schema='FOO')
+                   Column('COL1', Integer),
+                   schema='FOO')
 
         # Note that the names are quoted b/c they are not all lower case
         result = 'CREATE TABLE "FOO"."TABLE1" ("COL1" INTEGER)'
@@ -255,8 +255,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create the same table with quotes set to False now
         metadata = MetaData()
         t1 = Table('TABLE1', metadata,
-            Column('COL1', Integer, quote=False),
-            schema='FOO', quote=False, quote_schema=False)
+                   Column('COL1', Integer, quote=False),
+                   schema='FOO', quote=False, quote_schema=False)
 
         # Note that the names are now unquoted
         result = 'CREATE TABLE FOO.TABLE1 (COL1 INTEGER)'
@@ -266,8 +266,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create table with quote defaults
         metadata = MetaData()
         t1 = Table('Table1', metadata,
-            Column('Col1', Integer),
-            schema='Foo')
+                   Column('Col1', Integer),
+                   schema='Foo')
 
         # Note that the names are quoted b/c they are not all lower case
         result = 'CREATE TABLE "Foo"."Table1" ("Col1" INTEGER)'
@@ -276,8 +276,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create the same table with quotes set to False now
         metadata = MetaData()
         t1 = Table('Table1', metadata,
-            Column('Col1', Integer, quote=False),
-            schema='Foo', quote=False, quote_schema=False)
+                   Column('Col1', Integer, quote=False),
+                   schema='Foo', quote=False, quote_schema=False)
 
         # Note that the names are now unquoted
         result = 'CREATE TABLE Foo.Table1 (Col1 INTEGER)'
@@ -287,8 +287,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create table with quote defaults
         metadata = MetaData()
         t1 = Table('35table', metadata,
-            Column('25column', Integer),
-            schema='45schema')
+                   Column('25column', Integer),
+                   schema='45schema')
 
         # Note that the names are quoted b/c the initial
         # character is in ['$','0', '1' ... '9']
@@ -298,8 +298,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create the same table with quotes set to False now
         metadata = MetaData()
         t1 = Table('35table', metadata,
-            Column('25column', Integer, quote=False),
-            schema='45schema', quote=False, quote_schema=False)
+                   Column('25column', Integer, quote=False),
+                   schema='45schema', quote=False, quote_schema=False)
 
         # Note that the names are now unquoted
         result = 'CREATE TABLE 45schema.35table (25column INTEGER)'
@@ -309,8 +309,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create table with quote defaults
         metadata = MetaData()
         t1 = Table('$table', metadata,
-            Column('$column', Integer),
-            schema='$schema')
+                   Column('$column', Integer),
+                   schema='$schema')
 
         # Note that the names are quoted b/c the initial
         # character is in ['$','0', '1' ... '9']
@@ -320,8 +320,8 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create the same table with quotes set to False now
         metadata = MetaData()
         t1 = Table('$table', metadata,
-            Column('$column', Integer, quote=False),
-            schema='$schema', quote=False, quote_schema=False)
+                   Column('$column', Integer, quote=False),
+                   schema='$schema', quote=False, quote_schema=False)
 
         # Note that the names are now unquoted
         result = 'CREATE TABLE $schema.$table ($column INTEGER)'
@@ -331,117 +331,117 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Create table with quote defaults
         metadata = MetaData()
         table = Table('foreign', metadata,
-            Column('col1', Integer),
-            Column('from', Integer),
-            Column('order', Integer),
-            schema='create')
+                      Column('col1', Integer),
+                      Column('from', Integer),
+                      Column('order', Integer),
+                      schema='create')
 
         # Note that the names are quoted b/c they are reserved words
         x = select([table.c.col1, table.c['from'], table.c.order])
         self.assert_compile(x,
-            'SELECT '
-                '"create"."foreign".col1, '
-                '"create"."foreign"."from", '
-                '"create"."foreign"."order" '
-            'FROM "create"."foreign"'
-        )
+                            'SELECT '
+                            '"create"."foreign".col1, '
+                            '"create"."foreign"."from", '
+                            '"create"."foreign"."order" '
+                            'FROM "create"."foreign"'
+                            )
 
         # Create the same table with quotes set to False now
         metadata = MetaData()
         table = Table('foreign', metadata,
-            Column('col1', Integer),
-            Column('from', Integer, quote=False),
-            Column('order', Integer, quote=False),
-            schema='create', quote=False, quote_schema=False)
+                      Column('col1', Integer),
+                      Column('from', Integer, quote=False),
+                      Column('order', Integer, quote=False),
+                      schema='create', quote=False, quote_schema=False)
 
         # Note that the names are now unquoted
         x = select([table.c.col1, table.c['from'], table.c.order])
         self.assert_compile(x,
-            'SELECT '
-                'create.foreign.col1, '
-                'create.foreign.from, '
-                'create.foreign.order '
-            'FROM create.foreign'
-        )
+                            'SELECT '
+                            'create.foreign.col1, '
+                            'create.foreign.from, '
+                            'create.foreign.order '
+                            'FROM create.foreign'
+                            )
 
     def test_subquery_one(self):
         # Lower case names, should not quote
         metadata = MetaData()
         t1 = Table('t1', metadata,
-            Column('col1', Integer),
-            schema='foo')
+                   Column('col1', Integer),
+                   schema='foo')
         a = t1.select().alias('anon')
         b = select([1], a.c.col1 == 2, from_obj=a)
         self.assert_compile(b,
-            'SELECT 1 '
-            'FROM ('
-                'SELECT '
-                    'foo.t1.col1 AS col1 '
-                'FROM '
-                    'foo.t1'
-            ') AS anon '
-            'WHERE anon.col1 = :col1_1'
-        )
+                            'SELECT 1 '
+                            'FROM ('
+                            'SELECT '
+                            'foo.t1.col1 AS col1 '
+                            'FROM '
+                            'foo.t1'
+                            ') AS anon '
+                            'WHERE anon.col1 = :col1_1'
+                            )
 
     def test_subquery_two(self):
         # Lower case names, quotes on, should quote
         metadata = MetaData()
         t1 = Table('t1', metadata,
-            Column('col1', Integer, quote=True),
-            schema='foo', quote=True, quote_schema=True)
+                   Column('col1', Integer, quote=True),
+                   schema='foo', quote=True, quote_schema=True)
         a = t1.select().alias('anon')
         b = select([1], a.c.col1 == 2, from_obj=a)
         self.assert_compile(b,
-            'SELECT 1 '
-            'FROM ('
-                'SELECT '
-                    '"foo"."t1"."col1" AS "col1" '
-                'FROM '
-                    '"foo"."t1"'
-            ') AS anon '
-            'WHERE anon."col1" = :col1_1'
-        )
+                            'SELECT 1 '
+                            'FROM ('
+                            'SELECT '
+                            '"foo"."t1"."col1" AS "col1" '
+                            'FROM '
+                            '"foo"."t1"'
+                            ') AS anon '
+                            'WHERE anon."col1" = :col1_1'
+                            )
 
     def test_subquery_three(self):
         # Not lower case names, should quote
         metadata = MetaData()
         t1 = Table('T1', metadata,
-            Column('Col1', Integer),
-            schema='Foo')
+                   Column('Col1', Integer),
+                   schema='Foo')
         a = t1.select().alias('Anon')
         b = select([1], a.c.Col1 == 2, from_obj=a)
         self.assert_compile(b,
-            'SELECT 1 '
-            'FROM ('
-                'SELECT '
-                    '"Foo"."T1"."Col1" AS "Col1" '
-                'FROM '
-                    '"Foo"."T1"'
-            ') AS "Anon" '
-            'WHERE '
-                '"Anon"."Col1" = :Col1_1'
-        )
+                            'SELECT 1 '
+                            'FROM ('
+                            'SELECT '
+                            '"Foo"."T1"."Col1" AS "Col1" '
+                            'FROM '
+                            '"Foo"."T1"'
+                            ') AS "Anon" '
+                            'WHERE '
+                            '"Anon"."Col1" = :Col1_1'
+                            )
 
     def test_subquery_four(self):
 
         # Not lower case names, quotes off, should not quote
         metadata = MetaData()
         t1 = Table('T1', metadata,
-            Column('Col1', Integer, quote=False),
-            schema='Foo', quote=False, quote_schema=False)
+                   Column('Col1', Integer, quote=False),
+                   schema='Foo', quote=False, quote_schema=False)
         a = t1.select().alias('Anon')
         b = select([1], a.c.Col1 == 2, from_obj=a)
         self.assert_compile(b,
-            'SELECT 1 '
-            'FROM ('
-                'SELECT '
-                    'Foo.T1.Col1 AS Col1 '
-                'FROM '
-                    'Foo.T1'
-            ') AS "Anon" '
-            'WHERE '
-                '"Anon".Col1 = :Col1_1'
-        )
+                            'SELECT 1 '
+                            'FROM ('
+                            'SELECT '
+                            'Foo.T1.Col1 AS Col1 '
+                            'FROM '
+                            'Foo.T1'
+                            ') AS "Anon" '
+                            'WHERE '
+                            '"Anon".Col1 = :Col1_1'
+                            )
 
     def test_simple_order_by_label(self):
         m = MetaData()
@@ -456,170 +456,188 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
         # Lower case names, should not quote
         metadata = MetaData()
         t1 = Table('t1', metadata,
-           Column('col1', Integer))
+                   Column('col1', Integer))
         t2 = Table('t2', metadata,
-           Column('col1', Integer),
-           Column('t1col1', Integer, ForeignKey('t1.col1')))
+                   Column('col1', Integer),
+                   Column('t1col1', Integer, ForeignKey('t1.col1')))
         self.assert_compile(t2.join(t1).select(),
-            'SELECT '
-                't2.col1, t2.t1col1, t1.col1 '
-            'FROM '
-                't2 '
-            'JOIN '
-                't1 ON t1.col1 = t2.t1col1'
-        )
+                            'SELECT '
+                            't2.col1, t2.t1col1, t1.col1 '
+                            'FROM '
+                            't2 '
+                            'JOIN '
+                            't1 ON t1.col1 = t2.t1col1'
+                            )
 
         # Lower case names, quotes on, should quote
         metadata = MetaData()
         t1 = Table('t1', metadata,
-           Column('col1', Integer, quote=True),
-           quote=True)
-        t2 = Table('t2', metadata,
-           Column('col1', Integer, quote=True),
-           Column('t1col1', Integer, ForeignKey('t1.col1'), quote=True),
-           quote=True)
+                   Column('col1', Integer, quote=True),
+                   quote=True)
+        t2 = Table(
+            't2',
+            metadata,
+            Column(
+                'col1',
+                Integer,
+                quote=True),
+            Column(
+                't1col1',
+                Integer,
+                ForeignKey('t1.col1'),
+                quote=True),
+            quote=True)
         self.assert_compile(t2.join(t1).select(),
-            'SELECT '
-                '"t2"."col1", "t2"."t1col1", "t1"."col1" '
-            'FROM '
-                '"t2" '
-            'JOIN '
-                '"t1" ON "t1"."col1" = "t2"."t1col1"'
-        )
+                            'SELECT '
+                            '"t2"."col1", "t2"."t1col1", "t1"."col1" '
+                            'FROM '
+                            '"t2" '
+                            'JOIN '
+                            '"t1" ON "t1"."col1" = "t2"."t1col1"'
+                            )
 
         # Not lower case names, should quote
         metadata = MetaData()
         t1 = Table('T1', metadata,
-           Column('Col1', Integer))
+                   Column('Col1', Integer))
         t2 = Table('T2', metadata,
-           Column('Col1', Integer),
-           Column('T1Col1', Integer, ForeignKey('T1.Col1')))
+                   Column('Col1', Integer),
+                   Column('T1Col1', Integer, ForeignKey('T1.Col1')))
         self.assert_compile(t2.join(t1).select(),
-            'SELECT '
-                '"T2"."Col1", "T2"."T1Col1", "T1"."Col1" '
-            'FROM '
-                '"T2" '
-            'JOIN '
-                '"T1" ON "T1"."Col1" = "T2"."T1Col1"'
-        )
+                            'SELECT '
+                            '"T2"."Col1", "T2"."T1Col1", "T1"."Col1" '
+                            'FROM '
+                            '"T2" '
+                            'JOIN '
+                            '"T1" ON "T1"."Col1" = "T2"."T1Col1"'
+                            )
 
         # Not lower case names, quotes off, should not quote
         metadata = MetaData()
         t1 = Table('T1', metadata,
-           Column('Col1', Integer, quote=False),
-           quote=False)
-        t2 = Table('T2', metadata,
-           Column('Col1', Integer, quote=False),
-           Column('T1Col1', Integer, ForeignKey('T1.Col1'), quote=False),
-           quote=False)
+                   Column('Col1', Integer, quote=False),
+                   quote=False)
+        t2 = Table(
+            'T2',
+            metadata,
+            Column(
+                'Col1',
+                Integer,
+                quote=False),
+            Column(
+                'T1Col1',
+                Integer,
+                ForeignKey('T1.Col1'),
+                quote=False),
+            quote=False)
         self.assert_compile(t2.join(t1).select(),
-            'SELECT '
-                'T2.Col1, T2.T1Col1, T1.Col1 '
-            'FROM '
-                'T2 '
-            'JOIN '
-                'T1 ON T1.Col1 = T2.T1Col1'
-        )
+                            'SELECT '
+                            'T2.Col1, T2.T1Col1, T1.Col1 '
+                            'FROM '
+                            'T2 '
+                            'JOIN '
+                            'T1 ON T1.Col1 = T2.T1Col1'
+                            )
 
     def test_label_and_alias(self):
         # Lower case names, should not quote
         metadata = MetaData()
         table = Table('t1', metadata,
-            Column('col1', Integer))
+                      Column('col1', Integer))
         x = select([table.c.col1.label('label1')]).alias('alias1')
         self.assert_compile(select([x.c.label1]),
-            'SELECT '
-                'alias1.label1 '
-            'FROM ('
-                'SELECT '
-                    't1.col1 AS label1 '
-                'FROM t1'
-            ') AS alias1'
-        )
+                            'SELECT '
+                            'alias1.label1 '
+                            'FROM ('
+                            'SELECT '
+                            't1.col1 AS label1 '
+                            'FROM t1'
+                            ') AS alias1'
+                            )
 
         # Not lower case names, should quote
         metadata = MetaData()
         table = Table('T1', metadata,
-            Column('Col1', Integer))
+                      Column('Col1', Integer))
         x = select([table.c.Col1.label('Label1')]).alias('Alias1')
         self.assert_compile(select([x.c.Label1]),
-            'SELECT '
-                '"Alias1"."Label1" '
-            'FROM ('
-                'SELECT '
-                    '"T1"."Col1" AS "Label1" '
-                'FROM "T1"'
-            ') AS "Alias1"'
-        )
+                            'SELECT '
+                            '"Alias1"."Label1" '
+                            'FROM ('
+                            'SELECT '
+                            '"T1"."Col1" AS "Label1" '
+                            'FROM "T1"'
+                            ') AS "Alias1"'
+                            )
 
     def test_literal_column_already_with_quotes(self):
         # Lower case names
         metadata = MetaData()
         table = Table('t1', metadata,
-            Column('col1', Integer))
+                      Column('col1', Integer))
 
         # Note that 'col1' is already quoted (literal_column)
         columns = [sql.literal_column("'col1'").label('label1')]
         x = select(columns, from_obj=[table]).alias('alias1')
         x = x.select()
         self.assert_compile(x,
-            'SELECT '
-                'alias1.label1 '
-            'FROM ('
-                'SELECT '
-                    '\'col1\' AS label1 '
-                'FROM t1'
-            ') AS alias1'
-        )
+                            'SELECT '
+                            'alias1.label1 '
+                            'FROM ('
+                            'SELECT '
+                            '\'col1\' AS label1 '
+                            'FROM t1'
+                            ') AS alias1'
+                            )
 
         # Not lower case names
         metadata = MetaData()
         table = Table('T1', metadata,
-            Column('Col1', Integer))
+                      Column('Col1', Integer))
 
         # Note that 'Col1' is already quoted (literal_column)
         columns = [sql.literal_column("'Col1'").label('Label1')]
         x = select(columns, from_obj=[table]).alias('Alias1')
         x = x.select()
         self.assert_compile(x,
-            'SELECT '
-                '"Alias1"."Label1" '
-            'FROM ('
-                'SELECT '
-                    '\'Col1\' AS "Label1" '
-                'FROM "T1"'
-            ') AS "Alias1"'
-        )
+                            'SELECT '
+                            '"Alias1"."Label1" '
+                            'FROM ('
+                            'SELECT '
+                            '\'Col1\' AS "Label1" '
+                            'FROM "T1"'
+                            ') AS "Alias1"'
+                            )
 
     def test_apply_labels_should_quote(self):
         # Not lower case names, should quote
         metadata = MetaData()
         t1 = Table('T1', metadata,
-            Column('Col1', Integer),
-            schema='Foo')
+                   Column('Col1', Integer),
+                   schema='Foo')
 
         self.assert_compile(t1.select().apply_labels(),
-            'SELECT '
-                '"Foo"."T1"."Col1" AS "Foo_T1_Col1" '
-            'FROM '
-                '"Foo"."T1"'
-        )
+                            'SELECT '
+                            '"Foo"."T1"."Col1" AS "Foo_T1_Col1" '
+                            'FROM '
+                            '"Foo"."T1"'
+                            )
 
     def test_apply_labels_shouldnt_quote(self):
         # Not lower case names, quotes off
         metadata = MetaData()
         t1 = Table('T1', metadata,
-            Column('Col1', Integer, quote=False),
-            schema='Foo', quote=False, quote_schema=False)
+                   Column('Col1', Integer, quote=False),
+                   schema='Foo', quote=False, quote_schema=False)
 
         # TODO: is this what we really want here ?
         # what if table/schema *are* quoted?
         self.assert_compile(t1.select().apply_labels(),
-            'SELECT '
-                'Foo.T1.Col1 AS Foo_T1_Col1 '
-            'FROM '
-                'Foo.T1'
-        )
+                            'SELECT '
+                            'Foo.T1.Col1 AS Foo_T1_Col1 '
+                            'FROM '
+                            'Foo.T1'
+                            )
 
     def test_quote_flag_propagate_check_constraint(self):
         m = MetaData()
@@ -657,7 +675,9 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
             'SELECT "t2".x AS "t2_x" FROM "t2"'
         )
 
+
 class PreparerTest(fixtures.TestBase):
+
     """Test the db-agnostic quoting services of IdentifierPreparer."""
 
     def test_unformat(self):
@@ -711,7 +731,9 @@ class PreparerTest(fixtures.TestBase):
         a_eq(unformat('`foo`.bar'), ['foo', 'bar'])
         a_eq(unformat('`foo`.`b``a``r`.`baz`'), ['foo', 'b`a`r', 'baz'])
 
+
 class QuotedIdentTest(fixtures.TestBase):
+
     def test_concat_quotetrue(self):
         q1 = quoted_name("x", True)
         self._assert_not_quoted("y" + q1)
@@ -802,4 +824,3 @@ class QuotedIdentTest(fixtures.TestBase):
 
     def _assert_not_quoted(self, value):
         assert not isinstance(value, quoted_name)
-
index 394fe1002e0f747fc96c162ff53fe59af8056707..26dbcdaa21f5fa10943267133e318ed0b1e736d9 100644 (file)
@@ -4,10 +4,11 @@ from sqlalchemy import testing
 from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.types import TypeDecorator
 from sqlalchemy.testing import fixtures, AssertsExecutionResults, engines, \
-        assert_raises_message
+    assert_raises_message
 from sqlalchemy import exc as sa_exc
 import itertools
 
+
 class ReturningTest(fixtures.TestBase, AssertsExecutionResults):
     __requires__ = 'returning',
     __backend__ = True
@@ -29,29 +30,30 @@ class ReturningTest(fixtures.TestBase, AssertsExecutionResults):
                     return None
                 return value + "BAR"
 
-        table = Table('tables', meta,
-            Column('id', Integer, primary_key=True, test_needs_autoincrement=True),
-            Column('persons', Integer),
-            Column('full', Boolean),
-            Column('goofy', GoofyType(50))
-        )
+        table = Table(
+            'tables', meta, Column(
+                'id', Integer, primary_key=True, test_needs_autoincrement=True), Column(
+                'persons', Integer), Column(
+                'full', Boolean), Column(
+                    'goofy', GoofyType(50)))
         table.create(checkfirst=True)
 
     def teardown(self):
         table.drop()
 
     def test_column_targeting(self):
-        result = table.insert().returning(table.c.id, table.c.full).execute({'persons': 1, 'full': False})
+        result = table.insert().returning(
+            table.c.id, table.c.full).execute({'persons': 1, 'full': False})
 
         row = result.first()
         assert row[table.c.id] == row['id'] == 1
         assert row[table.c.full] == row['full'] == False
 
         result = table.insert().values(persons=5, full=True, goofy="somegoofy").\
-                            returning(table.c.persons, table.c.full, table.c.goofy).execute()
+            returning(table.c.persons, table.c.full, table.c.goofy).execute()
         row = result.first()
         assert row[table.c.persons] == row['persons'] == 5
-        assert row[table.c.full] == row['full'] == True
+        assert row[table.c.full] == row['full']
 
         eq_(row[table.c.goofy], row['goofy'])
         eq_(row['goofy'], "FOOsomegoofyBAR")
@@ -59,57 +61,65 @@ class ReturningTest(fixtures.TestBase, AssertsExecutionResults):
     @testing.fails_on('firebird', "fb can't handle returning x AS y")
     def test_labeling(self):
         result = table.insert().values(persons=6).\
-                            returning(table.c.persons.label('lala')).execute()
+            returning(table.c.persons.label('lala')).execute()
         row = result.first()
         assert row['lala'] == 6
 
-    @testing.fails_on('firebird', "fb/kintersbasdb can't handle the bind params")
+    @testing.fails_on(
+        'firebird',
+        "fb/kintersbasdb can't handle the bind params")
     @testing.fails_on('oracle+zxjdbc', "JDBC driver bug")
     def test_anon_expressions(self):
         result = table.insert().values(goofy="someOTHERgoofy").\
-                            returning(func.lower(table.c.goofy, type_=GoofyType)).execute()
+            returning(func.lower(table.c.goofy, type_=GoofyType)).execute()
         row = result.first()
         eq_(row[0], "foosomeothergoofyBAR")
 
         result = table.insert().values(persons=12).\
-                            returning(table.c.persons + 18).execute()
+            returning(table.c.persons + 18).execute()
         row = result.first()
         eq_(row[0], 30)
 
     def test_update_returning(self):
-        table.insert().execute([{'persons': 5, 'full': False}, {'persons': 3, 'full': False}])
+        table.insert().execute(
+            [{'persons': 5, 'full': False}, {'persons': 3, 'full': False}])
 
-        result = table.update(table.c.persons > 4, dict(full=True)).returning(table.c.id).execute()
+        result = table.update(
+            table.c.persons > 4, dict(
+                full=True)).returning(
+            table.c.id).execute()
         eq_(result.fetchall(), [(1,)])
 
-        result2 = select([table.c.id, table.c.full]).order_by(table.c.id).execute()
+        result2 = select([table.c.id, table.c.full]).order_by(
+            table.c.id).execute()
         eq_(result2.fetchall(), [(1, True), (2, False)])
 
     def test_insert_returning(self):
-        result = table.insert().returning(table.c.id).execute({'persons': 1, 'full': False})
+        result = table.insert().returning(
+            table.c.id).execute({'persons': 1, 'full': False})
 
         eq_(result.fetchall(), [(1,)])
 
     @testing.requires.multivalues_inserts
     def test_multirow_returning(self):
         ins = table.insert().returning(table.c.id, table.c.persons).values(
-                            [
-                                {'persons': 1, 'full': False},
-                                {'persons': 2, 'full': True},
-                                {'persons': 3, 'full': False},
-                            ]
-                        )
+            [
+                {'persons': 1, 'full': False},
+                {'persons': 2, 'full': True},
+                {'persons': 3, 'full': False},
+            ]
+        )
         result = testing.db.execute(ins)
         eq_(
-                result.fetchall(),
-                 [(1, 1), (2, 2), (3, 3)]
+            result.fetchall(),
+            [(1, 1), (2, 2), (3, 3)]
         )
 
     def test_no_ipk_on_returning(self):
         result = testing.db.execute(
-                    table.insert().returning(table.c.id),
-                    {'persons': 1, 'full': False}
-                )
+            table.insert().returning(table.c.id),
+            {'persons': 1, 'full': False}
+        )
         assert_raises_message(
             sa_exc.InvalidRequestError,
             "Can't call inserted_primary_key when returning\(\) is used.",
@@ -123,18 +133,25 @@ class ReturningTest(fixtures.TestBase, AssertsExecutionResults):
         else:
             literal_true = "1"
 
-        result4 = testing.db.execute('insert into tables (id, persons, "full") '
-                                        'values (5, 10, %s) returning persons' % literal_true)
+        result4 = testing.db.execute(
+            'insert into tables (id, persons, "full") '
+            'values (5, 10, %s) returning persons' %
+            literal_true)
         eq_([dict(row) for row in result4], [{'persons': 10}])
 
     def test_delete_returning(self):
-        table.insert().execute([{'persons': 5, 'full': False}, {'persons': 3, 'full': False}])
+        table.insert().execute(
+            [{'persons': 5, 'full': False}, {'persons': 3, 'full': False}])
 
-        result = table.delete(table.c.persons > 4).returning(table.c.id).execute()
+        result = table.delete(
+            table.c.persons > 4).returning(
+            table.c.id).execute()
         eq_(result.fetchall(), [(1,)])
 
-        result2 = select([table.c.id, table.c.full]).order_by(table.c.id).execute()
-        eq_(result2.fetchall(), [(2, False),])
+        result2 = select([table.c.id, table.c.full]).order_by(
+            table.c.id).execute()
+        eq_(result2.fetchall(), [(2, False), ])
+
 
 class SequenceReturningTest(fixtures.TestBase):
     __requires__ = 'returning', 'sequences'
@@ -145,9 +162,9 @@ class SequenceReturningTest(fixtures.TestBase):
         global table, seq
         seq = Sequence('tid_seq')
         table = Table('tables', meta,
-                    Column('id', Integer, seq, primary_key=True),
-                    Column('data', String(50))
-                )
+                      Column('id', Integer, seq, primary_key=True),
+                      Column('data', String(50))
+                      )
         table.create(checkfirst=True)
 
     def teardown(self):
@@ -158,7 +175,9 @@ class SequenceReturningTest(fixtures.TestBase):
         assert r.first() == (1, )
         assert seq.execute() == 2
 
+
 class KeyReturningTest(fixtures.TestBase, AssertsExecutionResults):
+
     """test returning() works with columns that define 'key'."""
 
     __requires__ = 'returning',
@@ -168,9 +187,18 @@ class KeyReturningTest(fixtures.TestBase, AssertsExecutionResults):
         meta = MetaData(testing.db)
         global table
 
-        table = Table('tables', meta,
-            Column('id', Integer, primary_key=True, key='foo_id', test_needs_autoincrement=True),
-            Column('data', String(20)),
+        table = Table(
+            'tables',
+            meta,
+            Column(
+                'id',
+                Integer,
+                primary_key=True,
+                key='foo_id',
+                test_needs_autoincrement=True),
+            Column(
+                'data',
+                String(20)),
         )
         table.create(checkfirst=True)
 
@@ -180,7 +208,9 @@ class KeyReturningTest(fixtures.TestBase, AssertsExecutionResults):
     @testing.exclude('firebird', '<', (2, 0), '2.0+ feature')
     @testing.exclude('postgresql', '<', (8, 2), '8.2+ feature')
     def test_insert(self):
-        result = table.insert().returning(table.c.foo_id).execute(data='somedata')
+        result = table.insert().returning(
+            table.c.foo_id).execute(
+            data='somedata')
         row = result.first()
         assert row[table.c.foo_id] == row['id'] == 1
 
@@ -207,18 +237,18 @@ class ReturnDefaultsTest(fixtures.TablesTest):
         def compile(element, compiler, **kw):
             return str(next(counter))
 
-        Table("t1", metadata,
-                Column("id", Integer, primary_key=True, test_needs_autoincrement=True),
-                Column("data", String(50)),
-                Column("insdef", Integer, default=IncDefault()),
-                Column("upddef", Integer, onupdate=IncDefault())
-            )
+        Table(
+            "t1", metadata, Column(
+                "id", Integer, primary_key=True, test_needs_autoincrement=True), Column(
+                "data", String(50)), Column(
+                "insdef", Integer, default=IncDefault()), Column(
+                    "upddef", Integer, onupdate=IncDefault()))
 
     def test_chained_insert_pk(self):
         t1 = self.tables.t1
         result = testing.db.execute(
-                        t1.insert().values(upddef=1).return_defaults(t1.c.insdef)
-                    )
+            t1.insert().values(upddef=1).return_defaults(t1.c.insdef)
+        )
         eq_(
             [result.returned_defaults[k] for k in (t1.c.id, t1.c.insdef)],
             [1, 0]
@@ -227,8 +257,8 @@ class ReturnDefaultsTest(fixtures.TablesTest):
     def test_arg_insert_pk(self):
         t1 = self.tables.t1
         result = testing.db.execute(
-                        t1.insert(return_defaults=[t1.c.insdef]).values(upddef=1)
-                    )
+            t1.insert(return_defaults=[t1.c.insdef]).values(upddef=1)
+        )
         eq_(
             [result.returned_defaults[k] for k in (t1.c.id, t1.c.insdef)],
             [1, 0]
@@ -237,10 +267,10 @@ class ReturnDefaultsTest(fixtures.TablesTest):
     def test_chained_update_pk(self):
         t1 = self.tables.t1
         testing.db.execute(
-                        t1.insert().values(upddef=1)
-                    )
+            t1.insert().values(upddef=1)
+        )
         result = testing.db.execute(t1.update().values(data='d1').
-                            return_defaults(t1.c.upddef))
+                                    return_defaults(t1.c.upddef))
         eq_(
             [result.returned_defaults[k] for k in (t1.c.upddef,)],
             [1]
@@ -249,10 +279,10 @@ class ReturnDefaultsTest(fixtures.TablesTest):
     def test_arg_update_pk(self):
         t1 = self.tables.t1
         testing.db.execute(
-                        t1.insert().values(upddef=1)
-                    )
+            t1.insert().values(upddef=1)
+        )
         result = testing.db.execute(t1.update(return_defaults=[t1.c.upddef]).
-                            values(data='d1'))
+                                    values(data='d1'))
         eq_(
             [result.returned_defaults[k] for k in (t1.c.upddef,)],
             [1]
@@ -264,8 +294,8 @@ class ReturnDefaultsTest(fixtures.TablesTest):
 
         t1 = self.tables.t1
         result = testing.db.execute(
-                        t1.insert().values(upddef=1).return_defaults(t1.c.data)
-                    )
+            t1.insert().values(upddef=1).return_defaults(t1.c.data)
+        )
         eq_(
             [result.returned_defaults[k] for k in (t1.c.id, t1.c.data,)],
             [1, None]
@@ -277,10 +307,12 @@ class ReturnDefaultsTest(fixtures.TablesTest):
 
         t1 = self.tables.t1
         testing.db.execute(
-                        t1.insert().values(upddef=1)
-                    )
-        result = testing.db.execute(t1.update().
-                            values(upddef=2).return_defaults(t1.c.data))
+            t1.insert().values(upddef=1)
+        )
+        result = testing.db.execute(
+            t1.update(). values(
+                upddef=2).return_defaults(
+                t1.c.data))
         eq_(
             [result.returned_defaults[k] for k in (t1.c.data,)],
             [None]
@@ -290,9 +322,9 @@ class ReturnDefaultsTest(fixtures.TablesTest):
     def test_insert_non_default_plus_default(self):
         t1 = self.tables.t1
         result = testing.db.execute(
-                        t1.insert().values(upddef=1).return_defaults(
-                                                    t1.c.data, t1.c.insdef)
-                    )
+            t1.insert().values(upddef=1).return_defaults(
+                t1.c.data, t1.c.insdef)
+        )
         eq_(
             dict(result.returned_defaults),
             {"id": 1, "data": None, "insdef": 0}
@@ -302,33 +334,35 @@ class ReturnDefaultsTest(fixtures.TablesTest):
     def test_update_non_default_plus_default(self):
         t1 = self.tables.t1
         testing.db.execute(
-                        t1.insert().values(upddef=1)
-                    )
+            t1.insert().values(upddef=1)
+        )
         result = testing.db.execute(t1.update().
-                            values(insdef=2).return_defaults(
-                                                t1.c.data, t1.c.upddef))
+                                    values(insdef=2).return_defaults(
+            t1.c.data, t1.c.upddef))
         eq_(
             dict(result.returned_defaults),
             {"data": None, 'upddef': 1}
         )
 
+
 class ImplicitReturningFlag(fixtures.TestBase):
     __backend__ = True
 
     def test_flag_turned_off(self):
-        e = engines.testing_engine(options={'implicit_returning':False})
+        e = engines.testing_engine(options={'implicit_returning': False})
         assert e.dialect.implicit_returning is False
         c = e.connect()
         assert e.dialect.implicit_returning is False
 
     def test_flag_turned_on(self):
-        e = engines.testing_engine(options={'implicit_returning':True})
+        e = engines.testing_engine(options={'implicit_returning': True})
         assert e.dialect.implicit_returning is True
         c = e.connect()
         assert e.dialect.implicit_returning is True
 
     def test_flag_turned_default(self):
         supports = [False]
+
         def go():
             supports[0] = True
         testing.requires.returning(go)()
index 2d3c51fa2bf41852ddbaf2f6349b71b438970589..8913b955d1a0d9ff4032b5e878e9888682ea3a62 100644 (file)
@@ -4,6 +4,7 @@ from sqlalchemy import testing
 
 
 class FoundRowsTest(fixtures.TestBase, AssertsExecutionResults):
+
     """tests rowcount functionality"""
 
     __requires__ = ('sane_rowcount', )
@@ -14,29 +15,29 @@ class FoundRowsTest(fixtures.TestBase, AssertsExecutionResults):
         global employees_table, metadata
         metadata = MetaData(testing.db)
 
-        employees_table = Table('employees', metadata,
-            Column('employee_id', Integer,
-                        Sequence('employee_id_seq', optional=True),
-                        primary_key=True),
-            Column('name', String(50)),
-            Column('department', String(1)),
-        )
+        employees_table = Table(
+            'employees', metadata, Column(
+                'employee_id', Integer, Sequence(
+                    'employee_id_seq', optional=True), primary_key=True), Column(
+                'name', String(50)), Column(
+                    'department', String(1)), )
         metadata.create_all()
 
     def setup(self):
         global data
-        data = [ ('Angela', 'A'),
-                 ('Andrew', 'A'),
-                 ('Anand', 'A'),
-                 ('Bob', 'B'),
-                 ('Bobette', 'B'),
-                 ('Buffy', 'B'),
-                 ('Charlie', 'C'),
-                 ('Cynthia', 'C'),
-                 ('Chris', 'C') ]
+        data = [('Angela', 'A'),
+                ('Andrew', 'A'),
+                ('Anand', 'A'),
+                ('Bob', 'B'),
+                ('Bobette', 'B'),
+                ('Buffy', 'B'),
+                ('Charlie', 'C'),
+                ('Cynthia', 'C'),
+                ('Chris', 'C')]
 
         i = employees_table.insert()
-        i.execute(*[{'name':n, 'department':d} for n, d in data])
+        i.execute(*[{'name': n, 'department': d} for n, d in data])
+
     def teardown(self):
         employees_table.delete().execute()
 
@@ -53,21 +54,20 @@ class FoundRowsTest(fixtures.TestBase, AssertsExecutionResults):
     def test_update_rowcount1(self):
         # WHERE matches 3, 3 rows changed
         department = employees_table.c.department
-        r = employees_table.update(department=='C').execute(department='Z')
+        r = employees_table.update(department == 'C').execute(department='Z')
         print("expecting 3, dialect reports %s" % r.rowcount)
         assert r.rowcount == 3
 
     def test_update_rowcount2(self):
         # WHERE matches 3, 0 rows changed
         department = employees_table.c.department
-        r = employees_table.update(department=='C').execute(department='C')
+        r = employees_table.update(department == 'C').execute(department='C')
         print("expecting 3, dialect reports %s" % r.rowcount)
         assert r.rowcount == 3
 
     def test_delete_rowcount(self):
         # WHERE matches 3, 3 rows deleted
         department = employees_table.c.department
-        r = employees_table.delete(department=='C').execute()
+        r = employees_table.delete(department == 'C').execute()
         print("expecting 3, dialect reports %s" % r.rowcount)
         assert r.rowcount == 3
-
index 3ee8127b624f8cd87b3d46f6a75010c52de93126..c5736b26f4a6a580e5f8719d52f8bad81cc30749 100644 (file)
@@ -14,27 +14,31 @@ from sqlalchemy.schema import Column, Table, MetaData
 
 metadata = MetaData()
 table1 = Table('table1', metadata,
-    Column('col1', Integer, primary_key=True),
-    Column('col2', String(20)),
-    Column('col3', Integer),
-    Column('colx', Integer),
+               Column('col1', Integer, primary_key=True),
+               Column('col2', String(20)),
+               Column('col3', Integer),
+               Column('colx', Integer),
 
-)
+               )
 
 table2 = Table('table2', metadata,
-    Column('col1', Integer, primary_key=True),
-    Column('col2', Integer, ForeignKey('table1.col1')),
-    Column('col3', String(20)),
-    Column('coly', Integer),
-)
+               Column('col1', Integer, primary_key=True),
+               Column('col2', Integer, ForeignKey('table1.col1')),
+               Column('col3', String(20)),
+               Column('coly', Integer),
+               )
 
 keyed = Table('keyed', metadata,
-    Column('x', Integer, key='colx'),
-    Column('y', Integer, key='coly'),
-    Column('z', Integer),
-)
+              Column('x', Integer, key='colx'),
+              Column('y', Integer, key='coly'),
+              Column('z', Integer),
+              )
 
-class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL):
+
+class SelectableTest(
+        fixtures.TestBase,
+        AssertsExecutionResults,
+        AssertsCompiledSQL):
     __dialect__ = 'default'
 
     def test_indirect_correspondence_on_labels(self):
@@ -44,7 +48,7 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         # same column three times
 
         s = select([table1.c.col1.label('c2'), table1.c.col1,
-                   table1.c.col1.label('c1')])
+                    table1.c.col1.label('c1')])
 
         # this tests the same thing as
         # test_direct_correspondence_on_labels below -
@@ -149,7 +153,6 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         s = select([t])._clone()
         assert c in s.c.bar.proxy_set
 
-
     def test_no_error_on_unsupported_expr_key(self):
         from sqlalchemy.dialects.postgresql import ARRAY
 
@@ -203,7 +206,6 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
             set([s3c1])
         )
 
-
     def test_distance_on_aliases(self):
         a1 = table1.alias('a1')
         for s in (select([a1, table1], use_labels=True),
@@ -241,7 +243,7 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         tojoin = select([
             literal_column('1').label('a'),
             literal_column('2').label('b')
-            ])
+        ])
         basefrom = basesel.alias('basefrom')
         joinfrom = tojoin.alias('joinfrom')
         sel = select([basefrom.c.a])
@@ -298,13 +300,13 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
 
         assert sel.corresponding_column(table1.c.col1) \
             is sel.c.table1_col1
-        assert sel.corresponding_column(table1.c.col1,
-                require_embedded=True) is sel.c.table1_col1
+        assert sel.corresponding_column(
+            table1.c.col1,
+            require_embedded=True) is sel.c.table1_col1
         assert table1.corresponding_column(sel.c.table1_col1) \
             is table1.c.col1
         assert table1.corresponding_column(sel.c.table1_col1,
-                require_embedded=True) is None
-
+                                           require_embedded=True) is None
 
     def test_join_against_join(self):
         j = outerjoin(table1, table2, table1.c.col1 == table2.c.col2)
@@ -332,11 +334,15 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         # with a certain Table, against a column in a Union where one of
         # its underlying Selects matches to that same Table
 
-        u = select([table1.c.col1, table1.c.col2, table1.c.col3,
-                   table1.c.colx, null().label('coly'
-                   )]).union(select([table2.c.col1, table2.c.col2,
-                             table2.c.col3, null().label('colx'),
-                             table2.c.coly]))
+        u = select([table1.c.col1,
+                    table1.c.col2,
+                    table1.c.col3,
+                    table1.c.colx,
+                    null().label('coly')]).union(select([table2.c.col1,
+                                                         table2.c.col2,
+                                                         table2.c.col3,
+                                                         null().label('colx'),
+                                                         table2.c.coly]))
         s1 = table1.select(use_labels=True)
         s2 = table2.select(use_labels=True)
 
@@ -362,11 +368,9 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         assert u1.corresponding_column(table1.c.colx) is u1.c.col2
         assert u1.corresponding_column(table1.c.col3) is u1.c.col1
 
-
     def test_singular_union(self):
-        u = union(select([table1.c.col1, table1.c.col2,
-                  table1.c.col3]), select([table1.c.col1,
-                  table1.c.col2, table1.c.col3]))
+        u = union(select([table1.c.col1, table1.c.col2, table1.c.col3]), select(
+            [table1.c.col1, table1.c.col2, table1.c.col3]))
         u = union(select([table1.c.col1, table1.c.col2, table1.c.col3]))
         assert u.c.col1 is not None
         assert u.c.col2 is not None
@@ -376,11 +380,15 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
 
         # same as testunion, except its an alias of the union
 
-        u = select([table1.c.col1, table1.c.col2, table1.c.col3,
-                   table1.c.colx, null().label('coly'
-                   )]).union(select([table2.c.col1, table2.c.col2,
-                             table2.c.col3, null().label('colx'),
-                             table2.c.coly])).alias('analias')
+        u = select([table1.c.col1,
+                    table1.c.col2,
+                    table1.c.col3,
+                    table1.c.colx,
+                    null().label('coly')]).union(select([table2.c.col1,
+                                                         table2.c.col2,
+                                                         table2.c.col3,
+                                                         null().label('colx'),
+                                                         table2.c.coly])).alias('analias')
         s1 = table1.select(use_labels=True)
         s2 = table2.select(use_labels=True)
         assert u.corresponding_column(s1.c.table1_col2) is u.c.col2
@@ -403,7 +411,7 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
     def test_union_of_text(self):
         s1 = select([table1.c.col1, table1.c.col2])
         s2 = text("select col1, col2 from foo").columns(
-                            column('col1'), column('col2'))
+            column('col1'), column('col2'))
 
         u1 = union(s1, s2)
         assert u1.corresponding_column(s1.c.col1) is u1.c.col1
@@ -419,7 +427,8 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         s2 = select([table2.c.col1, table2.c.col2, table2.c.col3])
         u1 = union(s1, s2)
 
-        assert u1.corresponding_column(s1.c._all_columns[0]) is u1.c._all_columns[0]
+        assert u1.corresponding_column(
+            s1.c._all_columns[0]) is u1.c._all_columns[0]
         assert u1.corresponding_column(s2.c.col1) is u1.c._all_columns[0]
         assert u1.corresponding_column(s1.c.col2) is u1.c.col2
         assert u1.corresponding_column(s2.c.col2) is u1.c.col2
@@ -435,7 +444,8 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         s2 = select([table2.c.col1, table2.c.col2, table2.c.col3])
         u1 = union(s1, s2)
 
-        assert u1.corresponding_column(s1.c._all_columns[0]) is u1.c._all_columns[0]
+        assert u1.corresponding_column(
+            s1.c._all_columns[0]) is u1.c._all_columns[0]
         assert u1.corresponding_column(s2.c.col1) is u1.c._all_columns[0]
         assert u1.corresponding_column(s1.c.col2) is u1.c.col2
         assert u1.corresponding_column(s2.c.col2) is u1.c.col2
@@ -447,16 +457,19 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         assert u1.corresponding_column(table2.c.col1) is u1.c._all_columns[0]
         assert u1.corresponding_column(table2.c.col3) is u1.c._all_columns[2]
 
-
     def test_select_union(self):
 
         # like testaliasunion, but off a Select off the union.
 
-        u = select([table1.c.col1, table1.c.col2, table1.c.col3,
-                   table1.c.colx, null().label('coly'
-                   )]).union(select([table2.c.col1, table2.c.col2,
-                             table2.c.col3, null().label('colx'),
-                             table2.c.coly])).alias('analias')
+        u = select([table1.c.col1,
+                    table1.c.col2,
+                    table1.c.col3,
+                    table1.c.colx,
+                    null().label('coly')]).union(select([table2.c.col1,
+                                                         table2.c.col2,
+                                                         table2.c.col3,
+                                                         null().label('colx'),
+                                                         table2.c.coly])).alias('analias')
         s = select([u])
         s1 = table1.select(use_labels=True)
         s2 = table2.select(use_labels=True)
@@ -467,11 +480,15 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
 
         # same as testunion, except its an alias of the union
 
-        u = select([table1.c.col1, table1.c.col2, table1.c.col3,
-                   table1.c.colx, null().label('coly'
-                   )]).union(select([table2.c.col1, table2.c.col2,
-                             table2.c.col3, null().label('colx'),
-                             table2.c.coly])).alias('analias')
+        u = select([table1.c.col1,
+                    table1.c.col2,
+                    table1.c.col3,
+                    table1.c.colx,
+                    null().label('coly')]).union(select([table2.c.col1,
+                                                         table2.c.col2,
+                                                         table2.c.col3,
+                                                         null().label('colx'),
+                                                         table2.c.coly])).alias('analias')
         j1 = table1.join(table2)
         assert u.corresponding_column(j1.c.table1_colx) is u.c.colx
         assert j1.corresponding_column(u.c.colx) is j1.c.table1_colx
@@ -510,8 +527,8 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
 
     def test_column_labels(self):
         a = select([table1.c.col1.label('acol1'),
-                   table1.c.col2.label('acol2'),
-                   table1.c.col3.label('acol3')])
+                    table1.c.col2.label('acol2'),
+                    table1.c.col3.label('acol3')])
         j = join(a, table2)
         criterion = a.c.acol1 == table2.c.col2
         self.assert_(criterion.compare(j.onclause))
@@ -535,7 +552,7 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
     def test_table_joined_to_select_of_table(self):
         metadata = MetaData()
         a = Table('a', metadata,
-            Column('id', Integer, primary_key=True))
+                  Column('id', Integer, primary_key=True))
 
         j2 = select([a.c.id.label('aid')]).alias('bar')
 
@@ -627,9 +644,9 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         eq_(c2._from_objects, [t])
 
         self.assert_compile(select([c1]),
-                    "SELECT t.c1 FROM t")
+                            "SELECT t.c1 FROM t")
         self.assert_compile(select([c2]),
-                    "SELECT t.c2 FROM t")
+                            "SELECT t.c2 FROM t")
 
     def test_from_list_deferred_whereclause(self):
         c1 = Column('c1', Integer)
@@ -643,9 +660,9 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         eq_(c2._from_objects, [t])
 
         self.assert_compile(select([c1]),
-                    "SELECT t.c1 FROM t")
+                            "SELECT t.c1 FROM t")
         self.assert_compile(select([c2]),
-                    "SELECT t.c2 FROM t")
+                            "SELECT t.c2 FROM t")
 
     def test_from_list_deferred_fromlist(self):
         m = MetaData()
@@ -659,7 +676,7 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         eq_(c1._from_objects, [t2])
 
         self.assert_compile(select([c1]),
-                    "SELECT t2.c1 FROM t2")
+                            "SELECT t2.c1 FROM t2")
 
     def test_from_list_deferred_cloning(self):
         c1 = Column('c1', Integer)
@@ -681,21 +698,21 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
         table2 = table('t2', column('b'))
         s1 = select([table1.c.a, table2.c.b])
         self.assert_compile(s1,
-                "SELECT t1.a, t2.b FROM t1, t2"
-            )
+                            "SELECT t1.a, t2.b FROM t1, t2"
+                            )
         s2 = s1.with_only_columns([table2.c.b])
         self.assert_compile(s2,
-                "SELECT t2.b FROM t2"
-            )
+                            "SELECT t2.b FROM t2"
+                            )
 
         s3 = sql_util.ClauseAdapter(table1).traverse(s1)
         self.assert_compile(s3,
-            "SELECT t1.a, t2.b FROM t1, t2"
-        )
+                            "SELECT t1.a, t2.b FROM t1, t2"
+                            )
         s4 = s3.with_only_columns([table2.c.b])
         self.assert_compile(s4,
-            "SELECT t2.b FROM t2"
-        )
+                            "SELECT t2.b FROM t2"
+                            )
 
     def test_from_list_warning_against_existing(self):
         c1 = Column('c1', Integer)
@@ -746,6 +763,7 @@ class SelectableTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiled
 
 
 class RefreshForNewColTest(fixtures.TestBase):
+
     def test_join_uninit(self):
         a = table('a', column('x'))
         b = table('b', column('y'))
@@ -766,7 +784,6 @@ class RefreshForNewColTest(fixtures.TestBase):
         j._refresh_for_new_column(q)
         assert j.c.b_q is q
 
-
     def test_join_samename_init(self):
         a = table('a', column('x'))
         b = table('b', column('y'))
@@ -845,11 +862,12 @@ class RefreshForNewColTest(fixtures.TestBase):
         q = column('q')
         a.append_column(q)
         assert_raises_message(
-                NotImplementedError,
-                "CompoundSelect constructs don't support addition of "
-                "columns to underlying selectables",
-                s3._refresh_for_new_column, q
+            NotImplementedError,
+            "CompoundSelect constructs don't support addition of "
+            "columns to underlying selectables",
+            s3._refresh_for_new_column, q
         )
+
     def test_nested_join_uninit(self):
         a = table('a', column('x'))
         b = table('b', column('y'))
@@ -873,7 +891,9 @@ class RefreshForNewColTest(fixtures.TestBase):
         j._refresh_for_new_column(q)
         assert j.c.b_q is q
 
+
 class AnonLabelTest(fixtures.TestBase):
+
     """Test behaviors fixed by [ticket:2168]."""
 
     def test_anon_labels_named_column(self):
@@ -904,6 +924,7 @@ class AnonLabelTest(fixtures.TestBase):
         c1 = literal_column('x')
         eq_(str(select([c1.label('y')])), "SELECT x AS y")
 
+
 class JoinAliasingTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -977,6 +998,7 @@ class JoinAliasingTest(fixtures.TestBase, AssertsCompiledSQL):
             "JOIN (c JOIN d ON c.c = d.d) ON b.b = c.c) AS anon_1"
         )
 
+
 class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -984,18 +1006,18 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
         m = MetaData()
         t1 = Table('t1', m, Column('id', Integer))
         t2 = Table('t2', m,
-                    Column('id', Integer),
-                    Column('t1id', ForeignKey('t1.id')))
+                   Column('id', Integer),
+                   Column('t1id', ForeignKey('t1.id')))
         t3 = Table('t3', m,
-                    Column('id', Integer),
-                    Column('t1id', ForeignKey('t1.id')),
-                    Column('t2id', ForeignKey('t2.id')))
+                   Column('id', Integer),
+                   Column('t1id', ForeignKey('t1.id')),
+                   Column('t2id', ForeignKey('t2.id')))
         t4 = Table('t4', m, Column('id', Integer),
-                    Column('t2id', ForeignKey('t2.id')))
+                   Column('t2id', ForeignKey('t2.id')))
         t5 = Table('t5', m,
-                    Column('t1id1', ForeignKey('t1.id')),
-                    Column('t1id2', ForeignKey('t1.id')),
-            )
+                   Column('t1id1', ForeignKey('t1.id')),
+                   Column('t1id2', ForeignKey('t1.id')),
+                   )
 
         t1t2 = t1.join(t2)
         t2t3 = t2.join(t3)
@@ -1009,10 +1031,12 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
             (t2t3.join(t1), t4, None, t2t3.c.t2_id == t4.c.t2id),
             (t2t3.join(t1), t4, t1, t2t3.c.t2_id == t4.c.t2id),
             (t1t2, t2t3, t2, t1t2.c.t2_id == t2t3.c.t3_t2id),
-            ]:
-            assert expected.compare(sql_util.join_condition(left,
-                                    right, a_subset=a_subset))
-
+        ]:
+            assert expected.compare(
+                sql_util.join_condition(
+                    left,
+                    right,
+                    a_subset=a_subset))
 
         # these are ambiguous, or have no joins
         for left, right, a_subset in [
@@ -1048,28 +1072,32 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
         # these are right-nested joins
         j = t1t2.join(t2t3)
         assert j.onclause.compare(t2.c.id == t3.c.t2id)
-        self.assert_compile(j,
-                "t1 JOIN t2 ON t1.id = t2.t1id JOIN "
-                "(t2 JOIN t3 ON t2.id = t3.t2id) ON t2.id = t3.t2id")
+        self.assert_compile(
+            j, "t1 JOIN t2 ON t1.id = t2.t1id JOIN "
+            "(t2 JOIN t3 ON t2.id = t3.t2id) ON t2.id = t3.t2id")
 
         st2t3 = t2t3.select(use_labels=True)
         j = t1t2.join(st2t3)
         assert j.onclause.compare(t2.c.id == st2t3.c.t3_t2id)
-        self.assert_compile(j,
-                "t1 JOIN t2 ON t1.id = t2.t1id JOIN "
-                "(SELECT t2.id AS t2_id, t2.t1id AS t2_t1id, "
-                "t3.id AS t3_id, t3.t1id AS t3_t1id, t3.t2id AS t3_t2id "
-                "FROM t2 JOIN t3 ON t2.id = t3.t2id) ON t2.id = t3_t2id")
-
+        self.assert_compile(
+            j, "t1 JOIN t2 ON t1.id = t2.t1id JOIN "
+            "(SELECT t2.id AS t2_id, t2.t1id AS t2_t1id, "
+            "t3.id AS t3_id, t3.t1id AS t3_t1id, t3.t2id AS t3_t2id "
+            "FROM t2 JOIN t3 ON t2.id = t3.t2id) ON t2.id = t3_t2id")
 
     def test_join_multiple_equiv_fks(self):
         m = MetaData()
         t1 = Table('t1', m,
-                Column('id', Integer, primary_key=True)
-            )
-        t2 = Table('t2', m,
-                Column('t1id', Integer, ForeignKey('t1.id'), ForeignKey('t1.id'))
-                )
+                   Column('id', Integer, primary_key=True)
+                   )
+        t2 = Table(
+            't2',
+            m,
+            Column(
+                't1id',
+                Integer,
+                ForeignKey('t1.id'),
+                ForeignKey('t1.id')))
 
         assert sql_util.join_condition(t1, t2).compare(t1.c.id == t2.c.t1id)
 
@@ -1079,10 +1107,10 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
         # try to get coverage to get the "continue" statements
         # in the loop...
         t1 = Table('t1', m,
-                            Column('y', Integer, ForeignKey('t22.id')),
-                            Column('x', Integer, ForeignKey('t2.id')),
-                            Column('q', Integer, ForeignKey('t22.id')),
-                            )
+                   Column('y', Integer, ForeignKey('t22.id')),
+                   Column('x', Integer, ForeignKey('t2.id')),
+                   Column('q', Integer, ForeignKey('t22.id')),
+                   )
         t2 = Table('t2', m, Column('id', Integer))
         assert sql_util.join_condition(t1, t2).compare(t1.c.x == t2.c.id)
         assert sql_util.join_condition(t2, t1).compare(t1.c.x == t2.c.id)
@@ -1090,7 +1118,7 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
     def test_join_cond_no_such_unrelated_column(self):
         m = MetaData()
         t1 = Table('t1', m, Column('x', Integer, ForeignKey('t2.id')),
-                            Column('y', Integer, ForeignKey('t3.q')))
+                   Column('y', Integer, ForeignKey('t3.q')))
         t2 = Table('t2', m, Column('id', Integer))
         Table('t3', m, Column('id', Integer))
         assert sql_util.join_condition(t1, t2).compare(t1.c.x == t2.c.id)
@@ -1125,7 +1153,7 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
             exc.NoReferencedColumnError,
             "Could not initialize target column for "
             "ForeignKey 't2.q' on table 't1': "
-                "table 't2' has no column named 'q'",
+            "table 't2' has no column named 'q'",
             sql_util.join_condition, t1, t2
         )
 
@@ -1133,10 +1161,11 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL):
             exc.NoReferencedColumnError,
             "Could not initialize target column for "
             "ForeignKey 't2.q' on table 't1': "
-                "table 't2' has no column named 'q'",
+            "table 't2' has no column named 'q'",
             sql_util.join_condition, t2, t1
         )
 
+
 class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults):
 
     def test_join_pk_collapse_implicit(self):
@@ -1147,11 +1176,11 @@ class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults):
         meta = MetaData()
         a = Table('a', meta, Column('id', Integer, primary_key=True))
         b = Table('b', meta, Column('id', Integer, ForeignKey('a.id'),
-                  primary_key=True))
+                                    primary_key=True))
         c = Table('c', meta, Column('id', Integer, ForeignKey('b.id'),
-                  primary_key=True))
+                                    primary_key=True))
         d = Table('d', meta, Column('id', Integer, ForeignKey('c.id'),
-                  primary_key=True))
+                                    primary_key=True))
         assert c.c.id.references(b.c.id)
         assert not d.c.id.references(a.c.id)
         assert list(a.join(b).primary_key) == [a.c.id]
@@ -1161,7 +1190,6 @@ class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults):
         assert list(d.join(c).join(b).primary_key) == [b.c.id]
         assert list(a.join(b).join(c).join(d).primary_key) == [a.c.id]
 
-
     def test_join_pk_collapse_explicit(self):
         """test that redundant columns in a join get 'collapsed' into a
         minimal primary key, which is the root column along a chain of
@@ -1171,11 +1199,11 @@ class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults):
         a = Table('a', meta, Column('id', Integer, primary_key=True),
                   Column('x', Integer))
         b = Table('b', meta, Column('id', Integer, ForeignKey('a.id'),
-                  primary_key=True), Column('x', Integer))
+                                    primary_key=True), Column('x', Integer))
         c = Table('c', meta, Column('id', Integer, ForeignKey('b.id'),
-                  primary_key=True), Column('x', Integer))
+                                    primary_key=True), Column('x', Integer))
         d = Table('d', meta, Column('id', Integer, ForeignKey('c.id'),
-                  primary_key=True), Column('x', Integer))
+                                    primary_key=True), Column('x', Integer))
         print(list(a.join(b, a.c.x == b.c.id).primary_key))
         assert list(a.join(b, a.c.x == b.c.id).primary_key) == [a.c.id]
         assert list(b.join(c, b.c.x == c.c.id).primary_key) == [b.c.id]
@@ -1185,21 +1213,26 @@ class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults):
             == [b.c.id]
         assert list(b.join(c, c.c.id == b.c.x).join(d).primary_key) \
             == [b.c.id]
-        assert list(d.join(b, d.c.id == b.c.id).join(c, b.c.id
-                    == c.c.x).primary_key) == [b.c.id]
+        assert list(
+            d.join(
+                b,
+                d.c.id == b.c.id).join(
+                c,
+                b.c.id == c.c.x).primary_key) == [
+            b.c.id]
         assert list(a.join(b).join(c, c.c.id
-                    == b.c.x).join(d).primary_key) == [a.c.id]
+                                   == b.c.x).join(d).primary_key) == [a.c.id]
         assert list(a.join(b, and_(a.c.id == b.c.id, a.c.x
-                    == b.c.id)).primary_key) == [a.c.id]
+                                   == b.c.id)).primary_key) == [a.c.id]
 
     def test_init_doesnt_blowitaway(self):
         meta = MetaData()
         a = Table('a', meta,
-                Column('id', Integer, primary_key=True),
-                Column('x', Integer))
+                  Column('id', Integer, primary_key=True),
+                  Column('x', Integer))
         b = Table('b', meta,
-                Column('id', Integer, ForeignKey('a.id'), primary_key=True),
-                Column('x', Integer))
+                  Column('id', Integer, ForeignKey('a.id'), primary_key=True),
+                  Column('x', Integer))
 
         j = a.join(b)
         assert list(j.primary_key) == [a.c.id]
@@ -1210,11 +1243,11 @@ class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults):
     def test_non_column_clause(self):
         meta = MetaData()
         a = Table('a', meta,
-                Column('id', Integer, primary_key=True),
-                Column('x', Integer))
+                  Column('id', Integer, primary_key=True),
+                  Column('x', Integer))
         b = Table('b', meta,
-                Column('id', Integer, ForeignKey('a.id'), primary_key=True),
-                Column('x', Integer, primary_key=True))
+                  Column('id', Integer, ForeignKey('a.id'), primary_key=True),
+                  Column('x', Integer, primary_key=True))
 
         j = a.join(b, and_(a.c.id == b.c.id, b.c.x == 5))
         assert str(j) == "a JOIN b ON a.id = b.id AND b.x = :x_1", str(j)
@@ -1224,35 +1257,51 @@ class PrimaryKeyTest(fixtures.TestBase, AssertsExecutionResults):
         metadata = MetaData()
 
         employee = Table('Employee', metadata,
-            Column('name', String(100)),
-            Column('id', Integer, primary_key=True),
-        )
+                         Column('name', String(100)),
+                         Column('id', Integer, primary_key=True),
+                         )
 
         engineer = Table('Engineer', metadata,
-            Column('id', Integer,
-                         ForeignKey('Employee.id'), primary_key=True))
-
+                         Column('id', Integer,
+                                ForeignKey('Employee.id'), primary_key=True))
 
         eq_(util.column_set(employee.join(engineer, employee.c.id
-            == engineer.c.id).primary_key),
+                                          == engineer.c.id).primary_key),
             util.column_set([employee.c.id]))
         eq_(util.column_set(employee.join(engineer, engineer.c.id
-            == employee.c.id).primary_key),
+                                          == employee.c.id).primary_key),
             util.column_set([employee.c.id]))
 
 
 class ReduceTest(fixtures.TestBase, AssertsExecutionResults):
+
     def test_reduce(self):
         meta = MetaData()
         t1 = Table('t1', meta,
-            Column('t1id', Integer, primary_key=True),
-            Column('t1data', String(30)))
-        t2 = Table('t2', meta,
-            Column('t2id', Integer, ForeignKey('t1.t1id'), primary_key=True),
-            Column('t2data', String(30)))
-        t3 = Table('t3', meta,
-            Column('t3id', Integer, ForeignKey('t2.t2id'), primary_key=True),
-            Column('t3data', String(30)))
+                   Column('t1id', Integer, primary_key=True),
+                   Column('t1data', String(30)))
+        t2 = Table(
+            't2',
+            meta,
+            Column(
+                't2id',
+                Integer,
+                ForeignKey('t1.t1id'),
+                primary_key=True),
+            Column(
+                't2data',
+                String(30)))
+        t3 = Table(
+            't3',
+            meta,
+            Column(
+                't3id',
+                Integer,
+                ForeignKey('t2.t2id'),
+                primary_key=True),
+            Column(
+                't3data',
+                String(30)))
 
         eq_(util.column_set(sql_util.reduce_columns([
             t1.c.t1id,
@@ -1261,31 +1310,30 @@ class ReduceTest(fixtures.TestBase, AssertsExecutionResults):
             t2.c.t2data,
             t3.c.t3id,
             t3.c.t3data,
-            ])), util.column_set([t1.c.t1id, t1.c.t1data, t2.c.t2data,
-                                 t3.c.t3data]))
-
+        ])), util.column_set([t1.c.t1id, t1.c.t1data, t2.c.t2data,
+                              t3.c.t3data]))
 
     def test_reduce_selectable(self):
         metadata = MetaData()
         engineers = Table('engineers', metadata,
-                        Column('engineer_id', Integer, primary_key=True),
+                          Column('engineer_id', Integer, primary_key=True),
                           Column('engineer_name', String(50)))
         managers = Table('managers', metadata,
-                        Column('manager_id', Integer, primary_key=True),
+                         Column('manager_id', Integer, primary_key=True),
                          Column('manager_name', String(50)))
         s = select([engineers,
-                   managers]).where(engineers.c.engineer_name
-                                    == managers.c.manager_name)
+                    managers]).where(engineers.c.engineer_name
+                                     == managers.c.manager_name)
         eq_(util.column_set(sql_util.reduce_columns(list(s.c), s)),
             util.column_set([s.c.engineer_id, s.c.engineer_name,
-            s.c.manager_id]))
+                             s.c.manager_id]))
 
     def test_reduce_generation(self):
         m = MetaData()
         t1 = Table('t1', m, Column('x', Integer, primary_key=True),
-                                        Column('y', Integer))
+                   Column('y', Integer))
         t2 = Table('t2', m, Column('z', Integer, ForeignKey('t1.x')),
-                                        Column('q', Integer))
+                   Column('q', Integer))
         s1 = select([t1, t2])
         s2 = s1.reduce_columns(only_synonyms=False)
         eq_(
@@ -1299,13 +1347,12 @@ class ReduceTest(fixtures.TestBase, AssertsExecutionResults):
             set([t1.c.x, t1.c.y, t2.c.z, t2.c.q])
         )
 
-
     def test_reduce_only_synonym_fk(self):
         m = MetaData()
         t1 = Table('t1', m, Column('x', Integer, primary_key=True),
-                                        Column('y', Integer))
+                   Column('y', Integer))
         t2 = Table('t2', m, Column('x', Integer, ForeignKey('t1.x')),
-                                        Column('q', Integer, ForeignKey('t1.y')))
+                   Column('q', Integer, ForeignKey('t1.y')))
         s1 = select([t1, t2])
         s1 = s1.reduce_columns(only_synonyms=True)
         eq_(
@@ -1316,89 +1363,107 @@ class ReduceTest(fixtures.TestBase, AssertsExecutionResults):
     def test_reduce_only_synonym_lineage(self):
         m = MetaData()
         t1 = Table('t1', m, Column('x', Integer, primary_key=True),
-                                        Column('y', Integer),
-                                        Column('z', Integer)
-                            )
+                   Column('y', Integer),
+                   Column('z', Integer)
+                   )
         # test that the first appearance in the columns clause
         # wins - t1 is first, t1.c.x wins
         s1 = select([t1])
         s2 = select([t1, s1]).where(t1.c.x == s1.c.x).where(s1.c.y == t1.c.z)
         eq_(
-                set(s2.reduce_columns().inner_columns),
-                set([t1.c.x, t1.c.y, t1.c.z, s1.c.y, s1.c.z])
+            set(s2.reduce_columns().inner_columns),
+            set([t1.c.x, t1.c.y, t1.c.z, s1.c.y, s1.c.z])
         )
 
         # reverse order, s1.c.x wins
         s1 = select([t1])
         s2 = select([s1, t1]).where(t1.c.x == s1.c.x).where(s1.c.y == t1.c.z)
         eq_(
-                set(s2.reduce_columns().inner_columns),
-                set([s1.c.x, t1.c.y, t1.c.z, s1.c.y, s1.c.z])
+            set(s2.reduce_columns().inner_columns),
+            set([s1.c.x, t1.c.y, t1.c.z, s1.c.y, s1.c.z])
         )
 
     def test_reduce_aliased_join(self):
         metadata = MetaData()
-        people = Table('people', metadata, Column('person_id', Integer,
-                       Sequence('person_id_seq', optional=True),
-                       primary_key=True), Column('name', String(50)),
-                       Column('type', String(30)))
+        people = Table(
+            'people', metadata, Column(
+                'person_id', Integer, Sequence(
+                    'person_id_seq', optional=True), primary_key=True), Column(
+                'name', String(50)), Column(
+                    'type', String(30)))
         engineers = Table(
             'engineers',
             metadata,
             Column('person_id', Integer, ForeignKey('people.person_id'
-                   ), primary_key=True),
+                                                    ), primary_key=True),
             Column('status', String(30)),
             Column('engineer_name', String(50)),
             Column('primary_language', String(50)),
-            )
-        managers = Table('managers', metadata, Column('person_id',
-                         Integer, ForeignKey('people.person_id'),
-                         primary_key=True), Column('status',
-                         String(30)), Column('manager_name',
-                         String(50)))
+        )
+        managers = Table(
+            'managers', metadata, Column(
+                'person_id', Integer, ForeignKey('people.person_id'), primary_key=True), Column(
+                'status', String(30)), Column(
+                'manager_name', String(50)))
         pjoin = \
             people.outerjoin(engineers).outerjoin(managers).\
             select(use_labels=True).alias('pjoin'
-                )
+                                          )
         eq_(util.column_set(sql_util.reduce_columns([pjoin.c.people_person_id,
-            pjoin.c.engineers_person_id, pjoin.c.managers_person_id])),
+                                                     pjoin.c.engineers_person_id,
+                                                     pjoin.c.managers_person_id])),
             util.column_set([pjoin.c.people_person_id]))
 
     def test_reduce_aliased_union(self):
         metadata = MetaData()
 
-        item_table = Table('item', metadata, Column('id', Integer,
-                           ForeignKey('base_item.id'),
-                           primary_key=True), Column('dummy', Integer,
-                           default=0))
-        base_item_table = Table('base_item', metadata, Column('id',
-                                Integer, primary_key=True),
-                                Column('child_name', String(255),
-                                default=None))
+        item_table = Table(
+            'item',
+            metadata,
+            Column(
+                'id',
+                Integer,
+                ForeignKey('base_item.id'),
+                primary_key=True),
+            Column(
+                'dummy',
+                Integer,
+                default=0))
+        base_item_table = Table(
+            'base_item', metadata, Column(
+                'id', Integer, primary_key=True), Column(
+                'child_name', String(255), default=None))
         from sqlalchemy.orm.util import polymorphic_union
         item_join = polymorphic_union({
-                'BaseItem':
-                    base_item_table.select(
-                            base_item_table.c.child_name
-                            == 'BaseItem'),
+            'BaseItem':
+            base_item_table.select(
+                base_item_table.c.child_name
+                == 'BaseItem'),
                 'Item': base_item_table.join(item_table)},
-                None, 'item_join')
+            None, 'item_join')
         eq_(util.column_set(sql_util.reduce_columns([item_join.c.id,
-            item_join.c.dummy, item_join.c.child_name])),
-            util.column_set([item_join.c.id, item_join.c.dummy,
-            item_join.c.child_name]))
+                                                     item_join.c.dummy,
+                                                     item_join.c.child_name])),
+            util.column_set([item_join.c.id,
+                             item_join.c.dummy,
+                             item_join.c.child_name]))
 
     def test_reduce_aliased_union_2(self):
         metadata = MetaData()
         page_table = Table('page', metadata, Column('id', Integer,
-                           primary_key=True))
+                                                    primary_key=True))
         magazine_page_table = Table('magazine_page', metadata,
                                     Column('page_id', Integer,
-                                    ForeignKey('page.id'),
-                                    primary_key=True))
-        classified_page_table = Table('classified_page', metadata,
-                Column('magazine_page_id', Integer,
-                ForeignKey('magazine_page.page_id'), primary_key=True))
+                                           ForeignKey('page.id'),
+                                           primary_key=True))
+        classified_page_table = Table(
+            'classified_page',
+            metadata,
+            Column(
+                'magazine_page_id',
+                Integer,
+                ForeignKey('magazine_page.page_id'),
+                primary_key=True))
 
         # this is essentially the union formed by the ORM's
         # polymorphic_union function. we define two versions with
@@ -1408,25 +1473,24 @@ class ReduceTest(fixtures.TestBase, AssertsExecutionResults):
         # classified_page.magazine_page_id
 
         pjoin = union(
-                    select([
-                        page_table.c.id,
-                        magazine_page_table.c.page_id,
-                        classified_page_table.c.magazine_page_id
-                    ]).
-                     select_from(
-                        page_table.join(magazine_page_table).
-                        join(classified_page_table)),
-
-                    select([
-                        page_table.c.id,
-                        magazine_page_table.c.page_id,
-                        cast(null(), Integer).label('magazine_page_id')
-                    ]).
-                    select_from(page_table.join(magazine_page_table))
-                    ).alias('pjoin')
-        eq_(util.column_set(sql_util.reduce_columns([pjoin.c.id,
-            pjoin.c.page_id, pjoin.c.magazine_page_id])),
-            util.column_set([pjoin.c.id]))
+            select([
+                page_table.c.id,
+                magazine_page_table.c.page_id,
+                classified_page_table.c.magazine_page_id
+            ]).
+            select_from(
+                page_table.join(magazine_page_table).
+                join(classified_page_table)),
+
+            select([
+                page_table.c.id,
+                magazine_page_table.c.page_id,
+                cast(null(), Integer).label('magazine_page_id')
+            ]).
+            select_from(page_table.join(magazine_page_table))
+        ).alias('pjoin')
+        eq_(util.column_set(sql_util.reduce_columns(
+            [pjoin.c.id, pjoin.c.page_id, pjoin.c.magazine_page_id])), util.column_set([pjoin.c.id]))
 
         # the first selectable has a CAST, which is a placeholder for
         # classified_page.magazine_page_id in the second selectable.
@@ -1436,25 +1500,26 @@ class ReduceTest(fixtures.TestBase, AssertsExecutionResults):
         # first selectable only.
 
         pjoin = union(select([
-                        page_table.c.id,
-                        magazine_page_table.c.page_id,
-                        cast(null(), Integer).label('magazine_page_id')
-                      ]).
-                      select_from(page_table.join(magazine_page_table)),
-
-                      select([
-                        page_table.c.id,
-                        magazine_page_table.c.page_id,
-                        classified_page_table.c.magazine_page_id
-                      ]).
-                      select_from(page_table.join(magazine_page_table).
-                      join(classified_page_table))
-                ).alias('pjoin')
-        eq_(util.column_set(sql_util.reduce_columns([pjoin.c.id,
-            pjoin.c.page_id, pjoin.c.magazine_page_id])),
-            util.column_set([pjoin.c.id]))
+            page_table.c.id,
+            magazine_page_table.c.page_id,
+            cast(null(), Integer).label('magazine_page_id')
+        ]).
+            select_from(page_table.join(magazine_page_table)),
+
+            select([
+                page_table.c.id,
+                magazine_page_table.c.page_id,
+                classified_page_table.c.magazine_page_id
+            ]).
+            select_from(page_table.join(magazine_page_table).
+                        join(classified_page_table))
+        ).alias('pjoin')
+        eq_(util.column_set(sql_util.reduce_columns(
+            [pjoin.c.id, pjoin.c.page_id, pjoin.c.magazine_page_id])), util.column_set([pjoin.c.id]))
+
 
 class DerivedTest(fixtures.TestBase, AssertsExecutionResults):
+
     def test_table(self):
         meta = MetaData()
 
@@ -1466,7 +1531,6 @@ class DerivedTest(fixtures.TestBase, AssertsExecutionResults):
         assert t1.is_derived_from(t1)
         assert not t2.is_derived_from(t1)
 
-
     def test_alias(self):
         meta = MetaData()
         t1 = Table('t1', meta, Column('c1', Integer, primary_key=True),
@@ -1496,6 +1560,7 @@ class DerivedTest(fixtures.TestBase, AssertsExecutionResults):
         assert select([t1, t2]).alias('foo').is_derived_from(t1)
         assert not t2.select().alias('foo').is_derived_from(t1)
 
+
 class AnnotationsTest(fixtures.TestBase):
 
     def test_hashing(self):
@@ -1551,8 +1616,8 @@ class AnnotationsTest(fixtures.TestBase):
 
     def test_basic_attrs(self):
         t = Table('t', MetaData(),
-                        Column('x', Integer, info={'q': 'p'}),
-                        Column('y', Integer, key='q'))
+                  Column('x', Integer, info={'q': 'p'}),
+                  Column('y', Integer, key='q'))
         x_a = t.c.x._annotate({})
         y_a = t.c.q._annotate({})
         t.c.x.info['z'] = 'h'
@@ -1564,7 +1629,9 @@ class AnnotationsTest(fixtures.TestBase):
 
     def test_custom_constructions(self):
         from sqlalchemy.schema import Column
+
         class MyColumn(Column):
+
             def __init__(self):
                 Column.__init__(self, 'foo', Integer)
             _constructor = Column
@@ -1584,16 +1651,18 @@ class AnnotationsTest(fixtures.TestBase):
         # [ticket:2918]
         from sqlalchemy.schema import Column
         from sqlalchemy.sql.elements import AnnotatedColumnElement
+
         class MyColumn(Column):
             pass
 
         assert isinstance(
-                    MyColumn('x', Integer)._annotate({"foo": "bar"}),
-                    AnnotatedColumnElement)
+            MyColumn('x', Integer)._annotate({"foo": "bar"}),
+            AnnotatedColumnElement)
 
     def test_custom_construction_correct_anno_expr(self):
         # [ticket:2918]
         from sqlalchemy.schema import Column
+
         class MyColumn(Column):
             pass
 
@@ -1619,29 +1688,31 @@ class AnnotationsTest(fixtures.TestBase):
 
         inner = select([s1])
 
-        assert inner.corresponding_column(t2.c.col1,
-                require_embedded=False) \
-            is inner.corresponding_column(t2.c.col1,
-                require_embedded=True) is inner.c.col1
-        assert inner.corresponding_column(t1.c.col1,
-                require_embedded=False) \
-            is inner.corresponding_column(t1.c.col1,
-                require_embedded=True) is inner.c.col1
+        assert inner.corresponding_column(
+            t2.c.col1,
+            require_embedded=False) is inner.corresponding_column(
+            t2.c.col1,
+            require_embedded=True) is inner.c.col1
+        assert inner.corresponding_column(
+            t1.c.col1,
+            require_embedded=False) is inner.corresponding_column(
+            t1.c.col1,
+            require_embedded=True) is inner.c.col1
 
     def test_annotated_visit(self):
         table1 = table('table1', column("col1"), column("col2"))
 
         bin = table1.c.col1 == bindparam('foo', value=None)
         assert str(bin) == "table1.col1 = :foo"
+
         def visit_binary(b):
             b.right = table1.c.col2
 
         b2 = visitors.cloned_traverse(bin, {}, {'binary': visit_binary})
         assert str(b2) == "table1.col1 = table1.col2"
 
-
         b3 = visitors.cloned_traverse(bin._annotate({}), {}, {'binary':
-                                                        visit_binary})
+                                                              visit_binary})
         assert str(b3) == 'table1.col1 = table1.col2'
 
         def visit_binary(b):
@@ -1665,15 +1736,15 @@ class AnnotationsTest(fixtures.TestBase):
         table1 = table('table1', column('col1'), column('col2'))
         for expr, expected in [(table1.c.col1, 'table1.col1'),
                                (table1.c.col1 == 5,
-                               'table1.col1 = :col1_1'),
+                                'table1.col1 = :col1_1'),
                                (table1.c.col1.in_([2, 3, 4]),
-                               'table1.col1 IN (:col1_1, :col1_2, '
-                               ':col1_3)')]:
+                                'table1.col1 IN (:col1_1, :col1_2, '
+                                ':col1_3)')]:
             eq_(str(expr), expected)
             eq_(str(expr._annotate({})), expected)
             eq_(str(sql_util._deep_annotate(expr, {})), expected)
-            eq_(str(sql_util._deep_annotate(expr, {},
-                exclude=[table1.c.col1])), expected)
+            eq_(str(sql_util._deep_annotate(
+                expr, {}, exclude=[table1.c.col1])), expected)
 
     def test_deannotate(self):
         table1 = table('table1', column("col1"), column("col2"))
@@ -1688,7 +1759,7 @@ class AnnotationsTest(fixtures.TestBase):
             assert '_orm_adapt' in elem
 
         for elem in b3._annotations, b3.left._annotations, \
-            b4._annotations, b4.left._annotations:
+                b4._annotations, b4.left._annotations:
             assert elem == {}
 
         assert b2.left is not bin.left
@@ -1711,8 +1782,8 @@ class AnnotationsTest(fixtures.TestBase):
         table2 = table('table2', column('y'))
         a1 = table1.alias()
         s = select([a1.c.x]).select_from(
-                a1.join(table2, a1.c.x == table2.c.y)
-            )
+            a1.join(table2, a1.c.x == table2.c.y)
+        )
         for sel in (
             sql_util._deep_deannotate(s),
             visitors.cloned_traverse(s, {}, {}),
@@ -1737,15 +1808,14 @@ class AnnotationsTest(fixtures.TestBase):
             # re49563072578
             eq_(str(s), str(sel))
 
-
     def test_annotate_varied_annot_same_col(self):
         """test two instances of the same column with different annotations
         preserving them when deep_annotate is run on them.
 
         """
         t1 = table('table1', column("col1"), column("col2"))
-        s = select([t1.c.col1._annotate({"foo":"bar"})])
-        s2 = select([t1.c.col1._annotate({"bat":"hoho"})])
+        s = select([t1.c.col1._annotate({"foo": "bar"})])
+        s2 = select([t1.c.col1._annotate({"bat": "hoho"})])
         s3 = s.union(s2)
         sel = sql_util._deep_annotate(s3, {"new": "thing"})
 
@@ -1762,7 +1832,7 @@ class AnnotationsTest(fixtures.TestBase):
     def test_deannotate_2(self):
         table1 = table('table1', column("col1"), column("col2"))
         j = table1.c.col1._annotate({"remote": True}) == \
-                table1.c.col2._annotate({"local": True})
+            table1.c.col2._annotate({"local": True})
         j2 = sql_util._deep_deannotate(j)
         eq_(
             j.left._annotations, {"remote": True}
@@ -1773,12 +1843,12 @@ class AnnotationsTest(fixtures.TestBase):
 
     def test_deannotate_3(self):
         table1 = table('table1', column("col1"), column("col2"),
-                            column("col3"), column("col4"))
+                       column("col3"), column("col4"))
         j = and_(
-                table1.c.col1._annotate({"remote": True}) ==
-                table1.c.col2._annotate({"local": True}),
-                table1.c.col3._annotate({"remote": True}) ==
-                table1.c.col4._annotate({"local": True})
+            table1.c.col1._annotate({"remote": True}) ==
+            table1.c.col2._annotate({"local": True}),
+            table1.c.col3._annotate({"remote": True}) ==
+            table1.c.col4._annotate({"local": True})
         )
         j2 = sql_util._deep_deannotate(j)
         eq_(
@@ -1800,8 +1870,8 @@ class AnnotationsTest(fixtures.TestBase):
         table2 = table('table2', column('y'))
         a1 = table1.alias()
         s = select([a1.c.x]).select_from(
-                a1.join(table2, a1.c.x == table2.c.y)
-            )
+            a1.join(table2, a1.c.x == table2.c.y)
+        )
 
         assert_s = select([select([s])])
         for fn in (
@@ -1814,7 +1884,6 @@ class AnnotationsTest(fixtures.TestBase):
             sel = fn(select([fn(select([fn(s)]))]))
             eq_(str(assert_s), str(sel))
 
-
     def test_bind_unique_test(self):
         table('t', column('a'), column('b'))
 
@@ -1857,7 +1926,9 @@ class AnnotationsTest(fixtures.TestBase):
 
         assert (c2 == 5).left._annotations == {"foo": "bar", "bat": "hoho"}
 
+
 class WithLabelsTest(fixtures.TestBase):
+
     def _assert_labels_warning(self, s):
         assert_raises_message(
             exc.SAWarning,
@@ -2010,7 +2081,9 @@ class WithLabelsTest(fixtures.TestBase):
         )
         self._assert_result_keys(sel, ['t1_a', 't2_b'])
 
+
 class SelectProxyTest(fixtures.TestBase):
+
     def _fixture(self):
         m = MetaData()
         t = Table('t', m, Column('x', Integer), Column('y', Integer))
@@ -2019,10 +2092,10 @@ class SelectProxyTest(fixtures.TestBase):
     def _mapping(self, stmt):
         compiled = stmt.compile()
         return dict(
-                    (elem, key)
-                    for key, elements in compiled.result_map.items()
-                    for elem in elements[1]
-                )
+            (elem, key)
+            for key, elements in compiled.result_map.items()
+            for elem in elements[1]
+        )
 
     def test_select_label_alt_name(self):
         t = self._fixture()
@@ -2079,6 +2152,7 @@ class SelectProxyTest(fixtures.TestBase):
         assert l1 in mapping
         assert ta.c.x not in mapping
 
+
 class ForUpdateTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = "default"
 
@@ -2127,8 +2201,8 @@ class ForUpdateTest(fixtures.TestBase, AssertsCompiledSQL):
         eq_(s2._for_update_arg.read, True)
         eq_(s2._for_update_arg.of, [t.c.c])
         self.assert_compile(s2,
-            "SELECT t.c FROM t FOR SHARE OF t",
-            dialect="postgresql")
+                            "SELECT t.c FROM t FOR SHARE OF t",
+                            dialect="postgresql")
 
     def test_adapt(self):
         t = table('t', column('c'))
@@ -2137,5 +2211,5 @@ class ForUpdateTest(fixtures.TestBase, AssertsCompiledSQL):
         s2 = sql_util.ClauseAdapter(a).traverse(s)
         eq_(s2._for_update_arg.of, [a.c.c])
         self.assert_compile(s2,
-            "SELECT t_1.c FROM t AS t_1 FOR SHARE OF t_1",
-            dialect="postgresql")
+                            "SELECT t_1.c FROM t AS t_1 FOR SHARE OF t_1",
+                            dialect="postgresql")
index 98eff7604e03d42d6b6e42592824895fadec0cee..6e9be9eea8de98e90fdd97f4e40afb391b4f72d9 100644 (file)
@@ -2,15 +2,15 @@
 
 from sqlalchemy.testing import fixtures, AssertsCompiledSQL, eq_, assert_raises_message
 from sqlalchemy import text, select, Integer, String, Float, \
-            bindparam, and_, func, literal_column, exc, MetaData, Table, Column
+    bindparam, and_, func, literal_column, exc, MetaData, Table, Column
 from sqlalchemy.types import NullType
 from sqlalchemy.sql import table, column
 
 table1 = table('mytable',
-    column('myid', Integer),
-    column('name', String),
-    column('description', String),
-)
+               column('myid', Integer),
+               column('name', String),
+               column('description', String),
+               )
 
 table2 = table(
     'myothertable',
@@ -18,6 +18,7 @@ table2 = table(
     column('othername', String),
 )
 
+
 class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -27,7 +28,9 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
             "select * from foo where lala = bar"
         )
 
+
 class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
+
     """test the usage of text() implicit within the select() construct
     when strings are passed."""
 
@@ -38,7 +41,7 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
             ["foobar(a)", "pk_foo_bar(syslaal)"],
             "a = 12",
             from_obj=["foobar left outer join lala on foobar.foo = lala.foo"]
-            ),
+        ),
             "SELECT foobar(a), pk_foo_bar(syslaal) FROM foobar "
             "left outer join lala on foobar.foo = lala.foo WHERE a = 12"
         )
@@ -52,12 +55,12 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
         s = s.order_by("column1")
         s.append_from("table1")
         self.assert_compile(s, "SELECT column1, column2 FROM table1 WHERE "
-                                "column1=12 AND column2=19 ORDER BY column1")
+                            "column1=12 AND column2=19 ORDER BY column1")
 
     def test_select_composition_three(self):
         self.assert_compile(
             select(["column1", "column2"],
-                            from_obj=table1).alias('somealias').select(),
+                   from_obj=table1).alias('somealias').select(),
             "SELECT somealias.column1, somealias.column2 FROM "
             "(SELECT column1, column2 FROM mytable) AS somealias"
         )
@@ -66,7 +69,7 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
         # test that use_labels doesn't interfere with literal columns
         self.assert_compile(
             select(["column1", "column2", table1.c.myid], from_obj=table1,
-                        use_labels=True),
+                   use_labels=True),
             "SELECT column1, column2, mytable.myid AS mytable_myid "
             "FROM mytable"
         )
@@ -76,7 +79,7 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
         # with literal columns that have textual labels
         self.assert_compile(
             select(["column1 AS foobar", "column2 AS hoho", table1.c.myid],
-                        from_obj=table1, use_labels=True),
+                   from_obj=table1, use_labels=True),
             "SELECT column1 AS foobar, column2 AS hoho, "
             "mytable.myid AS mytable_myid FROM mytable"
         )
@@ -87,10 +90,10 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
         # exported columns don't get quoted
         self.assert_compile(
             select(["column1 AS foobar", "column2 AS hoho", table1.c.myid],
-                            from_obj=[table1]).select(),
+                   from_obj=[table1]).select(),
             "SELECT column1 AS foobar, column2 AS hoho, myid FROM "
             "(SELECT column1 AS foobar, column2 AS hoho, "
-                "mytable.myid AS myid FROM mytable)"
+            "mytable.myid AS myid FROM mytable)"
         )
 
     def test_select_composition_seven(self):
@@ -105,8 +108,8 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
             "foo.f = t.id",
             from_obj=["(select f from bar where lala=heyhey) foo"]
         ),
-        "SELECT t.myid, t.name, t.description, foo.f FROM mytable AS t, "
-        "(select f from bar where lala=heyhey) foo WHERE foo.f = t.id")
+            "SELECT t.myid, t.name, t.description, foo.f FROM mytable AS t, "
+            "(select f from bar where lala=heyhey) foo WHERE foo.f = t.id")
 
     def test_select_bundle_columns(self):
         self.assert_compile(select(
@@ -117,17 +120,18 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL):
                 table1.c.myid == table2.c.otherid,
             )
         ),
-        "SELECT mytable.myid, mytable.name, mytable.description, "
-        "myothertable.otherid, sysdate(), foo, bar, lala "
-        "FROM mytable, myothertable WHERE foo.id = foofoo(lala) AND "
-        "datetime(foo) = Today AND mytable.myid = myothertable.otherid")
+            "SELECT mytable.myid, mytable.name, mytable.description, "
+            "myothertable.otherid, sysdate(), foo, bar, lala "
+            "FROM mytable, myothertable WHERE foo.id = foofoo(lala) AND "
+            "datetime(foo) = Today AND mytable.myid = myothertable.otherid")
+
 
 class BindParamTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
     def test_legacy(self):
         t = text("select * from foo where lala=:bar and hoho=:whee",
-                bindparams=[bindparam('bar', 4), bindparam('whee', 7)])
+                 bindparams=[bindparam('bar', 4), bindparam('whee', 7)])
 
         self.assert_compile(
             t,
@@ -187,44 +191,43 @@ class BindParamTest(fixtures.TestBase, AssertsCompiledSQL):
         t = text("select * from table :foo :bar :bat")
 
         self._assert_type_map(t, {"foo": NullType(),
-                                    "bar": NullType(),
-                                    "bat": NullType()})
+                                  "bar": NullType(),
+                                  "bat": NullType()})
 
         t = t.bindparams(bindparam('foo', type_=String))
 
         self._assert_type_map(t, {"foo": String(),
-                                    "bar": NullType(),
-                                    "bat": NullType()})
+                                  "bar": NullType(),
+                                  "bat": NullType()})
 
         t = t.bindparams(bindparam('bar', type_=Integer))
 
         self._assert_type_map(t, {"foo": String(),
-                                    "bar": Integer(),
-                                    "bat": NullType()})
+                                  "bar": Integer(),
+                                  "bat": NullType()})
 
         t = t.bindparams(bat=45.564)
 
         self._assert_type_map(t, {"foo": String(),
-                                    "bar": Integer(),
-                                    "bat": Float()})
-
+                                  "bar": Integer(),
+                                  "bat": Float()})
 
     def test_binds_compiled_named(self):
         self.assert_compile(
             text("select * from foo where lala=:bar and hoho=:whee").
-                bindparams(bar=4, whee=7),
-                "select * from foo where lala=%(bar)s and hoho=%(whee)s",
-                checkparams={'bar': 4, 'whee': 7},
-                dialect="postgresql"
+            bindparams(bar=4, whee=7),
+            "select * from foo where lala=%(bar)s and hoho=%(whee)s",
+            checkparams={'bar': 4, 'whee': 7},
+            dialect="postgresql"
         )
 
     def test_binds_compiled_positional(self):
         self.assert_compile(
             text("select * from foo where lala=:bar and hoho=:whee").
-                bindparams(bar=4, whee=7),
-                "select * from foo where lala=? and hoho=?",
-                checkparams={'bar': 4, 'whee': 7},
-                dialect="sqlite"
+            bindparams(bar=4, whee=7),
+            "select * from foo where lala=? and hoho=?",
+            checkparams={'bar': 4, 'whee': 7},
+            dialect="sqlite"
         )
 
     def test_missing_bind_kw(self):
@@ -232,110 +235,124 @@ class BindParamTest(fixtures.TestBase, AssertsCompiledSQL):
             exc.ArgumentError,
             "This text\(\) construct doesn't define a bound parameter named 'bar'",
             text(":foo").bindparams,
-            foo=5, bar=7
-        )
+            foo=5,
+            bar=7)
 
     def test_missing_bind_posn(self):
         assert_raises_message(
             exc.ArgumentError,
             "This text\(\) construct doesn't define a bound parameter named 'bar'",
             text(":foo").bindparams,
-            bindparam('foo', value=5), bindparam('bar', value=7)
-        )
+            bindparam(
+                'foo',
+                value=5),
+            bindparam(
+                'bar',
+                value=7))
 
     def test_escaping_colons(self):
         # test escaping out text() params with a backslash
         self.assert_compile(
             text("select * from foo where clock='05:06:07' "
-                    "and mork='\:mindy'"),
+                 "and mork='\:mindy'"),
             "select * from foo where clock='05:06:07' and mork=':mindy'",
             checkparams={},
             params={},
             dialect="postgresql"
         )
 
-
     def test_text_in_select_nonfrom(self):
 
         generate_series = text("generate_series(:x, :y, :z) as s(a)").\
-                            bindparams(x=None, y=None, z=None)
+            bindparams(x=None, y=None, z=None)
 
         s = select([
-                    (func.current_date() + literal_column("s.a")).label("dates")
-                ]).select_from(generate_series)
+            (func.current_date() + literal_column("s.a")).label("dates")
+        ]).select_from(generate_series)
 
         self.assert_compile(
-                    s,
-                    "SELECT CURRENT_DATE + s.a AS dates FROM "
-                                        "generate_series(:x, :y, :z) as s(a)",
-                    checkparams={'y': None, 'x': None, 'z': None}
-                )
+            s,
+            "SELECT CURRENT_DATE + s.a AS dates FROM "
+            "generate_series(:x, :y, :z) as s(a)",
+            checkparams={'y': None, 'x': None, 'z': None}
+        )
 
         self.assert_compile(
-                    s.params(x=5, y=6, z=7),
-                    "SELECT CURRENT_DATE + s.a AS dates FROM "
-                                        "generate_series(:x, :y, :z) as s(a)",
-                    checkparams={'y': 6, 'x': 5, 'z': 7}
-                )
+            s.params(x=5, y=6, z=7),
+            "SELECT CURRENT_DATE + s.a AS dates FROM "
+            "generate_series(:x, :y, :z) as s(a)",
+            checkparams={'y': 6, 'x': 5, 'z': 7}
+        )
+
 
 class AsFromTest(fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
     def test_basic_toplevel_resultmap_positional(self):
         t = text("select id, name from user").columns(
-                    column('id', Integer),
-                    column('name')
-                )
+            column('id', Integer),
+            column('name')
+        )
 
         compiled = t.compile()
-        eq_(
-            compiled.result_map,
-            {
-                'id': ('id', (t.c.id._proxies[0], 'id', 'id'), t.c.id.type),
-                'name': ('name', (t.c.name._proxies[0], 'name', 'name'), t.c.name.type)
-            }
-        )
+        eq_(compiled.result_map,
+            {'id': ('id',
+                    (t.c.id._proxies[0],
+                     'id',
+                     'id'),
+                    t.c.id.type),
+                'name': ('name',
+                         (t.c.name._proxies[0],
+                          'name',
+                          'name'),
+                         t.c.name.type)})
 
     def test_basic_toplevel_resultmap(self):
         t = text("select id, name from user").columns(id=Integer, name=String)
 
         compiled = t.compile()
-        eq_(
-            compiled.result_map,
-            {
-                'id': ('id', (t.c.id._proxies[0], 'id', 'id'), t.c.id.type),
-                'name': ('name', (t.c.name._proxies[0], 'name', 'name'), t.c.name.type)
-            }
-        )
+        eq_(compiled.result_map,
+            {'id': ('id',
+                    (t.c.id._proxies[0],
+                     'id',
+                     'id'),
+                    t.c.id.type),
+                'name': ('name',
+                         (t.c.name._proxies[0],
+                          'name',
+                          'name'),
+                         t.c.name.type)})
 
     def test_basic_subquery_resultmap(self):
         t = text("select id, name from user").columns(id=Integer, name=String)
 
         stmt = select([table1.c.myid]).select_from(
-                                    table1.join(t, table1.c.myid == t.c.id))
+            table1.join(t, table1.c.myid == t.c.id))
         compiled = stmt.compile()
         eq_(
             compiled.result_map,
             {
                 "myid": ("myid",
-                        (table1.c.myid, "myid", "myid"), table1.c.myid.type),
+                         (table1.c.myid, "myid", "myid"), table1.c.myid.type),
             }
         )
 
     def test_column_collection_ordered(self):
         t = text("select a, b, c from foo").columns(column('a'),
-                            column('b'), column('c'))
+                                                    column('b'), column('c'))
         eq_(t.c.keys(), ['a', 'b', 'c'])
 
     def test_column_collection_pos_plus_bykey(self):
         # overlapping positional names + type names
-        t = text("select a, b, c from foo").columns(column('a'),
-                            column('b'), b=Integer, c=String)
+        t = text("select a, b, c from foo").columns(
+            column('a'),
+            column('b'),
+            b=Integer,
+            c=String)
         eq_(t.c.keys(), ['a', 'b', 'c'])
         eq_(t.c.b.type._type_affinity, Integer)
         eq_(t.c.c.type._type_affinity, String)
 
-
     def _xy_table_fixture(self):
         m = MetaData()
         t = Table('t', m, Column('x', Integer), Column('y', Integer))
@@ -344,10 +361,10 @@ class AsFromTest(fixtures.TestBase, AssertsCompiledSQL):
     def _mapping(self, stmt):
         compiled = stmt.compile()
         return dict(
-                    (elem, key)
-                    for key, elements in compiled.result_map.items()
-                    for elem in elements[1]
-                )
+            (elem, key)
+            for key, elements in compiled.result_map.items()
+            for elem in elements[1]
+        )
 
     def test_select_label_alt_name(self):
         t = self._xy_table_fixture()
@@ -404,7 +421,9 @@ class AsFromTest(fixtures.TestBase, AssertsCompiledSQL):
         assert ta.c.x not in mapping
 
     def test_cte(self):
-        t = text("select id, name from user").columns(id=Integer, name=String).cte('t')
+        t = text("select id, name from user").columns(
+            id=Integer,
+            name=String).cte('t')
 
         s = select([table1]).where(table1.c.myid == t.c.id)
         self.assert_compile(
@@ -414,9 +433,10 @@ class AsFromTest(fixtures.TestBase, AssertsCompiledSQL):
             "FROM mytable, t WHERE mytable.myid = t.id"
         )
 
-
     def test_alias(self):
-        t = text("select id, name from user").columns(id=Integer, name=String).alias('t')
+        t = text("select id, name from user").columns(
+            id=Integer,
+            name=String).alias('t')
 
         s = select([table1]).where(table1.c.myid == t.c.id)
         self.assert_compile(
@@ -449,4 +469,4 @@ class AsFromTest(fixtures.TestBase, AssertsCompiledSQL):
         eq_(
             set(t.element._bindparams),
             set(["bat", "foo", "bar"])
-        )
\ No newline at end of file
+        )
index b65e4f24f3d49caf508993782165caeeeece3e33..c82ad3b942c16b814bb3138fe33cdd3d8a17bb92 100644 (file)
@@ -5,8 +5,10 @@ from sqlalchemy.testing import eq_
 
 
 class _ExprFixture(object):
+
     def _fixture(self):
         class MyString(String):
+
             def bind_expression(self, bindvalue):
                 return func.lower(bindvalue)
 
@@ -14,11 +16,12 @@ class _ExprFixture(object):
                 return func.lower(col)
 
         test_table = Table(
-                'test_table',
-                MetaData(), Column('x', String), Column('y', MyString)
+            'test_table',
+            MetaData(), Column('x', String), Column('y', MyString)
         )
         return test_table
 
+
 class SelectTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -70,13 +73,13 @@ class SelectTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL):
         table = self._fixture()
 
         self.assert_compile(
-                table.insert(),
-                "INSERT INTO test_table (x, y) VALUES (:x, lower(:y))"
+            table.insert(),
+            "INSERT INTO test_table (x, y) VALUES (:x, lower(:y))"
         )
 
         self.assert_compile(
-                table.insert().values(y="hi"),
-                "INSERT INTO test_table (y) VALUES (lower(:y))"
+            table.insert().values(y="hi"),
+            "INSERT INTO test_table (y) VALUES (lower(:y))"
         )
 
     def test_select_binds(self):
@@ -87,6 +90,7 @@ class SelectTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL):
             "test_table WHERE test_table.y = lower(:y_1)"
         )
 
+
 class DerivedTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL):
     __dialect__ = 'default'
 
@@ -95,7 +99,7 @@ class DerivedTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             table.select().select(),
             "SELECT x, lower(y) AS y FROM (SELECT test_table.x "
-                "AS x, test_table.y AS y FROM test_table)"
+            "AS x, test_table.y AS y FROM test_table)"
         )
 
     def test_select_from_alias(self):
@@ -103,8 +107,8 @@ class DerivedTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL):
         self.assert_compile(
             table.select().alias().select(),
             "SELECT anon_1.x, lower(anon_1.y) AS y FROM (SELECT "
-                "test_table.x AS x, test_table.y AS y "
-                "FROM test_table) AS anon_1"
+            "test_table.x AS x, test_table.y AS y "
+            "FROM test_table) AS anon_1"
         )
 
     def test_select_from_aliased_join(self):
@@ -113,16 +117,17 @@ class DerivedTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL):
         s2 = table.select().alias()
         j = s1.join(s2, s1.c.x == s2.c.x)
         s3 = j.select()
-        self.assert_compile(s3,
-            "SELECT anon_1.x, lower(anon_1.y) AS y, anon_2.x, "
+        self.assert_compile(
+            s3, "SELECT anon_1.x, lower(anon_1.y) AS y, anon_2.x, "
             "lower(anon_2.y) AS y "
             "FROM (SELECT test_table.x AS x, test_table.y AS y "
             "FROM test_table) AS anon_1 JOIN (SELECT "
             "test_table.x AS x, test_table.y AS y "
-            "FROM test_table) AS anon_2 ON anon_1.x = anon_2.x"
-        )
+            "FROM test_table) AS anon_2 ON anon_1.x = anon_2.x")
+
 
 class RoundTripTestBase(object):
+
     def test_round_trip(self):
         testing.db.execute(
             self.tables.test_table.insert(),
@@ -145,7 +150,7 @@ class RoundTripTestBase(object):
         # conversion back to upper
         eq_(
             testing.db.execute(
-                select([self.tables.test_table]).\
+                select([self.tables.test_table]).
                 order_by(self.tables.test_table.c.y)
             ).fetchall(),
             [
@@ -183,7 +188,7 @@ class RoundTripTestBase(object):
             {"x": "X1", "y": "Y1"},
         )
         row = testing.db.execute(select([self.tables.test_table]).
-                        apply_labels()).first()
+                                 apply_labels()).first()
         eq_(
             row[self.tables.test_table.c.y],
             "Y1"
@@ -195,18 +200,21 @@ class RoundTripTestBase(object):
             {"x": "X1", "y": "Y1"},
         )
         row = testing.db.execute(select([
-                    self.tables.test_table.c.x.label('xbar'),
-                    self.tables.test_table.c.y.label('ybar')
-                ])).first()
+            self.tables.test_table.c.x.label('xbar'),
+            self.tables.test_table.c.y.label('ybar')
+        ])).first()
         eq_(
             row[self.tables.test_table.c.y],
             "Y1"
         )
 
+
 class StringRoundTripTest(fixtures.TablesTest, RoundTripTestBase):
+
     @classmethod
     def define_tables(cls, metadata):
         class MyString(String):
+
             def bind_expression(self, bindvalue):
                 return func.lower(bindvalue)
 
@@ -214,19 +222,21 @@ class StringRoundTripTest(fixtures.TablesTest, RoundTripTestBase):
                 return func.upper(col)
 
         Table(
-                'test_table',
-                metadata,
-                    Column('x', String(50)),
-                    Column('y', MyString(50)
-                )
+            'test_table',
+            metadata,
+            Column('x', String(50)),
+            Column('y', MyString(50)
+                   )
         )
 
 
 class TypeDecRoundTripTest(fixtures.TablesTest, RoundTripTestBase):
+
     @classmethod
     def define_tables(cls, metadata):
         class MyString(TypeDecorator):
             impl = String
+
             def bind_expression(self, bindvalue):
                 return func.lower(bindvalue)
 
@@ -234,38 +244,38 @@ class TypeDecRoundTripTest(fixtures.TablesTest, RoundTripTestBase):
                 return func.upper(col)
 
         Table(
-                'test_table',
-                metadata,
-                    Column('x', String(50)),
-                    Column('y', MyString(50)
-                )
+            'test_table',
+            metadata,
+            Column('x', String(50)),
+            Column('y', MyString(50)
+                   )
         )
 
+
 class ReturningTest(fixtures.TablesTest):
     __requires__ = 'returning',
 
     @classmethod
     def define_tables(cls, metadata):
         class MyString(String):
+
             def column_expression(self, col):
                 return func.lower(col)
 
         Table(
-                'test_table',
-                metadata, Column('x', String(50)),
-                    Column('y', MyString(50), server_default="YVALUE")
+            'test_table',
+            metadata, Column('x', String(50)),
+            Column('y', MyString(50), server_default="YVALUE")
         )
 
     @testing.provide_metadata
     def test_insert_returning(self):
         table = self.tables.test_table
         result = testing.db.execute(
-                table.insert().returning(table.c.y),
-                {"x": "xvalue"}
+            table.insert().returning(table.c.y),
+            {"x": "xvalue"}
         )
         eq_(
             result.first(),
             ("yvalue",)
         )
-
-
index d54745bf596412d0d6b5a99b9827fa993c75fe85..852591543fc798ca62df2df6a8945804409831e1 100644 (file)
@@ -26,6 +26,7 @@ from sqlalchemy.testing import fixtures
 
 
 class AdaptTest(fixtures.TestBase):
+
     def _all_dialect_modules(self):
         return [
             getattr(dialects, d)
@@ -192,6 +193,7 @@ class AdaptTest(fixtures.TestBase):
 
 
 class TypeAffinityTest(fixtures.TestBase):
+
     def test_type_affinity(self):
         for type_, affin in [
             (String(), String),
@@ -233,6 +235,7 @@ class TypeAffinityTest(fixtures.TestBase):
 
 
 class PickleMetadataTest(fixtures.TestBase):
+
     def testmeta(self):
         for loads, dumps in picklers():
             column_types = [
@@ -261,6 +264,7 @@ class PickleMetadataTest(fixtures.TestBase):
 
 
 class UserDefinedTest(fixtures.TablesTest, AssertsCompiledSQL):
+
     """tests user-defined types."""
 
     def test_processing(self):
@@ -386,12 +390,14 @@ class UserDefinedTest(fixtures.TablesTest, AssertsCompiledSQL):
 
     def test_user_defined_typedec_impl_bind(self):
         class TypeOne(types.TypeEngine):
+
             def bind_processor(self, dialect):
                 def go(value):
                     return value + " ONE"
                 return go
 
         class TypeTwo(types.TypeEngine):
+
             def bind_processor(self, dialect):
                 def go(value):
                     return value + " TWO"
@@ -422,6 +428,7 @@ class UserDefinedTest(fixtures.TablesTest, AssertsCompiledSQL):
 
     def test_user_defined_dialect_specific_args(self):
         class MyType(types.UserDefinedType):
+
             def __init__(self, foo='foo', **kwargs):
                 super(MyType, self).__init__()
                 self.foo = foo
@@ -437,6 +444,7 @@ class UserDefinedTest(fixtures.TablesTest, AssertsCompiledSQL):
     @classmethod
     def define_tables(cls, metadata):
         class MyType(types.UserDefinedType):
+
             def get_col_spec(self):
                 return "VARCHAR(100)"
 
@@ -500,6 +508,7 @@ class UserDefinedTest(fixtures.TablesTest, AssertsCompiledSQL):
                 return MyNewIntType()
 
         class MyNewIntSubClass(MyNewIntType):
+
             def process_result_value(self, value, dialect):
                 return value * 15
 
@@ -595,6 +604,7 @@ class TypeCoerceCastTest(fixtures.TablesTest):
         # test coerce from nulltype - e.g. use an object that
         # does't match to a known type
         class MyObj(object):
+
             def __str__(self):
                 return "THISISMYOBJ"
 
@@ -716,6 +726,7 @@ class TypeCoerceCastTest(fixtures.TablesTest):
         t.insert().values(data=coerce_fn('d1', MyType)).execute()
 
         class MyFoob(object):
+
             def __clause_element__(self):
                 return t.c.data
 
@@ -758,8 +769,10 @@ class TypeCoerceCastTest(fixtures.TablesTest):
 
 
 class VariantTest(fixtures.TestBase, AssertsCompiledSQL):
+
     def setup(self):
         class UTypeOne(types.UserDefinedType):
+
             def get_col_spec(self):
                 return "UTYPEONE"
 
@@ -769,6 +782,7 @@ class VariantTest(fixtures.TestBase, AssertsCompiledSQL):
                 return process
 
         class UTypeTwo(types.UserDefinedType):
+
             def get_col_spec(self):
                 return "UTYPETWO"
 
@@ -778,6 +792,7 @@ class VariantTest(fixtures.TestBase, AssertsCompiledSQL):
                 return process
 
         class UTypeThree(types.UserDefinedType):
+
             def get_col_spec(self):
                 return "UTYPETHREE"
 
@@ -873,6 +888,7 @@ class VariantTest(fixtures.TestBase, AssertsCompiledSQL):
 
 
 class UnicodeTest(fixtures.TestBase):
+
     """Exercise the Unicode and related types.
 
     Note:  unicode round trip tests are now in
@@ -920,7 +936,7 @@ class UnicodeTest(fixtures.TestBase):
                     ('mysql', 'mysqlconnector'),
                     ('sqlite', 'pysqlite'),
                     ('oracle', 'zxjdbc'),
-                )
+            )
 
             eq_(
                 testing.db.dialect.returns_unicode_strings,
@@ -992,6 +1008,7 @@ enum_table = non_native_enum_table = metadata = None
 
 
 class EnumTest(AssertsCompiledSQL, fixtures.TestBase):
+
     @classmethod
     def setup_class(cls):
         global enum_table, non_native_enum_table, metadata
@@ -1080,10 +1097,12 @@ class EnumTest(AssertsCompiledSQL, fixtures.TestBase):
 
     def test_non_native_constraint_custom_type(self):
         class Foob(object):
+
             def __init__(self, name):
                 self.name = name
 
         class MyEnum(types.SchemaType, TypeDecorator):
+
             def __init__(self, values):
                 self.impl = Enum(
                     *[v.name for v in values], name="myenum",
@@ -1260,6 +1279,7 @@ class ExpressionTest(
         global test_table, meta, MyCustomType, MyTypeDec
 
         class MyCustomType(types.UserDefinedType):
+
             def get_col_spec(self):
                 return "INT"
 
@@ -1274,6 +1294,7 @@ class ExpressionTest(
                 return process
 
         class MyOldCustomType(MyCustomType):
+
             def adapt_operator(self, op):
                 return {
                     operators.add: operators.sub,
@@ -1315,7 +1336,7 @@ class ExpressionTest(
         eq_(
             test_table.select().execute().fetchall(),
             [(1, 'somedata', datetime.date(2007, 10, 15), 25,
-             'BIND_INfooBIND_OUT')]
+              'BIND_INfooBIND_OUT')]
         )
 
     def test_bind_adapt(self):
@@ -1619,10 +1640,12 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
 
 
 class NumericRawSQLTest(fixtures.TestBase):
+
     """Test what DBAPIs and dialects return without any typing
     information supplied at the SQLA level.
 
     """
+
     def _fixture(self, metadata, type, data):
         t = Table('t', metadata, Column("val", type))
         metadata.create_all()
@@ -1671,6 +1694,7 @@ interval_table = metadata = None
 
 
 class IntervalTest(fixtures.TestBase, AssertsExecutionResults):
+
     @classmethod
     def setup_class(cls):
         global interval_table, metadata
@@ -1700,7 +1724,7 @@ class IntervalTest(fixtures.TestBase, AssertsExecutionResults):
     def test_non_native_adapt(self):
         interval = Interval(native=False)
         adapted = interval.dialect_impl(testing.db.dialect)
-        assert type(adapted) is Interval
+        assert isinstance(adapted, Interval)
         assert adapted.native is False
         eq_(str(adapted), "DATETIME")
 
@@ -1735,6 +1759,7 @@ class IntervalTest(fixtures.TestBase, AssertsExecutionResults):
 
 class BooleanTest(
         fixtures.TablesTest, AssertsExecutionResults, AssertsCompiledSQL):
+
     """test edge cases for booleans.  Note that the main boolean test suite
     is now in testing/suite/test_types.py
 
@@ -1768,6 +1793,7 @@ class BooleanTest(
 
     def test_non_native_constraint_custom_type(self):
         class Foob(object):
+
             def __init__(self, value):
                 self.value = value
 
@@ -1797,6 +1823,7 @@ class BooleanTest(
 
 
 class PickleTest(fixtures.TestBase):
+
     def test_eq_comparison(self):
         p1 = PickleType()
 
@@ -1826,6 +1853,7 @@ meta = None
 
 
 class CallableTest(fixtures.TestBase):
+
     @classmethod
     def setup_class(cls):
         global meta
index fc5205a3d96caca964e6ab6fd1f5dee169b70329..e29aea54fba9bbfe5d0f5c214f2621527b1b1fbb 100644 (file)
@@ -7,6 +7,7 @@ from sqlalchemy import testing
 from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.util import u, ue
 
+
 class UnicodeSchemaTest(fixtures.TestBase):
     __requires__ = ('unicode_ddl',)
     __backend__ = True
@@ -17,17 +18,26 @@ class UnicodeSchemaTest(fixtures.TestBase):
 
         metadata = MetaData(testing.db)
         t1 = Table(u('unitable1'), metadata,
-            Column(u('méil'), Integer, primary_key=True),
-            Column(ue('\u6e2c\u8a66'), Integer),
-            test_needs_fk=True,
-            )
-        t2 = Table(u('Unitéble2'), metadata,
-            Column(u('méil'), Integer, primary_key=True, key="a"),
-            Column(ue('\u6e2c\u8a66'), Integer, ForeignKey(u('unitable1.méil')),
-                   key="b"
-                   ),
+                   Column(u('méil'), Integer, primary_key=True),
+                   Column(ue('\u6e2c\u8a66'), Integer),
                    test_needs_fk=True,
-            )
+                   )
+        t2 = Table(
+            u('Unitéble2'),
+            metadata,
+            Column(
+                u('méil'),
+                Integer,
+                primary_key=True,
+                key="a"),
+            Column(
+                ue('\u6e2c\u8a66'),
+                Integer,
+                ForeignKey(
+                    u('unitable1.méil')),
+                key="b"),
+            test_needs_fk=True,
+        )
 
         # Few DBs support Unicode foreign keys
         if testing.against('sqlite'):
@@ -68,8 +78,8 @@ class UnicodeSchemaTest(fixtures.TestBase):
         metadata.drop_all()
 
     def test_insert(self):
-        t1.insert().execute({u('méil'):1, ue('\u6e2c\u8a66'):5})
-        t2.insert().execute({u('a'):1, u('b'):1})
+        t1.insert().execute({u('méil'): 1, ue('\u6e2c\u8a66'): 5})
+        t2.insert().execute({u('a'): 1, u('b'): 1})
         t3.insert().execute({ue('\u6e2c\u8a66_id'): 1,
                              ue('unitable1_\u6e2c\u8a66'): 5,
                              u('Unitéble2_b'): 1,
@@ -121,10 +131,16 @@ class UnicodeSchemaTest(fixtures.TestBase):
                               u('Unitéble2_b'): 1,
                               ue('\u6e2c\u8a66_self'): 1})
 
-        self.assert_(tt1.select(order_by=desc(u('méil'))).execute().fetchall() ==
-                     [(2, 7), (1, 5)])
-        self.assert_(tt2.select(order_by=desc(u('méil'))).execute().fetchall() ==
-                     [(2, 2), (1, 1)])
+        self.assert_(
+            tt1.select(
+                order_by=desc(
+                    u('méil'))).execute().fetchall() == [
+                (2, 7), (1, 5)])
+        self.assert_(
+            tt2.select(
+                order_by=desc(
+                    u('méil'))).execute().fetchall() == [
+                (2, 2), (1, 1)])
         self.assert_(tt3.select(order_by=desc(ue('\u6e2c\u8a66_id'))).
                      execute().fetchall() ==
                      [(2, 7, 2, 2), (1, 5, 1, 1)])
@@ -132,14 +148,16 @@ class UnicodeSchemaTest(fixtures.TestBase):
     def test_repr(self):
 
         m = MetaData()
-        t = Table(ue('\u6e2c\u8a66'), m, Column(ue('\u6e2c\u8a66_id'), Integer))
+        t = Table(
+            ue('\u6e2c\u8a66'),
+            m,
+            Column(
+                ue('\u6e2c\u8a66_id'),
+                Integer))
 
         # I hardly understand what's going on with the backslashes in
         # this one on py2k vs. py3k
-        eq_(
-            repr(t),
-            (
-                "Table('\\u6e2c\\u8a66', MetaData(bind=None), "
-                "Column('\\u6e2c\\u8a66_id', Integer(), table=<\u6e2c\u8a66>), "
-                "schema=None)"))
-
+        eq_(repr(t),
+            ("Table('\\u6e2c\\u8a66', MetaData(bind=None), "
+             "Column('\\u6e2c\\u8a66_id', Integer(), table=<\u6e2c\u8a66>), "
+             "schema=None)"))
index a08d5f672cc518b4a4b2328cd0dca96dc4c1e32d..58c86613be21d69de1522c62f7ad6dfbe04d4cd1 100644 (file)
@@ -7,6 +7,7 @@ from sqlalchemy.testing.schema import Table, Column
 
 
 class _UpdateFromTestBase(object):
+
     @classmethod
     def define_tables(cls, metadata):
         Table('mytable', metadata,
@@ -74,8 +75,8 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
         self.assert_compile(
             table1.update().
-                where(table1.c.myid == 7).
-                values({table1.c.myid: 5}),
+            where(table1.c.myid == 7).
+            values({table1.c.myid: 5}),
             'UPDATE mytable SET myid=:myid WHERE mytable.myid = :myid_1',
             checkparams={'myid': 5, 'myid_1': 7})
 
@@ -99,8 +100,8 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
         self.assert_compile(
             update(table1,
-                whereclause=table1.c.name == bindparam('crit'),
-                values={table1.c.name: 'hi'}),
+                   whereclause=table1.c.name == bindparam('crit'),
+                   values={table1.c.name: 'hi'}),
             'UPDATE mytable SET name=:name WHERE mytable.name = :crit',
             params={'crit': 'notthere'},
             checkparams={'crit': 'notthere', 'name': 'hi'})
@@ -110,8 +111,8 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
 
         self.assert_compile(
             update(table1,
-                table1.c.myid == 12,
-                values={table1.c.name: table1.c.myid}),
+                   table1.c.myid == 12,
+                   values={table1.c.name: table1.c.myid}),
             'UPDATE mytable '
             'SET name=mytable.myid, description=:description '
             'WHERE mytable.myid = :myid_1',
@@ -152,8 +153,8 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             update(table1, table1.c.myid == 12, values=v1).values(v2),
             'UPDATE mytable '
             'SET '
-                'name=(mytable.name || :name_1), '
-                'description=:description '
+            'name=(mytable.name || :name_1), '
+            'description=:description '
             'WHERE mytable.myid = :myid_1',
             params={'description': 'test'})
 
@@ -164,29 +165,32 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             table1.c.name: table1.c.name + 'lala',
             table1.c.myid: func.do_stuff(table1.c.myid, literal('hoho'))
         }
-        self.assert_compile(update(table1,
-            (table1.c.myid == func.hoho(4)) &
-            (table1.c.name == literal('foo') +
-             table1.c.name + literal('lala')),
-            values=values),
+        self.assert_compile(
+            update(
+                table1,
+                (table1.c.myid == func.hoho(4)) & (
+                    table1.c.name == literal('foo') +
+                    table1.c.name +
+                    literal('lala')),
+                values=values),
             'UPDATE mytable '
             'SET '
-                'myid=do_stuff(mytable.myid, :param_1), '
-                'name=(mytable.name || :name_1) '
+            'myid=do_stuff(mytable.myid, :param_1), '
+            'name=(mytable.name || :name_1) '
             'WHERE '
-                'mytable.myid = hoho(:hoho_1) AND '
-                'mytable.name = :param_2 || mytable.name || :param_3')
+            'mytable.myid = hoho(:hoho_1) AND '
+            'mytable.name = :param_2 || mytable.name || :param_3')
 
     def test_where_empty(self):
         table1 = self.tables.mytable
         self.assert_compile(
-            table1.update().where(and_()),
-            "UPDATE mytable SET myid=:myid, name=:name, description=:description"
-        )
+            table1.update().where(
+                and_()),
+            "UPDATE mytable SET myid=:myid, name=:name, description=:description")
         self.assert_compile(
-            table1.update().where(or_()),
-            "UPDATE mytable SET myid=:myid, name=:name, description=:description"
-        )
+            table1.update().where(
+                or_()),
+            "UPDATE mytable SET myid=:myid, name=:name, description=:description")
 
     def test_prefix_with(self):
         table1 = self.tables.mytable
@@ -196,14 +200,14 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             prefix_with('C', 'D')
 
         self.assert_compile(stmt,
-            'UPDATE C D mytable SET myid=:myid, name=:name, '
-            'description=:description')
+                            'UPDATE C D mytable SET myid=:myid, name=:name, '
+                            'description=:description')
 
-        self.assert_compile(stmt,
+        self.assert_compile(
+            stmt,
             'UPDATE A B C D mytable SET myid=%s, name=%s, description=%s',
             dialect=mysql.dialect())
 
-
     def test_update_to_expression(self):
         """test update from an expression.
 
@@ -216,7 +220,7 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         expr = func.foo(table1.c.myid)
         eq_(expr.key, None)
         self.assert_compile(table1.update().values({expr: 'bar'}),
-            'UPDATE mytable SET foo(myid)=:param_1')
+                            'UPDATE mytable SET foo(myid)=:param_1')
 
     def test_update_bound_ordering(self):
         """test that bound parameters between the UPDATE and FROM clauses
@@ -227,8 +231,8 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         table2 = self.tables.myothertable
         sel = select([table2]).where(table2.c.otherid == 5).alias()
         upd = table1.update().\
-                    where(table1.c.name == sel.c.othername).\
-                    values(name='foo')
+            where(table1.c.name == sel.c.othername).\
+            values(name='foo')
 
         dialect = default.DefaultDialect()
         dialect.positional = True
@@ -256,7 +260,6 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL):
         )
 
 
-
 class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
                             AssertsCompiledSQL):
     __dialect__ = 'default'
@@ -272,7 +275,7 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
         # in values.   The behavior here isn't really defined
         self.assert_compile(
             update(talias1, talias1.c.myid == 7).
-                values({table1.c.name: "fred"}),
+            values({table1.c.name: "fred"}),
             'UPDATE mytable AS t1 '
             'SET name=:name '
             'WHERE t1.myid = :myid_1')
@@ -287,13 +290,13 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
         # as an "extra table", hence we see the full table name rendered.
         self.assert_compile(
             update(talias1, table1.c.myid == 7).
-                values({table1.c.name: 'fred'}),
+            values({table1.c.name: 'fred'}),
             'UPDATE mytable AS t1 '
             'SET name=:mytable_name '
             'FROM mytable '
             'WHERE mytable.myid = :myid_1',
             checkparams={'mytable_name': 'fred', 'myid_1': 7},
-            )
+        )
 
     def test_alias_two_mysql(self):
         table1 = self.tables.mytable
@@ -301,7 +304,7 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
 
         self.assert_compile(
             update(talias1, table1.c.myid == 7).
-                values({table1.c.name: 'fred'}),
+            values({table1.c.name: 'fred'}),
             "UPDATE mytable AS t1, mytable SET mytable.name=%s "
             "WHERE mytable.myid = %s",
             checkparams={'mytable_name': 'fred', 'myid_1': 7},
@@ -312,11 +315,11 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
 
         self.assert_compile(
             users.update().
-                values(name='newname').\
-                values({addresses.c.name: "new address"}).\
-                where(users.c.id == addresses.c.user_id),
+            values(name='newname').
+            values({addresses.c.name: "new address"}).
+            where(users.c.id == addresses.c.user_id),
             "UPDATE users, addresses SET addresses.name=%s, "
-                "users.name=%s WHERE users.id = addresses.user_id",
+            "users.name=%s WHERE users.id = addresses.user_id",
             checkparams={'addresses_name': 'new address', 'name': 'newname'},
             dialect='mysql'
         )
@@ -326,14 +329,14 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
 
         self.assert_compile(
             users.update().
-                values(name='newname').
-                where(users.c.id == addresses.c.user_id).
-                where(addresses.c.email_address == 'e1'),
+            values(name='newname').
+            where(users.c.id == addresses.c.user_id).
+            where(addresses.c.email_address == 'e1'),
             'UPDATE users '
             'SET name=:name FROM addresses '
             'WHERE '
-                'users.id = addresses.user_id AND '
-                'addresses.email_address = :email_address_1',
+            'users.id = addresses.user_id AND '
+            'addresses.email_address = :email_address_1',
             checkparams={'email_address_1': 'e1', 'name': 'newname'})
 
     def test_render_multi_table(self):
@@ -349,19 +352,19 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
 
         self.assert_compile(
             users.update().
-                values(name='newname').
-                where(users.c.id == addresses.c.user_id).
-                where(addresses.c.email_address == 'e1').
-                where(addresses.c.id == dingalings.c.address_id).
-                where(dingalings.c.id == 2),
+            values(name='newname').
+            where(users.c.id == addresses.c.user_id).
+            where(addresses.c.email_address == 'e1').
+            where(addresses.c.id == dingalings.c.address_id).
+            where(dingalings.c.id == 2),
             'UPDATE users '
             'SET name=:name '
             'FROM addresses, dingalings '
             'WHERE '
-                'users.id = addresses.user_id AND '
-                'addresses.email_address = :email_address_1 AND '
-                'addresses.id = dingalings.address_id AND '
-                'dingalings.id = :id_1',
+            'users.id = addresses.user_id AND '
+            'addresses.email_address = :email_address_1 AND '
+            'addresses.id = dingalings.address_id AND '
+            'dingalings.id = :id_1',
             checkparams=checkparams)
 
     def test_render_table_mysql(self):
@@ -369,14 +372,14 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
 
         self.assert_compile(
             users.update().
-                values(name='newname').
-                where(users.c.id == addresses.c.user_id).
-                where(addresses.c.email_address == 'e1'),
+            values(name='newname').
+            where(users.c.id == addresses.c.user_id).
+            where(addresses.c.email_address == 'e1'),
             'UPDATE users, addresses '
             'SET users.name=%s '
             'WHERE '
-                'users.id = addresses.user_id AND '
-                'addresses.email_address = %s',
+            'users.id = addresses.user_id AND '
+            'addresses.email_address = %s',
             checkparams={'email_address_1': 'e1', 'name': 'newname'},
             dialect=mysql.dialect())
 
@@ -398,17 +401,17 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
         subq = select(cols).where(addresses.c.id == 7).alias()
         self.assert_compile(
             users.update().
-                values(name='newname').
-                where(users.c.id == subq.c.user_id).
-                where(subq.c.email_address == 'e1'),
+            values(name='newname').
+            where(users.c.id == subq.c.user_id).
+            where(subq.c.email_address == 'e1'),
             'UPDATE users '
             'SET name=:name FROM ('
-                'SELECT '
-                    'addresses.id AS id, '
-                    'addresses.user_id AS user_id, '
-                    'addresses.email_address AS email_address '
-                'FROM addresses '
-                'WHERE addresses.id = :id_1'
+            'SELECT '
+            'addresses.id AS id, '
+            'addresses.user_id AS user_id, '
+            'addresses.email_address AS email_address '
+            'FROM addresses '
+            'WHERE addresses.id = :id_1'
             ') AS anon_1 '
             'WHERE users.id = anon_1.user_id '
             'AND anon_1.email_address = :email_address_1',
@@ -424,9 +427,9 @@ class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest):
 
         testing.db.execute(
             addresses.update().
-                values(email_address=users.c.name).
-                where(users.c.id == addresses.c.user_id).
-                where(users.c.name == 'ed'))
+            values(email_address=users.c.name).
+            where(users.c.id == addresses.c.user_id).
+            where(users.c.name == 'ed'))
 
         expected = [
             (1, 7, 'x', 'jack@bean.com'),
@@ -443,10 +446,10 @@ class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest):
         a1 = addresses.alias()
         testing.db.execute(
             addresses.update().
-                values(email_address=users.c.name).
-                where(users.c.id == a1.c.user_id).
-                where(users.c.name == 'ed').
-                where(a1.c.id == addresses.c.id)
+            values(email_address=users.c.name).
+            where(users.c.id == a1.c.user_id).
+            where(users.c.name == 'ed').
+            where(a1.c.id == addresses.c.id)
         )
 
         expected = [
@@ -465,11 +468,11 @@ class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest):
 
         testing.db.execute(
             addresses.update().
-                values(email_address=users.c.name).
-                where(users.c.id == addresses.c.user_id).
-                where(users.c.name == 'ed').
-                where(addresses.c.id == dingalings.c.address_id).
-                where(dingalings.c.id == 1))
+            values(email_address=users.c.name).
+            where(users.c.id == addresses.c.user_id).
+            where(users.c.name == 'ed').
+            where(addresses.c.id == dingalings.c.address_id).
+            where(dingalings.c.id == 1))
 
         expected = [
             (1, 7, 'x', 'jack@bean.com'),
@@ -490,9 +493,9 @@ class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest):
 
         testing.db.execute(
             addresses.update().
-                values(values).
-                where(users.c.id == addresses.c.user_id).
-                where(users.c.name == 'ed'))
+            values(values).
+            where(users.c.id == addresses.c.user_id).
+            where(users.c.name == 'ed'))
 
         expected = [
             (1, 7, 'x', 'jack@bean.com'),
@@ -520,9 +523,9 @@ class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest):
 
         testing.db.execute(
             addresses.update().
-                values(values).
-                where(users.c.id == addresses.c.user_id).
-                where(users.c.name == 'ed'))
+            values(values).
+            where(users.c.id == addresses.c.user_id).
+            where(users.c.name == 'ed'))
 
         expected = [
             (1, 7, 'x', 'jack@bean.com'),
@@ -565,7 +568,7 @@ class UpdateFromMultiTableUpdateDefaultsTest(_UpdateFromTestBase,
                      test_needs_autoincrement=True),
               Column('user_id', None, ForeignKey('users.id')),
               Column('email_address', String(50), nullable=False),
-            )
+              )
 
         Table('foobar', metadata,
               Column('id', Integer, primary_key=True,
@@ -573,7 +576,7 @@ class UpdateFromMultiTableUpdateDefaultsTest(_UpdateFromTestBase,
               Column('user_id', None, ForeignKey('users.id')),
               Column('data', String(30)),
               Column('some_update', String(30), onupdate='im the other update')
-            )
+              )
 
     @classmethod
     def fixtures(cls):
@@ -608,9 +611,9 @@ class UpdateFromMultiTableUpdateDefaultsTest(_UpdateFromTestBase,
 
         ret = testing.db.execute(
             addresses.update().
-                values(values).
-                where(users.c.id == addresses.c.user_id).
-                where(users.c.name == 'ed'))
+            values(values).
+            where(users.c.id == addresses.c.user_id).
+            where(users.c.name == 'ed'))
 
         eq_(set(ret.prefetch_cols()), set([users.c.some_update]))
 
@@ -636,9 +639,9 @@ class UpdateFromMultiTableUpdateDefaultsTest(_UpdateFromTestBase,
 
         ret = testing.db.execute(
             users.update().
-                values(values).
-                where(users.c.id == foobar.c.user_id).
-                where(users.c.name == 'ed'))
+            values(values).
+            where(users.c.id == foobar.c.user_id).
+            where(users.c.name == 'ed'))
 
         eq_(
             set(ret.prefetch_cols()),
@@ -662,9 +665,9 @@ class UpdateFromMultiTableUpdateDefaultsTest(_UpdateFromTestBase,
 
         ret = testing.db.execute(
             addresses.update().
-                values({'email_address': users.c.name}).
-                where(users.c.id == addresses.c.user_id).
-                where(users.c.name == 'ed'))
+            values({'email_address': users.c.name}).
+            where(users.c.id == addresses.c.user_id).
+            where(users.c.name == 'ed'))
 
         eq_(ret.prefetch_cols(), [])
 
diff --git a/tox.ini b/tox.ini
index cd453b35b878ccfda2ec65abe95322c12d28e97e..c926300c92051a5be47a37eb703b9a855f983c10 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -35,6 +35,6 @@ commands = python -m flake8 setup.py sqla_nose.py test/aaa_profiling/
 [flake8]
 
 show-source = True
-ignore = E711,E265,H305,H307,H402,H405,H703,H803,H904
+ignore = E711,E712,F841,F811
 exclude=.venv,.git,.tox,dist,doc,*egg,build