Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:57:18 +0200] rev 5094
[optimization] traced_selection is used very intensively in debug mode
optimizing it is worth the pain. Basically : don't do stuff unnecessary
when we don't trace anything.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:55:19 +0200] rev 5093
[optimization] improve massive write performance by optimizing hooks selection
profiling on some massive deletion showed up that 2/3 of the time was spent
in hooks selection. Those changes make it much more acceptable (through
selection is still not negligeable):
* use one registry for each event, so we've much less hooks to check
when emiting an event as well as no more need for the match_event
selector. This required ability to put one appobject
into several registries, using a __registries__ class attribute.
* check for deprecated .enabled at registry initialization time instead
of at selection time
A very simple HooksManager class has been reintroduce to choose the
right registry on call_hooks.
Those optimisations leads to a ~x3 factor of time necessary to delete
16000 entities.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:45:14 +0200] rev 5092
[upgrade] after upgrade, fork command to start instance avoid grave uicfg pb (explicit rules all removed...)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 19:59:56 +0200] rev 5091
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 19:55:20 +0200] rev 5090
[repo creation] removing existing entities of 'single' cardinality relatino should be considered as 'activeintegrity' hook. Also don't disable that category during repo creation to avoid pb such as two default workflows for one entity types
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Tue, 30 Mar 2010 18:41:17 +0200] rev 5089
merge
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Tue, 30 Mar 2010 16:29:32 +0200] rev 5088
handle Service Close request correctly (closes #736039)
The windows event self._stop_event was not used, and twisted was not getting a
chance of terminating cleanly by calling its shutdown event handlers (which
would eventually call pyro_unregister). Fixed by calling reactor.stop()
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:59:18 +0200] rev 5087
[js form validation] fix case where we've None/null keys in the errors dictionnary
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:56:10 +0200] rev 5086
[cleanup] exists imported, use it
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:54:28 +0200] rev 5085
[form] CompoundField should not return itself in actual_fields, this avoid error on iliane with 3.7.2 where it's marked as required (from the schema) while value are provided by subfields
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:50:09 +0200] rev 5084
[repo] we want a hooks manager and hooks initialized event on quick start (we trigger events such as server_backup / server_restore for instance)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:29:03 +0200] rev 5083
[distribution] sql extensions files now have proper extension, fix manifest file
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 14:32:03 +0200] rev 5082
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:32:01 +0200] rev 5081
[events manager] onevent decorator may be given extra arguments to give to em.bind
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:31:21 +0200] rev 5080
[cleanup] some notes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:29:55 +0200] rev 5079
[reload] on registry reloading, we should change class of users of opened session
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:28:19 +0200] rev 5078
[appobject imports] don't include __init__ in package's name. See comment for more info
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:27:30 +0200] rev 5077
[rset] cubes such as iliane hi-jack rset description by poping some lines from it. Handle this on RepeatList
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:18:31 +0200] rev 5076
[undo] basic support for undoing of entity creation / relation addition
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:17:50 +0200] rev 5075
[undo] init entity cache when undoing an entity deletion
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:17:21 +0200] rev 5074
[undo] consistent is/is_instance_of processing
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:15:57 +0200] rev 5073
[repo] don't need rset description on those queries
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:15:08 +0200] rev 5072
[cleanup] style fixes, add nodes, 0.2 cents refactorings
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:06:13 +0200] rev 5071
[undo] during undoing, call hooks in the [active]integrity and undo categories
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:01:34 +0200] rev 5070
[repo] refactor fti operation to use set_operation and a single operation whatever the number of entities to ft index
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:57:42 +0200] rev 5069
[querier] introduce RepeatList class, used to optimize size of data returned for result set description
When rql query has no ambiguity, we used to return the same description * N
where N is the size of the result set. Returning RepeatList class avoid
that multiplication.
According to quick benchmark this improve performance for result set whose
size is ~ > 50, has very small penalty for rset < 50, and in any case improve
the size of data to be transfered over the network through pyro connection.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:50:46 +0200] rev 5068
[repo] on add entity, set cache as soon as possible + fill type/source cache
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:39:16 +0200] rev 5067
[repo] more efficient eid cache operations handling based on set_operation; refactor
* split CleanupEidTypeCache operation into one operation for deleted eids
and another for added eids, and put them in cw.server.hook
* for consistency, move fti unindexing handling from the repository
to the system source
* handling of deleted eids is done in plan execution (ssplanner), no
needs to redo it in *delete_info
-> no more need for _prepare_delete_info method, killed
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:28:41 +0200] rev 5066
[repo] move eschema_eid function from hooks.metadata to server.utils
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:20:03 +0200] rev 5065
[primary view] skip virtual rtypes anyway
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:18:23 +0200] rev 5064
[test] CubicWebTC.create_user expect an actual query, and we don't need to give session here
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:17:29 +0200] rev 5063
[dataimport] stop disabling undo ; commit return transaction id
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 29 Mar 2010 19:10:22 +0200] rev 5062
[logging] demote static file served to debug
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 13:34:24 +0200] rev 5061
[cleanup]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 13:34:06 +0200] rev 5060
[repo] optimize massive insertion/deletion by using the new set_operation function
Idea is that on massive insertion, cost of handling the list of operation
become non negligeable, so we should minimize the number of operations in
that list.
The set_operation function ease usage of operation associated to data in
session.transaction_data, and we only add the operation when data set isn't
initialized yet, else we simply add data to the set. The operation then
simply process accumulated data.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 13:28:41 +0200] rev 5059
[repo] make etype which should go in deleted_entities configurable: we only need this for types imported from other multi-sources instances
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 13:26:20 +0200] rev 5058
[repo] don't execute child step twice in EntitiesDeleteStep
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 13:25:13 +0200] rev 5057
[form] consider autoform_field_kwargs for meta fields; allow required customization
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 11:51:46 +0200] rev 5056
[workflow] support for automatic transition starting from the initial state
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 11:51:02 +0200] rev 5055
[testlib] create_user support extra kwargs to give to create_entity(CWUser)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 10:20:01 +0200] rev 5054
fix dataimport for 3.7.2
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 19:22:04 +0100] rev 5053
use lgc.testlib.TestCase
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 19:21:17 +0100] rev 5052
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 19:20:49 +0100] rev 5051
Added tag cubicweb-debian-version-3.7.2-1 for changeset 8fda29a6c219
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 19:20:48 +0100] rev 5050
Added tag cubicweb-version-3.7.2 for changeset d010f749c21d
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 17:07:41 +0100] rev 5049
take care to empty string in cubes search path
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 16:15:41 +0100] rev 5048
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 16:15:16 +0100] rev 5047
[ms] fix name error introduced by rql 0.26 api update
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 16:13:27 +0100] rev 5046
add note
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 15:54:35 +0100] rev 5045
3.7.2
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 15:54:01 +0100] rev 5044
[selectors] new is_in_state select to avoid common error when writing state based selector
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 15:53:07 +0100] rev 5043
[repo config] cleanup read_instance_schema / bootstrap_schema / creating mess
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 14:13:34 +0100] rev 5042
fix #726167: i18ninstance use data in bootstrab_cubes instead of the database one
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 13:45:48 +0100] rev 5041
[cleanup] remove 3.7 deprecation warning
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 13:45:21 +0100] rev 5040
[form controller] clear caches in case some attribute participating to the rest path has been modified, avoid redirection to a no more existant page (fix #753567)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 13:33:47 +0100] rev 5039
i18nupdate
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 13:33:32 +0100] rev 5038
[form] fix validation error handling
* type when possible ValidationError raised by the edit controller
* don't rely on repository to check required field
* turn css class used for field error message to errorMsg to avoid
confusion with the error class added to input
* fix css when errors are added by the form renderer
* fix form renderer to add the error message
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 13:23:25 +0100] rev 5037
[captcha] handle captcha validation properly in the captcha widget
also, avoid error if pil isn't installed (only a recommendation)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 13:21:25 +0100] rev 5036
[testlib] __errorurl may be a relative path, check we're actually removing base url first
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 13:20:42 +0100] rev 5035
[i18ncube] clear_rtag_objects imported when generating cube's .po file