bd0bae6625
expression.parse: refactored the main parsing loop, now using source and result stacks. Leaf elements are encapsulated into a specific object, allowing to delegate the join condition formation, working table management and table aliases generation to them. The parsing is now a simple loop taking a leaf, doing one action on it, and putting the result back to be analyzed or in the results. This allows to avoid having nested loops and uncontrolled results. Other modifications : - updated the generation of order_by to take into account the table now referred using aliases - updated Query object to use the aliases - fixed an outstanding bug about _order, now handled as order. This means that putting direct SQL into _order of models will not be supported anymore, because of the computing complexity now that we have multiple joins in queries. The branch holds the patch from Paulius Sladkevičius - updated and added tests - added a basic documentation for the freature lp bug: https://launchpad.net/bugs/1070757 fixed bzr revid: tde@openerp.com-20121210154652-6sab9usb38i7adlh |
||
---|---|---|
.. | ||
__init__.py | ||
expression.py | ||
fields.py | ||
orm.py | ||
osv.py | ||
query.py |