]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
17 years agoWhitespace
Lele Gaifax [Wed, 14 May 2008 15:19:20 +0000 (15:19 +0000)] 
Whitespace

17 years ago- renamed query.slice_() to query.slice()
Mike Bayer [Tue, 13 May 2008 20:35:41 +0000 (20:35 +0000)] 
- renamed query.slice_() to query.slice()
- pulled out DeclarativeMeta.__init__ into its own function, added instrument_declarative()
which will do the "declarative" thing to any class independent of its lineage (for ctheune)
- added "cls" kwarg to declarative_base() allowing user-defined base class for declarative base [ticket:1042]

17 years ago- LIMIT/OFFSET of zero is detected within compiler and is counted
Mike Bayer [Tue, 13 May 2008 19:55:49 +0000 (19:55 +0000)] 
- LIMIT/OFFSET of zero is detected within compiler and is counted
- Query.__getitem__ now returns list/scalar in all cases, not generative (#1035)
- added Query.slice_() which provides the simple "limit/offset from a positive range" operation,
we can rename this to range_()/section()/_something_private_because_users_shouldnt_do_this() as needed

17 years ago- fixed propagation of operate() for aliased relation descriptors
Mike Bayer [Tue, 13 May 2008 19:52:15 +0000 (19:52 +0000)] 
- fixed propagation of operate() for aliased relation descriptors
- ColumnEntity gets a selectable

17 years agoRemoved declared_synonym(), pep-8 clean ups.
Jason Kirtland [Tue, 13 May 2008 18:14:28 +0000 (18:14 +0000)] 
Removed declared_synonym(), pep-8 clean ups.

17 years agoRemoved: all legacy users migrated.
Jason Kirtland [Tue, 13 May 2008 17:44:49 +0000 (17:44 +0000)] 
Removed: all legacy users migrated.

17 years ago- Reworked test/orm/mapper
Jason Kirtland [Tue, 13 May 2008 16:39:47 +0000 (16:39 +0000)] 
- Reworked test/orm/mapper
- Exposed some uncovered (and broken) functionality
- Fixed [ticket:1038]

17 years agoTag PKs with `test_needs_autoincrement` on a few test
Lele Gaifax [Tue, 13 May 2008 09:40:44 +0000 (09:40 +0000)] 
Tag PKs with `test_needs_autoincrement` on a few test

17 years agoSupport for under Firebird
Lele Gaifax [Tue, 13 May 2008 09:31:30 +0000 (09:31 +0000)] 
Support for  under Firebird

17 years agoTag some tests that fail under Firebird
Lele Gaifax [Tue, 13 May 2008 09:06:27 +0000 (09:06 +0000)] 
Tag some tests that fail under Firebird

17 years agoscaled back the equivalents determined in _equivalent_columns to just current polymor...
Mike Bayer [Mon, 12 May 2008 22:44:04 +0000 (22:44 +0000)] 
scaled back the equivalents determined in _equivalent_columns to just current polymorphic_union
 behavior, fixes [ticket:1041]

17 years ago- clause adaption hits _raw_columns of a select() (though no ORM tests need this...
Mike Bayer [Mon, 12 May 2008 16:15:28 +0000 (16:15 +0000)] 
- clause adaption hits _raw_columns of a select() (though no ORM tests need this feature currently)
- broke up adapter chaining in eagerload, erroneous "wrapping" in row_decorator.  column_property() subqueries are now affected only by the ORMAdapter for that mapper.  fixes [ticket:1037], and may possibly impact some of [ticket:949]

17 years agoCheck for the presence of the Firebird generator, when creating/dropping a sequence
Lele Gaifax [Mon, 12 May 2008 15:33:55 +0000 (15:33 +0000)] 
Check for the presence of the Firebird generator, when creating/dropping a sequence

17 years agoAdd another exception case to Firebird' is_disconnect()
Lele Gaifax [Mon, 12 May 2008 13:51:14 +0000 (13:51 +0000)] 
Add another exception case to Firebird' is_disconnect()

17 years agoTypo
Lele Gaifax [Mon, 12 May 2008 10:19:47 +0000 (10:19 +0000)] 
Typo

17 years agoTagged two tests that fail under Firebird
Lele Gaifax [Mon, 12 May 2008 10:10:21 +0000 (10:10 +0000)] 
Tagged two tests that fail under Firebird

17 years agoUse a BLOB when asked for a [VAR]CHAR without a length under Firebird
Lele Gaifax [Mon, 12 May 2008 10:09:16 +0000 (10:09 +0000)] 
Use a BLOB when asked for a [VAR]CHAR without a length under Firebird

17 years agoAdded explicit sequences on a few primary keys and minor fixes wrt Firebird
Lele Gaifax [Mon, 12 May 2008 09:33:16 +0000 (09:33 +0000)] 
Added explicit sequences on a few primary keys and minor fixes wrt Firebird

17 years agotweak
Mike Bayer [Sat, 10 May 2008 23:15:13 +0000 (23:15 +0000)] 
tweak

17 years agoanother approach
Mike Bayer [Sat, 10 May 2008 22:15:47 +0000 (22:15 +0000)] 
another approach

17 years agocant reproduce buildbot's memory profiling, random fix attempt
Mike Bayer [Sat, 10 May 2008 21:36:21 +0000 (21:36 +0000)] 
cant reproduce buildbot's memory profiling, random fix attempt

17 years agoadded blurb on session.rollback()
Mike Bayer [Sat, 10 May 2008 20:00:10 +0000 (20:00 +0000)] 
added blurb on session.rollback()

17 years agopy2.4 seems to have different memory behavior than 2.5, test for both "adjusting...
Mike Bayer [Sat, 10 May 2008 19:27:05 +0000 (19:27 +0000)] 
py2.4 seems to have different memory behavior than 2.5, test for both "adjusting down" as well as "flatline"

17 years ago- removed all the order by's that no longer apply.
Mike Bayer [Sat, 10 May 2008 19:19:47 +0000 (19:19 +0000)] 
- removed all the order by's that no longer apply.
- realized about declarative that foobar: relation("SomeFutureClass") is not very useful for collections since
we can't set "order_by" there.

17 years agocorrecting dataload profiles for various tests
Mike Bayer [Sat, 10 May 2008 18:38:20 +0000 (18:38 +0000)] 
correcting dataload profiles for various tests

17 years agobizarre duplicate keyword seems to not raise in py2.5
Mike Bayer [Sat, 10 May 2008 17:44:54 +0000 (17:44 +0000)] 
bizarre duplicate keyword seems to not raise in py2.5

17 years agomerged r4720 from 04 branch for [ticket:1036]
Mike Bayer [Sat, 10 May 2008 17:42:09 +0000 (17:42 +0000)] 
merged r4720 from 04 branch for [ticket:1036]

17 years agoFix typo in the ORM tutorial
Lele Gaifax [Sat, 10 May 2008 09:02:55 +0000 (09:02 +0000)] 
Fix typo in the ORM tutorial

17 years agoReworked & stripped.
Jason Kirtland [Sat, 10 May 2008 01:59:07 +0000 (01:59 +0000)] 
Reworked & stripped.

17 years agoorder by doc
Mike Bayer [Sat, 10 May 2008 00:54:17 +0000 (00:54 +0000)] 
order by doc

17 years agoedits
Mike Bayer [Sat, 10 May 2008 00:31:35 +0000 (00:31 +0000)] 
edits

17 years agoremoved deprecated plugins docs
Mike Bayer [Sat, 10 May 2008 00:31:09 +0000 (00:31 +0000)] 
removed deprecated plugins docs

17 years agobackref() function uses primaryjoin/secondaryjoin of the parent relation() if not...
Mike Bayer [Sat, 10 May 2008 00:26:28 +0000 (00:26 +0000)] 
backref() function uses primaryjoin/secondaryjoin of the parent relation() if not otherwise specified, removing the frequently annoying need to specify primaryjoin twice.

17 years agoChipping away at remaining cruft.
Jason Kirtland [Sat, 10 May 2008 00:05:03 +0000 (00:05 +0000)] 
Chipping away at remaining cruft.

17 years ago- fixed a fairly critical bug in clause adaption/corresponding column in conjunction...
Mike Bayer [Fri, 9 May 2008 23:58:30 +0000 (23:58 +0000)] 
- fixed a fairly critical bug in clause adaption/corresponding column in conjunction with annotations
- implicit order by is removed, modified many tests to explicitly set ordering, probably many more to go
once it hits the buildbot.

17 years agoadd target_fullname as a public property for _get_colspec
Gaëtan de Menten [Fri, 9 May 2008 20:49:32 +0000 (20:49 +0000)] 
add target_fullname as a public property for _get_colspec

17 years agoTest suite modernization in progress. Big changes:
Jason Kirtland [Fri, 9 May 2008 20:26:09 +0000 (20:26 +0000)] 
Test suite modernization in progress.  Big changes:
 - @unsupported now only accepts a single target and demands a reason
   for not running the test.
 - @exclude also demands an exclusion reason
 - Greatly expanded @testing.requires.<feature>, eliminating many
   decorators in the suite and signficantly easing integration of
   multi-driver support.
 - New ORM test base class, and a featureful base for mapped tests
 - Usage of 'global' for shared setup going away, * imports as well

17 years agomore order bys...
Mike Bayer [Fri, 9 May 2008 20:04:29 +0000 (20:04 +0000)] 
more order bys...

17 years agosome tweaks to help MySQL
Mike Bayer [Fri, 9 May 2008 19:42:32 +0000 (19:42 +0000)] 
some tweaks to help MySQL

17 years ago- more portable tests for eager/inheritance joins
Mike Bayer [Fri, 9 May 2008 19:20:49 +0000 (19:20 +0000)] 
- more portable tests for eager/inheritance joins
- bumped 2.4 call count for profile test_select
- don't need initialize_properties() during reentrant compile() call (for now)

17 years agoMSText no longer implicitly creates TEXT for string with no length
Mike Bayer [Fri, 9 May 2008 19:00:55 +0000 (19:00 +0000)] 
MSText no longer implicitly creates TEXT for string with no length
(this actually allows CAST (foo, VARCHAR) to render too)

17 years agoadded query.subquery() as shorthand for query.statement.alias()
Mike Bayer [Fri, 9 May 2008 18:57:40 +0000 (18:57 +0000)] 
added query.subquery() as shorthand for query.statement.alias()

17 years agoidentified case where pending upon commit() is needed; since attribute rollback funct...
Mike Bayer [Fri, 9 May 2008 18:43:05 +0000 (18:43 +0000)] 
identified case where pending upon commit() is needed; since attribute rollback functionality is gone its safe to revert to this

17 years agomove the definition of sessions public methods closer to the source
Ants Aasma [Fri, 9 May 2008 17:50:38 +0000 (17:50 +0000)] 
move the definition of sessions public methods closer to the source

17 years agoadded "add", "add_all", "expire_all" to SS
Mike Bayer [Fri, 9 May 2008 17:42:24 +0000 (17:42 +0000)] 
added "add", "add_all", "expire_all" to SS

17 years agotweak
Mike Bayer [Fri, 9 May 2008 17:28:43 +0000 (17:28 +0000)] 
tweak

17 years agoneed delete-orphan
Mike Bayer [Fri, 9 May 2008 17:21:10 +0000 (17:21 +0000)] 
need delete-orphan

17 years ago- warnings about Query invalid operations become InvalidRequestErrors
Mike Bayer [Fri, 9 May 2008 17:05:13 +0000 (17:05 +0000)] 
- warnings about Query invalid operations become InvalidRequestErrors
- __no_criterion() checks for more pre-existing conditions
- helpful note in 0.5 svn readme

17 years agor4695 merged to trunk; trunk now becomes 0.5.
Mike Bayer [Fri, 9 May 2008 16:34:10 +0000 (16:34 +0000)] 
r4695 merged to trunk; trunk now becomes 0.5.
0.4 development continues at /sqlalchemy/branches/rel_0_4

17 years agodoc update on quote
Mike Bayer [Thu, 8 May 2008 21:29:07 +0000 (21:29 +0000)] 
doc update on quote

17 years agoremove **kwargs from execute(), scalar(), connection(), and get_bind(). document...
Mike Bayer [Thu, 8 May 2008 00:47:23 +0000 (00:47 +0000)] 
remove **kwargs from execute(), scalar(), connection(), and get_bind().  document all args, [ticket:1028]

17 years ago- backported 0.5's contains_eager() behavior such that rendering of eager clauses...
Mike Bayer [Thu, 8 May 2008 00:19:06 +0000 (00:19 +0000)] 
- backported 0.5's contains_eager() behavior such that rendering of eager clauses are disabled.  workaround here is compatible with 0.5 but not compatible with the little-known "decorator" argument to contains_eager() (which was also removed in 0.5).  Doesn't remove any existing 0.4 functionality.

17 years ago- added an example dynamic_dict/dynamic_dict.py, illustrating
Mike Bayer [Wed, 7 May 2008 14:48:04 +0000 (14:48 +0000)] 
- added an example dynamic_dict/dynamic_dict.py, illustrating
a simple way to place dictionary behavior on top of
a dynamic_loader.

17 years ago- Fixed "concatenate tuple" bug which could occur with
Mike Bayer [Wed, 7 May 2008 03:48:14 +0000 (03:48 +0000)] 
- Fixed "concatenate tuple" bug which could occur with
Query.order_by() if clause adaption had taken place.
[ticket:1027]

17 years agoQuery.select() wont call filter() if arg is None
Mike Bayer [Tue, 6 May 2008 19:06:43 +0000 (19:06 +0000)] 
Query.select() wont call filter() if arg is None

17 years agofix foreign_keys example
Mike Bayer [Tue, 6 May 2008 16:06:22 +0000 (16:06 +0000)] 
fix foreign_keys example

17 years agoAdded missing argument check on CheckConstraint
Jason Kirtland [Tue, 6 May 2008 14:40:24 +0000 (14:40 +0000)] 
Added missing argument check on CheckConstraint

17 years ago- _Label adds itself to the proxy collection so that it works in correspoinding colum...
Mike Bayer [Tue, 6 May 2008 00:55:49 +0000 (00:55 +0000)] 
- _Label adds itself to the proxy collection so that it works in correspoinding column.  fixes some eager load with column_property bugs.
- this partially fixes some issues in [ticket:1022] but leaving the "unlabeled" fix for 0.5 for now

17 years ago- added "after_begin()" hook to Session
Mike Bayer [Tue, 6 May 2008 00:47:36 +0000 (00:47 +0000)] 
- added "after_begin()" hook to Session
- Session.rollback() will rollback on a prepared session

17 years agoTidy.
Jason Kirtland [Tue, 6 May 2008 00:46:00 +0000 (00:46 +0000)] 
Tidy.

17 years agoFix typo
Lele Gaifax [Mon, 5 May 2008 23:08:11 +0000 (23:08 +0000)] 
Fix typo

17 years agoAdjusted inplace-binops on set-based collections and association proxies to
Jason Kirtland [Mon, 5 May 2008 21:33:29 +0000 (21:33 +0000)] 
Adjusted inplace-binops on set-based collections and association proxies to
more closely follow builtin (2.4+) set semantics.  Formerly any set duck-type
was accepted, now only types or subtypes of set, frozenset or the collection
type itself are accepted.

17 years agofailing case
Mike Bayer [Mon, 5 May 2008 17:50:19 +0000 (17:50 +0000)] 
failing case

17 years agoFixed duplicate append event emission on repeated instrumented set.add() operations.
Jason Kirtland [Mon, 5 May 2008 17:08:00 +0000 (17:08 +0000)] 
Fixed duplicate append event emission on repeated instrumented set.add() operations.

17 years agoUpdate for r4643
Jason Kirtland [Mon, 5 May 2008 16:53:39 +0000 (16:53 +0000)] 
Update for r4643

17 years agoRenamed rollback_returned to reset_on_return. Future, dialect-aware pools can do...
Jason Kirtland [Mon, 5 May 2008 16:50:58 +0000 (16:50 +0000)] 
Renamed rollback_returned to reset_on_return.  Future, dialect-aware pools can do better than rollback for this function.

17 years ago - same as [ticket:1019] but repaired the non-labeled use case
Mike Bayer [Mon, 5 May 2008 16:46:24 +0000 (16:46 +0000)] 
- same as [ticket:1019] but repaired the non-labeled use case
      [ticket:1022]

17 years ago - added "rollback_returned" option to Pool which will
Mike Bayer [Mon, 5 May 2008 15:52:09 +0000 (15:52 +0000)] 
- added "rollback_returned" option to Pool which will
      disable the rollback() issued when connections are
      returned.  This flag is only safe to use with a database
      which does not support transactions (i.e. MySQL/MyISAM).

17 years ago - Column.copy() respects the value of "autoincrement",
Mike Bayer [Mon, 5 May 2008 14:59:07 +0000 (14:59 +0000)] 
  - Column.copy() respects the value of "autoincrement",
      fixes usage with Migrate [ticket:1021]

17 years ago- fixes to the "exists" function involving inheritance (any(), has(),
Mike Bayer [Fri, 2 May 2008 19:23:58 +0000 (19:23 +0000)] 
- fixes to the "exists" function involving inheritance (any(), has(),
~contains()); the full target join will be rendered into the
EXISTS clause for relations that link to subclasses.

17 years ago- The collection instrumentation sweep now skips over descriptors that raise Attribut...
Jason Kirtland [Fri, 2 May 2008 18:47:05 +0000 (18:47 +0000)] 
- The collection instrumentation sweep now skips over descriptors that raise AttributeError.

17 years ago- fixed reentrant mapper compile hang when
Mike Bayer [Fri, 2 May 2008 18:23:16 +0000 (18:23 +0000)] 
- fixed reentrant mapper compile hang when
a declared attribute is used within ForeignKey,
ie. ForeignKey(MyOtherClass.someattribute)

17 years ago- Backported attribute sweep removal (instrumentation) and r4493 from 0.5
Jason Kirtland [Fri, 2 May 2008 17:46:44 +0000 (17:46 +0000)] 
- Backported attribute sweep removal (instrumentation) and r4493 from 0.5

17 years agoone-off workaround for mssql + odbc options, user patch
Rick Morrison [Fri, 2 May 2008 17:26:38 +0000 (17:26 +0000)] 
one-off workaround for mssql + odbc options, user patch

17 years ago- an unfortunate naming conflict
Mike Bayer [Fri, 2 May 2008 01:15:26 +0000 (01:15 +0000)] 
- an unfortunate naming conflict
- needed sql import on and()

17 years ago- factored out the logic used by Join to create its join condition
Mike Bayer [Fri, 2 May 2008 01:02:23 +0000 (01:02 +0000)] 
- factored out the logic used by Join to create its join condition
- With declarative, joined table inheritance mappers use a slightly relaxed
function to create the "inherit condition" to the parent
table, so that other foreign keys to not-yet-declared
Table objects don't trigger an error.

17 years agoadded some reference tests for the any() situation
Mike Bayer [Thu, 1 May 2008 15:17:07 +0000 (15:17 +0000)] 
added some reference tests for the any() situation

17 years ago- Fix 2.3 regression from 4598
Jason Kirtland [Wed, 30 Apr 2008 02:52:14 +0000 (02:52 +0000)] 
- Fix 2.3 regression from 4598

17 years ago- added a feature to eager loading whereby subqueries set
Mike Bayer [Wed, 30 Apr 2008 01:16:05 +0000 (01:16 +0000)] 
- added a feature to eager loading whereby subqueries set
as column_property() with explicit label names (which is not
necessary, btw) will have the label anonymized when
the instance is part of the eager join, to prevent
conflicts with a subquery or column of the same name
on the parent object.  [ticket:1019]

17 years agoAnd a copy.copy() test for the proxy cache.
Jason Kirtland [Tue, 29 Apr 2008 18:28:36 +0000 (18:28 +0000)] 
And a copy.copy() test for the proxy cache.

17 years ago- Refresh the cached proxy if the cache was built for a different instance.
Jason Kirtland [Tue, 29 Apr 2008 18:22:23 +0000 (18:22 +0000)] 
- Refresh the cached proxy if the cache was built for a different instance.

17 years agoadded multi-level concrete inheritance test (testing with_polymorphic mapper argument)
Gaëtan de Menten [Tue, 29 Apr 2008 13:35:59 +0000 (13:35 +0000)] 
added multi-level concrete inheritance test (testing with_polymorphic mapper argument)

17 years agomore declarative doc updates
Mike Bayer [Mon, 28 Apr 2008 00:04:05 +0000 (00:04 +0000)] 
more declarative doc updates

17 years agofix docs for declarative
Mike Bayer [Sun, 27 Apr 2008 23:37:02 +0000 (23:37 +0000)] 
fix docs for declarative

17 years agoSavepoints are supported under Firebird
Lele Gaifax [Sun, 27 Apr 2008 08:54:36 +0000 (08:54 +0000)] 
Savepoints are supported under Firebird

17 years agofix order by for MySQL environment
Mike Bayer [Sat, 26 Apr 2008 20:18:31 +0000 (20:18 +0000)] 
fix order by for MySQL environment

17 years ago- improved behavior of text() expressions when used as
Mike Bayer [Sat, 26 Apr 2008 16:34:14 +0000 (16:34 +0000)] 
- improved behavior of text() expressions when used as
FROM clauses, such as select().select_from(text("sometext"))
[ticket:1014]
- removed _TextFromClause; _TextClause just adds necessary FromClause descriptors
at the class level

17 years ago- refined mapper._save_obj() which was unnecessarily calling
Mike Bayer [Sat, 26 Apr 2008 16:13:49 +0000 (16:13 +0000)] 
- refined mapper._save_obj() which was unnecessarily calling
__ne__() on scalar values during flush [ticket:1015]

17 years agoExpanded --noncomparable to cover all comparision ops
Jason Kirtland [Fri, 25 Apr 2008 20:44:02 +0000 (20:44 +0000)] 
Expanded --noncomparable to cover all comparision ops

17 years agotypo
Gaëtan de Menten [Fri, 25 Apr 2008 12:31:47 +0000 (12:31 +0000)] 
typo

17 years agoUpdate docstring [ticket:873]
Jason Kirtland [Tue, 22 Apr 2008 20:04:51 +0000 (20:04 +0000)] 
Update docstring [ticket:873]

17 years agoExplicit test of .autoflush(False) to avoid issues with save_on_init=True [ticket...
Jason Kirtland [Tue, 22 Apr 2008 19:57:13 +0000 (19:57 +0000)] 
Explicit test of .autoflush(False) to avoid issues with save_on_init=True [ticket:869]

17 years agoflush(objects=[]) is a no-op [ticket:928]
Jason Kirtland [Tue, 22 Apr 2008 19:29:56 +0000 (19:29 +0000)] 
flush(objects=[]) is a no-op [ticket:928]

17 years ago - fixed Class.collection==None for m2m relationships
Mike Bayer [Tue, 22 Apr 2008 15:05:10 +0000 (15:05 +0000)] 
- fixed Class.collection==None for m2m relationships
      [ticket:4213]

17 years ago- restored usage of append_result() extension method for primary
Mike Bayer [Fri, 18 Apr 2008 14:49:21 +0000 (14:49 +0000)] 
- restored usage of append_result() extension method for primary
query rows, when the extension is present and only a single-
entity result is being returned.

17 years agoAdded 'odbc_options' keyword to the MSSQL dialect. Allows a partial ODBC connection...
Rick Morrison [Thu, 17 Apr 2008 19:07:12 +0000 (19:07 +0000)] 
Added 'odbc_options' keyword to the MSSQL dialect. Allows a partial ODBC connection string to be passed through to the connection string generator.

17 years ago- Support for COLLATE: collate(expr, col) and expr.collate(col)
Jason Kirtland [Wed, 16 Apr 2008 00:53:21 +0000 (00:53 +0000)] 
- Support for COLLATE: collate(expr, col) and expr.collate(col)

17 years ago- simplified __create_lazy_clause to make better usage of the new local/remote pairs...
Mike Bayer [Mon, 14 Apr 2008 18:23:59 +0000 (18:23 +0000)] 
- simplified __create_lazy_clause to make better usage of the new local/remote pairs collection
- corrected the direction of local/remote pairs for manytoone
- added new tests which demonstrate lazyloading working when the bind param is embedded inside of a SQL function,
when _local_remote_pairs argument is used; fixes the viewonly version of [ticket:610]
- removed needless kwargs check from visitors.traverse

17 years agoadded info about _local_remote_pairs to error message
Mike Bayer [Mon, 14 Apr 2008 15:54:23 +0000 (15:54 +0000)] 
added info about _local_remote_pairs to error message

17 years ago- added experimental relation() flag to help with primaryjoins
Mike Bayer [Mon, 14 Apr 2008 15:49:39 +0000 (15:49 +0000)] 
- added experimental relation() flag to help with primaryjoins
across functions, etc., _local_remote_pairs=[tuples].
This complements a complex primaryjoin condition allowing
you to provide the individual column pairs which comprise
the relation's local and remote sides.