diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-10-22 17:37:07 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-10-25 19:45:28 -0400 |
commit | 4a15f40a39d13a2efc2565178a687c50a4e16d22 (patch) | |
tree | 78a9e4bd30e4a89efb01277ed81320bf185e5005 /test/orm/test_joins.py | |
parent | 92aa35e7fc737de58c25d6c22bf1c48f6c4c714b (diff) | |
download | sqlalchemy-4a15f40a39d13a2efc2565178a687c50a4e16d22.tar.gz |
warnings: select_entity_from()
Change-Id: I8c259e61134c38a1fa907c308068337473c82914
Diffstat (limited to 'test/orm/test_joins.py')
-rw-r--r-- | test/orm/test_joins.py | 75 |
1 files changed, 28 insertions, 47 deletions
diff --git a/test/orm/test_joins.py b/test/orm/test_joins.py index 42f9b9aa1..b9f036b1f 100644 --- a/test/orm/test_joins.py +++ b/test/orm/test_joins.py @@ -1271,10 +1271,9 @@ class JoinTest(QueryTest, AssertsCompiledSQL): ) def test_clause_onclause(self): - Item, Order, users, order_items, User = ( + Item, Order, order_items, User = ( self.classes.Item, self.classes.Order, - self.tables.users, self.tables.order_items, self.classes.User, ) @@ -1322,17 +1321,6 @@ class JoinTest(QueryTest, AssertsCompiledSQL): [User(name="fred")], ) - # same with an explicit select_from() - eq_( - sess.query(User) - .select_entity_from( - select(users).order_by(User.id).offset(2).alias() - ) - .join(Order, User.id == Order.user_id) - .all(), - [User(name="fred")], - ) - def test_aliased_classes(self): User, Address = self.classes.User, self.classes.Address @@ -3053,26 +3041,24 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL): "WHERE people.people_id = books.book_owner_id) AS anon_1 ON true", ) - # sef == select_entity_from - def test_select_subquery_sef_implicit_correlate(self): + # "aas" == "aliased against select" + def test_select_subquery_aas_implicit_correlate(self): Person, Book = self.classes("Person", "Book") s = fixture_session() stmt = s.query(Person).subquery() + pa = aliased(Person, stmt) + subq = ( s.query(Book.book_id) - .filter(Person.people_id == Book.book_owner_id) + .filter(pa.people_id == Book.book_owner_id) .subquery() .lateral() ) - stmt = ( - s.query(Person, subq.c.book_id) - .select_entity_from(stmt) - .join(subq, true()) - ) + stmt = s.query(pa, subq.c.book_id).join(subq, true()) self.assert_compile( stmt, @@ -3087,25 +3073,23 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL): "WHERE anon_1.people_id = books.book_owner_id) AS anon_2 ON true", ) - def test_select_subquery_sef_implicit_correlate_coreonly(self): + def test_select_subquery_aas_implicit_correlate_coreonly(self): Person, Book = self.classes("Person", "Book") s = fixture_session() stmt = s.query(Person).subquery() + pa = aliased(Person, stmt) + subq = ( select(Book.book_id) - .where(Person.people_id == Book.book_owner_id) + .where(pa.people_id == Book.book_owner_id) .subquery() .lateral() ) - stmt = ( - s.query(Person, subq.c.book_id) - .select_entity_from(stmt) - .join(subq, true()) - ) + stmt = s.query(pa, subq.c.book_id).join(subq, true()) self.assert_compile( stmt, @@ -3120,26 +3104,24 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL): "WHERE anon_1.people_id = books.book_owner_id) AS anon_2 ON true", ) - def test_select_subquery_sef_explicit_correlate_coreonly(self): + def test_select_subquery_aas_explicit_correlate_coreonly(self): Person, Book = self.classes("Person", "Book") s = fixture_session() stmt = s.query(Person).subquery() + pa = aliased(Person, stmt) + subq = ( select(Book.book_id) - .correlate(Person) - .where(Person.people_id == Book.book_owner_id) + .correlate(pa) + .where(pa.people_id == Book.book_owner_id) .subquery() .lateral() ) - stmt = ( - s.query(Person, subq.c.book_id) - .select_entity_from(stmt) - .join(subq, true()) - ) + stmt = s.query(pa, subq.c.book_id).join(subq, true()) self.assert_compile( stmt, @@ -3154,26 +3136,23 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL): "WHERE anon_1.people_id = books.book_owner_id) AS anon_2 ON true", ) - def test_select_subquery_sef_explicit_correlate(self): + def test_select_subquery_aas_explicit_correlate(self): Person, Book = self.classes("Person", "Book") s = fixture_session() stmt = s.query(Person).subquery() + pa = aliased(Person, stmt) subq = ( s.query(Book.book_id) - .correlate(Person) - .filter(Person.people_id == Book.book_owner_id) + .correlate(pa) + .filter(pa.people_id == Book.book_owner_id) .subquery() .lateral() ) - stmt = ( - s.query(Person, subq.c.book_id) - .select_entity_from(stmt) - .join(subq, true()) - ) + stmt = s.query(pa, subq.c.book_id).join(subq, true()) self.assert_compile( stmt, @@ -3206,17 +3185,19 @@ class JoinLateralTest(fixtures.MappedTest, AssertsCompiledSQL): "bookcases.bookcase_shelves) AS anon_1 ON true", ) - def test_from_function_select_entity_from(self): + def test_from_function_aas(self): Bookcase = self.classes.Bookcase s = fixture_session() subq = s.query(Bookcase).subquery() - srf = lateral(func.generate_series(1, Bookcase.bookcase_shelves)) + ba = aliased(Bookcase, subq) + + srf = lateral(func.generate_series(1, ba.bookcase_shelves)) self.assert_compile( - s.query(Bookcase).select_entity_from(subq).join(srf, true()), + s.query(ba).join(srf, true()), "SELECT anon_1.bookcase_id AS anon_1_bookcase_id, " "anon_1.bookcase_owner_id AS anon_1_bookcase_owner_id, " "anon_1.bookcase_shelves AS anon_1_bookcase_shelves, " |