summaryrefslogtreecommitdiff
path: root/test/orm/test_joins.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/orm/test_joins.py')
-rw-r--r--test/orm/test_joins.py97
1 files changed, 67 insertions, 30 deletions
diff --git a/test/orm/test_joins.py b/test/orm/test_joins.py
index 976b5650e..5aefe61cc 100644
--- a/test/orm/test_joins.py
+++ b/test/orm/test_joins.py
@@ -1,24 +1,39 @@
-from sqlalchemy.testing import eq_, assert_raises, assert_raises_message
-import operator
-from sqlalchemy import *
-from sqlalchemy import exc as sa_exc, util
-from sqlalchemy.sql import compiler, table, column
+import sqlalchemy as sa
+from sqlalchemy import and_
+from sqlalchemy import desc
+from sqlalchemy import exc as sa_exc
+from sqlalchemy import ForeignKey
+from sqlalchemy import func
+from sqlalchemy import Integer
+from sqlalchemy import lateral
+from sqlalchemy import literal_column
+from sqlalchemy import MetaData
+from sqlalchemy import not_
+from sqlalchemy import or_
+from sqlalchemy import select
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy import true
from sqlalchemy.engine import default
-from sqlalchemy.orm import *
-from sqlalchemy.orm import attributes
-
+from sqlalchemy.orm import aliased
+from sqlalchemy.orm import backref
+from sqlalchemy.orm import configure_mappers
+from sqlalchemy.orm import create_session
+from sqlalchemy.orm import join
+from sqlalchemy.orm import joinedload
+from sqlalchemy.orm import mapper
+from sqlalchemy.orm import outerjoin
+from sqlalchemy.orm import relationship
+from sqlalchemy.orm import Session
+from sqlalchemy.orm import synonym
+from sqlalchemy.testing import assert_raises
+from sqlalchemy.testing import assert_raises_message
+from sqlalchemy.testing import AssertsCompiledSQL
from sqlalchemy.testing import eq_
-
-import sqlalchemy as sa
-from sqlalchemy import testing
-from sqlalchemy.testing import AssertsCompiledSQL, engines
+from sqlalchemy.testing import fixtures
from sqlalchemy.testing.schema import Column
from test.orm import _fixtures
-from sqlalchemy.testing import fixtures
-
-from sqlalchemy.orm.util import join, outerjoin, with_parent
-
class QueryTest(_fixtures.FixtureTest):
run_setup_mappers = "once"
@@ -27,7 +42,26 @@ class QueryTest(_fixtures.FixtureTest):
@classmethod
def setup_mappers(cls):
- Node, composite_pk_table, users, Keyword, items, Dingaling, order_items, item_keywords, Item, User, dingalings, Address, keywords, CompositePk, nodes, Order, orders, addresses = (
+ (
+ Node,
+ composite_pk_table,
+ users,
+ Keyword,
+ items,
+ Dingaling,
+ order_items,
+ item_keywords,
+ Item,
+ User,
+ dingalings,
+ Address,
+ keywords,
+ CompositePk,
+ nodes,
+ Order,
+ orders,
+ addresses,
+ ) = (
cls.classes.Node,
cls.tables.composite_pk_table,
cls.tables.users,
@@ -748,7 +782,8 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
self.assert_compile(
sess.query(User).join(oalias1.user),
"SELECT users.id AS users_id, users.name AS users_name "
- "FROM orders AS orders_1 JOIN users ON users.id = orders_1.user_id",
+ "FROM orders AS orders_1 JOIN users "
+ "ON users.id = orders_1.user_id",
)
def test_single_prop_4(self):
@@ -964,15 +999,15 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_overlapping_paths(self):
User = self.classes.User
- for aliased in (True, False):
+ for aliased_ in (True, False):
# load a user who has an order that contains item id 3 and address
# id 1 (order 3, owned by jack)
result = (
create_session()
.query(User)
- .join("orders", "items", aliased=aliased)
+ .join("orders", "items", aliased=aliased_)
.filter_by(id=3)
- .join("orders", "address", aliased=aliased)
+ .join("orders", "address", aliased=aliased_)
.filter_by(id=1)
.all()
)
@@ -1375,7 +1410,8 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
"SELECT users.id AS users_id, users.name AS users_name, "
"users_1.id AS users_1_id, users_1.name AS users_1_name "
"FROM users, "
- "users AS users_1 JOIN addresses ON users_1.id = addresses.user_id",
+ "users AS users_1 JOIN addresses "
+ "ON users_1.id = addresses.user_id",
)
def test_join_explicit_left_multiple_adapted(self):
@@ -1408,7 +1444,8 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
"SELECT users_1.id AS users_1_id, users_1.name AS users_1_name, "
"users_2.id AS users_2_id, users_2.name AS users_2_name "
"FROM users AS users_1, "
- "users AS users_2 JOIN addresses ON users_2.id = addresses.user_id",
+ "users AS users_2 JOIN addresses "
+ "ON users_2.id = addresses.user_id",
)
def test_join_entity_from_multiple_from_clause(self):
@@ -2053,16 +2090,16 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
def test_reset_joinpoint(self):
User = self.classes.User
- for aliased in (True, False):
+ for aliased_ in (True, False):
# load a user who has an order that contains item id 3 and address
# id 1 (order 3, owned by jack)
result = (
create_session()
.query(User)
- .join("orders", "items", aliased=aliased)
+ .join("orders", "items", aliased=aliased_)
.filter_by(id=3)
.reset_joinpoint()
- .join("orders", "address", aliased=aliased)
+ .join("orders", "address", aliased=aliased_)
.filter_by(id=1)
.all()
)
@@ -2071,10 +2108,10 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
result = (
create_session()
.query(User)
- .join("orders", "items", aliased=aliased, isouter=True)
+ .join("orders", "items", aliased=aliased_, isouter=True)
.filter_by(id=3)
.reset_joinpoint()
- .join("orders", "address", aliased=aliased, isouter=True)
+ .join("orders", "address", aliased=aliased_, isouter=True)
.filter_by(id=1)
.all()
)
@@ -2083,10 +2120,10 @@ class JoinTest(QueryTest, AssertsCompiledSQL):
result = (
create_session()
.query(User)
- .outerjoin("orders", "items", aliased=aliased)
+ .outerjoin("orders", "items", aliased=aliased_)
.filter_by(id=3)
.reset_joinpoint()
- .outerjoin("orders", "address", aliased=aliased)
+ .outerjoin("orders", "address", aliased=aliased_)
.filter_by(id=1)
.all()
)