Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Thu, 21 Apr 2011 18:10:49 +0200] rev 7240
merge back stable
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Thu, 21 Apr 2011 17:25:32 +0200] rev 7239
fix server/test/unittest_checkintegrity (failing since 70538ea2532d)
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Wed, 20 Apr 2011 16:55:52 +0200] rev 7238
fix implementation of repository.glob_add_relations (closes ##1625257)
the internal data structure had changed during implementation and the code had
not been updated...
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Fri, 15 Apr 2011 15:42:17 +0200] rev 7237
[server] improve the speed of setting relations between entities (closes #1625257)
The main idea is to add methods equivalent to session.add_relation and
repository.glob_add_relation which handle several relations in one call. Speed
gain results from:
* using cursor.executemany to run SQL statements
* factorizing some code which otherwise has to be performed for each relation,
such as context manager creation before calling hooks or to enable security,
creation of the EditedEntity instance (when several inlined relations are set
on a single entity, and consequently when refreshing the cached entity)
benchmark runs 1.1x faster for non inlined entities and 125x faster for inlined
entities :-)
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Fri, 15 Apr 2011 16:05:20 +0200] rev 7236
added test case to monitor speed improvements in the repository code.
To use it, add a test in a patch, then hack CW to speed it up in another patch,
updating the test if needed. By running the test with and without the second
patch applied you can easily see the speed improvements
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Wed, 20 Apr 2011 08:28:52 +0200] rev 7235
backport stable changes to default