In SQL, not in (2, 7, 9) will return only non-null records.
In OpenERP, a domain with not in [2, 7, 9] should return
every record whose value is not 2 or 7 or 9, including
the one with a null value.
This means that the union of (not in XXX) and (in XXX)
will return the whole set.
bzr revid: vmt@openerp.com-20110810130646-2y822a276igz2f1g
The newly added tests were wrong before the fix.
The change might break existing code if it was relying
on this broken behavior.
This also starts a better separation of concern between
parse() and __leaf_to_sql.
bzr revid: vmt@openerp.com-20110810085604-1f6ahwzuzfklj1b7
- it does two unrelated things
- splitting it makes visible that ids2 and operator are no more used in some calls
- _rec_convert now behaves differently but it probably cannot be called with an empty ids arg anyway.
bzr revid: vmt@openerp.com-20110726142244-54ty1gn7jxxz3cwi
This adds a normalize_domain() method to osv.expression, which ir.rule calls
before combining expressions due to multiple rules or groups being applicable
to a certain user.
YAML tests are also added with a trivial unit test of normalize_domain() and
some additional tests for ir_rule in order to verify that unnormalized domains
are properly normalized before being combined by ir.rule.
bzr revid: odo@openerp.com-20110324111757-uwuoqvm3lxkipr08
- Some logging code moved from netsvc.py to loglevels.py
- Changed imports to use the new openerp module
- config and netsvc initialization calls move to openerp-server.py
- Moved openerp-server.py outside the old bin directory
- Some imports in tools moved inside the methods to break mutual-dependencies
bzr revid: vmt@openerp.com-20110207125723-ooee7d7ng5elmkso