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

Reply via email to