diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2020-02-17 21:09:22 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2020-02-17 21:09:22 +0000 |
| commit | feb0c6765cd299a809a35b6b6d719bec077dc456 (patch) | |
| tree | 0c7f78b1a6e1c2a1b26a110da2b88c4df92b486c /test/sql | |
| parent | 236db97fc419722d51236097d9bba1e645c4c7db (diff) | |
| parent | 9fca5d827d880ccc529c94bb65c46de6aafd227c (diff) | |
| download | sqlalchemy-feb0c6765cd299a809a35b6b6d719bec077dc456.tar.gz | |
Merge "Create initial future package, RemovedIn20Warning"
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/test_compiler.py | 6 | ||||
| -rw-r--r-- | test/sql/test_deprecations.py | 21 | ||||
| -rw-r--r-- | test/sql/test_external_traversal.py | 2 | ||||
| -rw-r--r-- | test/sql/test_selectable.py | 21 | ||||
| -rw-r--r-- | test/sql/test_text.py | 3 | ||||
| -rw-r--r-- | test/sql/test_update.py | 61 |
6 files changed, 97 insertions, 17 deletions
diff --git a/test/sql/test_compiler.py b/test/sql/test_compiler.py index b53acf61e..a7e9916cd 100644 --- a/test/sql/test_compiler.py +++ b/test/sql/test_compiler.py @@ -963,7 +963,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL): s = select( [], exists([1], table2.c.otherid == table1.c.myid), from_obj=table1 ) - s.column.non_generative(s, table1) + s.add_columns.non_generative(s, table1) self.assert_compile( s, "SELECT mytable.myid, mytable.name, " @@ -4932,7 +4932,7 @@ class ResultMapTest(fixtures.TestBase): orig = [t.c.x, t.c.y, l1, l2, l3] stmt = select(orig) wrapped = stmt._generate() - wrapped = wrapped.column( + wrapped = wrapped.add_columns( func.ROW_NUMBER().over(order_by=t.c.z) ).alias() @@ -4968,7 +4968,7 @@ class ResultMapTest(fixtures.TestBase): eq_(len(stmt._columns_plus_names), 7) wrapped = stmt._generate() - wrapped = wrapped.column( + wrapped = wrapped.add_columns( func.ROW_NUMBER().over(order_by=t.c.z) ).alias() diff --git a/test/sql/test_deprecations.py b/test/sql/test_deprecations.py index 4e88dcdb8..b2b1f470b 100644 --- a/test/sql/test_deprecations.py +++ b/test/sql/test_deprecations.py @@ -132,6 +132,17 @@ class DeprecationWarningsTest(fixtures.TestBase, AssertsCompiledSQL): ): self.assert_compile(or_(and_()), "") + def test_fromclause_count(self): + with testing.expect_deprecated( + r"The FromClause.count\(\) method is deprecated, and will be " + r"removed in a future release." + ): + self.assert_compile( + table("q", column("x")).count(), + "SELECT count(q.x) AS tbl_row_count FROM q", + dialect="default", + ) + class ConvertUnicodeDeprecationTest(fixtures.TestBase): @@ -645,6 +656,16 @@ class SelectableTest(fixtures.TestBase, AssertsCompiledSQL): "SELECT anon_1.a FROM (SELECT 1 AS a ORDER BY 1) AS anon_1", ) + def test_column(self): + stmt = select([column("x")]) + with testing.expect_deprecated( + r"The Select.column\(\) method is deprecated and will be " + "removed in a future release." + ): + stmt = stmt.column(column("q")) + + self.assert_compile(stmt, "SELECT x, q") + def test_append_column_after_replace_selectable(self): basesel = select([literal_column("1").label("a")]) tojoin = select( diff --git a/test/sql/test_external_traversal.py b/test/sql/test_external_traversal.py index 7001f757f..84d99d886 100644 --- a/test/sql/test_external_traversal.py +++ b/test/sql/test_external_traversal.py @@ -1831,7 +1831,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL): self.assert_compile( s, "SELECT table1.col1, table1.col2, " "table1.col3 FROM table1" ) - select_copy = s.column(column("yyy")) + select_copy = s.add_columns(column("yyy")) self.assert_compile( select_copy, "SELECT table1.col1, table1.col2, " "table1.col3, yyy FROM table1", diff --git a/test/sql/test_selectable.py b/test/sql/test_selectable.py index c3655efd2..cc2df16a9 100644 --- a/test/sql/test_selectable.py +++ b/test/sql/test_selectable.py @@ -346,8 +346,10 @@ class SelectableTest( sel = select([literal_column("1").label("a")]) eq_(list(sel.selected_columns.keys()), ["a"]) cloned = visitors.ReplacingCloningVisitor().traverse(sel) - cloned.column.non_generative(cloned, literal_column("2").label("b")) - cloned.column.non_generative(cloned, func.foo()) + cloned.add_columns.non_generative( + cloned, literal_column("2").label("b") + ) + cloned.add_columns.non_generative(cloned, func.foo()) eq_(list(cloned.selected_columns.keys()), ["a", "b", "foo()"]) def test_clone_col_list_changes_then_proxy(self): @@ -355,7 +357,7 @@ class SelectableTest( stmt = select([t.c.q]).subquery() def add_column(stmt): - stmt.column.non_generative(stmt, t.c.p) + stmt.add_columns.non_generative(stmt, t.c.p) stmt2 = visitors.cloned_traverse(stmt, {}, {"select": add_column}) eq_(list(stmt.c.keys()), ["q"]) @@ -366,7 +368,7 @@ class SelectableTest( stmt = select([t.c.q]).subquery() def add_column(stmt): - stmt.column.non_generative(stmt, t.c.p) + stmt.add_columns.non_generative(stmt, t.c.p) stmt2 = visitors.cloned_traverse(stmt, {}, {"select": add_column}) eq_(list(stmt.c.keys()), ["q"]) @@ -396,7 +398,7 @@ class SelectableTest( "JOIN (SELECT 1 AS a, 2 AS b) AS joinfrom " "ON basefrom.a = joinfrom.a", ) - replaced.column.non_generative(replaced, joinfrom.c.b) + replaced.add_columns.non_generative(replaced, joinfrom.c.b) self.assert_compile( replaced, "SELECT basefrom.a, joinfrom.b FROM (SELECT 1 AS a) AS basefrom " @@ -859,7 +861,7 @@ class SelectableTest( def test_join(self): a = join(table1, table2) - print(str(a.select(use_labels=True))) + print(str(a.select().apply_labels())) b = table2.alias("b") j = join(a, b) print(str(j)) @@ -874,7 +876,7 @@ class SelectableTest( self.assert_(criterion.compare(j.onclause)) def test_subquery_labels_join(self): - a = table1.select(use_labels=True).subquery() + a = table1.select().apply_labels().subquery() j = join(a, table2) criterion = a.c.table1_col1 == table2.c.col2 @@ -1580,7 +1582,7 @@ class JoinConditionTest(fixtures.TestBase, AssertsCompiledSQL): t1t2 = t1.join(t2) t2t3 = t2.join(t3) - st2t3 = t2t3.select(use_labels=True).subquery() + st2t3 = t2t3.select().apply_labels().subquery() j = t1t2.join(st2t3) assert j.onclause.compare(t2.c.id == st2t3.c.t3_t2id) self.assert_compile( @@ -2016,7 +2018,8 @@ class ReduceTest(fixtures.TestBase, AssertsExecutionResults): pjoin = ( people.outerjoin(engineers) .outerjoin(managers) - .select(use_labels=True) + .select() + .apply_labels() .alias("pjoin") ) eq_( diff --git a/test/sql/test_text.py b/test/sql/test_text.py index ae4be65ad..58de41709 100644 --- a/test/sql/test_text.py +++ b/test/sql/test_text.py @@ -91,8 +91,7 @@ class SelectCompositionTest(fixtures.TestBase, AssertsCompiledSQL): def test_select_composition_two(self): s = select() - s = s.column(column("column1")) - s = s.column(column("column2")) + s = s.add_columns(column("column1"), column("column2")) s = s.where(text("column1=12")) s = s.where(text("column2=19")) s = s.order_by("column1") diff --git a/test/sql/test_update.py b/test/sql/test_update.py index 0313db832..68db6270f 100644 --- a/test/sql/test_update.py +++ b/test/sql/test_update.py @@ -505,7 +505,7 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL): column_keys=["j"], ) - def test_update_ordered_parameters_1(self): + def test_update_ordered_parameters_oldstyle_1(self): table1 = self.tables.mytable # Confirm that we can pass values as list value pairs @@ -534,7 +534,35 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL): "mytable.name = :param_2 || mytable.name || :param_3", ) - def test_update_ordered_parameters_2(self): + def test_update_ordered_parameters_newstyle_1(self): + table1 = self.tables.mytable + + # Confirm that we can pass values as list value pairs + # note these are ordered *differently* from table.c + values = [ + (table1.c.name, table1.c.name + "lala"), + (table1.c.myid, func.do_stuff(table1.c.myid, literal("hoho"))), + ] + self.assert_compile( + update(table1) + .where( + (table1.c.myid == func.hoho(4)) + & ( + table1.c.name + == literal("foo") + table1.c.name + literal("lala") + ) + ) + .ordered_values(*values), + "UPDATE mytable " + "SET " + "name=(mytable.name || :name_1), " + "myid=do_stuff(mytable.myid, :param_1) " + "WHERE " + "mytable.myid = hoho(:hoho_1) AND " + "mytable.name = :param_2 || mytable.name || :param_3", + ) + + def test_update_ordered_parameters_oldstyle_2(self): table1 = self.tables.mytable # Confirm that we can pass values as list value pairs @@ -564,6 +592,35 @@ class UpdateTest(_UpdateFromTestBase, fixtures.TablesTest, AssertsCompiledSQL): "mytable.name = :param_2 || mytable.name || :param_3", ) + def test_update_ordered_parameters_newstyle_2(self): + table1 = self.tables.mytable + + # Confirm that we can pass values as list value pairs + # note these are ordered *differently* from table.c + values = [ + (table1.c.name, table1.c.name + "lala"), + ("description", "some desc"), + (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") + ), + ).ordered_values(*values), + "UPDATE mytable " + "SET " + "name=(mytable.name || :name_1), " + "description=:description, " + "myid=do_stuff(mytable.myid, :param_1) " + "WHERE " + "mytable.myid = hoho(:hoho_1) AND " + "mytable.name = :param_2 || mytable.name || :param_3", + ) + def test_update_ordered_parameters_fire_onupdate(self): table = self.tables.update_w_default |
