hey list -
just merged a branch that makes a large modifcation to the eager
loading methodology. this change should be an improvement in every
regard, in that it simplifies the code for eagerloading and
eliminates several user-error scenarios.
essentially the queries generated by relation(lazy=False) relations
will create aliases for all the involved tables, thereby eliminating
any conflicts with other eagerloaders that might be in the same
mapper referencing the same tables. also, the "recursive eager load"
idea, where you would say mapper A eagerloads mapper B which
eagerloads mapper A thereby creating a loop, should not occur
anymore, as it detects this condition based on the tables involved
and will tack on a lazy loader at the end of such a loop to break the
cycle.
so "selectalias", "use_alias" keyword arguments are deprecated no-
ops, and recursive eager loaders should be impossible.
I have gotten all the unittests to pass, made sure ZBlog works again
(it had a commit() incompatibility) and also am able to run this
enormous chain of eagerloaders supplied in a test suite by John Yang.
But, its new code, so all my claims above are subject to the word
"should", and please let me know of any strange or buggy behavior
that arises.
- mike
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Sqlalchemy-users mailing list
Sqlalchemy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users