]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- merged #1401 branch from bitbucket
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 22 Apr 2012 23:43:31 +0000 (19:43 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 22 Apr 2012 23:43:31 +0000 (19:43 -0400)
commit713a4e19fa6c4397191dd7311152c6c69c37535e
treecc73d61aa1275e65378f0c618ee3756836ac943e
parent02e8d401fea0c77a60efcdd1138cf29b30384219
parent35adeb95bf917330e1366f8a7252999419819fb1
- merged #1401 branch from bitbucket
- resolved some serious speed hits I missed, we need to ensure
only deannotated columns are used in the local/remote collections and soforth
so that hash lookups against mapped columns don't dig into __eq__()
- fix some other parity mismatches regarding stuff from [ticket:2453],
including finding another case where _deep_annotate() was doing the wrong thing,
new tests.
- [feature] Major rewrite of relationship()
internals now allow join conditions which
include columns pointing to themselves
within composite foreign keys.   A new
API for very specialized primaryjoin conditions
is added, allowing conditions based on
SQL functions, CAST, etc. to be handled
by placing the annotation functions
remote() and foreign() inline within the
expression when necessary.  Previous recipes
using the semi-private _local_remote_pairs
approach can be upgraded to this new
approach. [ticket:1401]
15 files changed:
CHANGES
lib/sqlalchemy/ext/declarative.py
lib/sqlalchemy/orm/__init__.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/relationships.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/orm/util.py
lib/sqlalchemy/sql/expression.py
lib/sqlalchemy/sql/util.py
lib/sqlalchemy/sql/visitors.py
test/aaa_profiling/test_orm.py
test/orm/test_mapper.py
test/orm/test_query.py
test/sql/test_generative.py
test/sql/test_selectable.py