summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-09-11 11:51:44 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2014-09-11 11:51:44 -0400
commitf98c89d2bee2ae562c79d91aeb96fd55875db917 (patch)
tree32587780d07551d6d092c8740acecdb700042002 /test
parent14d2bb074cccdec32bd26a89353c30fd512b2aa2 (diff)
downloadsqlalchemy-f98c89d2bee2ae562c79d91aeb96fd55875db917.tar.gz
- Fixed warning that would emit when a complex self-referential
primaryjoin contained functions, while at the same time remote_side was specified; the warning would suggest setting "remote side". It now only emits if remote_side isn't present. fixes #3194
Diffstat (limited to 'test')
-rw-r--r--test/orm/test_rel_fn.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/orm/test_rel_fn.py b/test/orm/test_rel_fn.py
index f0aa538f4..150b59b75 100644
--- a/test/orm/test_rel_fn.py
+++ b/test/orm/test_rel_fn.py
@@ -242,6 +242,22 @@ class _JoinFixtures(object):
**kw
)
+ def _join_fixture_o2m_composite_selfref_func_remote_side(self, **kw):
+ return relationships.JoinCondition(
+ self.composite_selfref,
+ self.composite_selfref,
+ self.composite_selfref,
+ self.composite_selfref,
+ primaryjoin=and_(
+ self.composite_selfref.c.group_id ==
+ func.foo(self.composite_selfref.c.group_id),
+ self.composite_selfref.c.parent_id ==
+ self.composite_selfref.c.id
+ ),
+ remote_side=set([self.composite_selfref.c.parent_id]),
+ **kw
+ )
+
def _join_fixture_o2m_composite_selfref_func_annotated(self, **kw):
return relationships.JoinCondition(
self.composite_selfref,
@@ -729,6 +745,10 @@ class ColumnCollectionsTest(_JoinFixtures, fixtures.TestBase,
self._join_fixture_o2m_composite_selfref_func
)
+ def test_determine_local_remote_pairs_o2m_composite_selfref_func_rs(self):
+ # no warning
+ self._join_fixture_o2m_composite_selfref_func_remote_side()
+
def test_determine_local_remote_pairs_o2m_overlap_func_warning(self):
self._assert_non_simple_warning(
self._join_fixture_m2o_sub_to_joined_sub_func