]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- rewrote and simplified the system used to "target" columns across
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 5 Nov 2007 00:59:19 +0000 (00:59 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 5 Nov 2007 00:59:19 +0000 (00:59 +0000)
commit0e25c2d9e8539dc45dc34c9cc28c7b42f2e97aac
treec0bbd8d5dd0573dbf98ca879f0bb626e172c492d
parent303e753b2d674d89f8277e8cd06dd0acf7094549
- rewrote and simplified the system used to "target" columns across
selectable expressions.  On the SQL side this is represented by the
"corresponding_column()" method. This method is used heavily by the ORM
to "adapt" elements of an expression to similar, aliased expressions,
as well as to target result set columns originally bound to a
table or selectable to an aliased, "corresponding" expression.  The new
rewrite features completely consistent and accurate behavior.
- the "orig_set" and "distance" elements as well as all associated
fanfare are gone (hooray !)
- columns now have an optional "proxies" list which is a list of all
columns they are a "proxy" for; only CompoundSelect cols proxy more than one column
(just like before).  set operations are used to determine lineage.
- CompoundSelects (i.e. unions) only create one public-facing proxy column per
column name.  primary key collections come out with just one column per embedded
PK column.
- made the alias used by eager load limited subquery anonymous.
CHANGES
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/schema.py
lib/sqlalchemy/sql/expression.py
test/orm/inheritance/polymorph2.py
test/sql/selectable.py