Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 02 Apr 2010 08:44:00 +0200] rev 5132
[cleaning] simpler implementation of cmd_create_entity
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 02 Apr 2010 08:43:01 +0200] rev 5131
[storages] fix fs_importing side-effect on entity.data
When creating a new File object, if fs_importing is set,
we want entity.data to be the file content instead of the
filepath for the rest of the transaction.
(see test_bfss_fs_importing_transparency) for test implementation
To make this possible, the storage hooks (entity_added / entity_updated)
must return the correct value to set in the entity dict.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Apr 2010 11:48:18 +0200] rev 5130
nicer warning
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Apr 2010 10:36:56 +0200] rev 5129
[doc] started full features list
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Apr 2010 08:24:53 +0200] rev 5128
[python] take care to this detail of @contextmanager: if an unhandled exception occurs in the block, it is reraised inside the generator at the point where the yield occurred
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Apr 2010 08:24:11 +0200] rev 5127
[entity] explain why the assert failed
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Apr 2010 08:23:57 +0200] rev 5126
[test] fix expected error
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 17:02:51 +0200] rev 5125
fix bad merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 17:02:21 +0200] rev 5124
fix #822890, missing argument on abstract source backup method make backup failed on multi-sources instances
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 16:00:16 +0200] rev 5123
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 15:59:32 +0200] rev 5122
[schema] ensure we don't remove has_text relation type unfortunatly
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 15:39:09 +0200] rev 5121
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 15:37:41 +0200] rev 5120
Added tag cubicweb-debian-version-3.7.3-1 for changeset 44c7bf90df71
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 15:37:40 +0200] rev 5119
Added tag cubicweb-version-3.7.3 for changeset 768beb8e15f1
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 15:04:36 +0200] rev 5118
[distrib] fix pkginfo
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 14:55:54 +0200] rev 5117
3.7.3
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 14:50:30 +0200] rev 5116
[hooks] better message on bad .event class attribute
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 14:46:04 +0200] rev 5115
[repository] forbid usage of set_attributes() in before_add_entity
set_attributes() will generate a RQL query that will silently fail.
An explicit error is better.
You can still use the ``entity[attr] = value`` notation that
won't generate a SQL query but still update the inner state
of the entity and its edited_attributes attribute.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 14:32:19 +0200] rev 5114
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 14:32:07 +0200] rev 5113
[cleanup] tb already printed by self.exception; add note
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 14:28:40 +0200] rev 5112
[facet] fix 'bookmark this search':
* vid wasn't included in the link generated by the facet box
* proper url quoting in both js / box code (try an has_text search with '&' inside...)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 14:27:02 +0200] rev 5111
[widget] more wide textarea on bookmark edition
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 13:35:44 +0200] rev 5110
[distribution] the web/data/images directory has to be handled in pkginfo
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 31 Mar 2010 14:25:26 +0200] rev 5109
[test] use the new temporary_appojects CM to simplfy unittest_storage
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:53:24 +0200] rev 5108
[session] try to reconnect on unexpected error in system_sql. We need this for proper reconnection of pool used by hooks or looping task doing sql queries (such as cw_cleanup_transaction)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:51:35 +0200] rev 5107
[source] log attempt to reconnect using warning level. Also, don't relog failed sql (already logged)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:33:47 +0200] rev 5106
[test] avoid critical log by informing the source we consider Personne as a multi-sources type
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:33:09 +0200] rev 5105
[test] use new temporary_appobjects context manager
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:32:39 +0200] rev 5104
[test] that doesn't smell good but fix the test...
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:22:20 +0200] rev 5103
[vreg] we do want the opposite...
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:26:07 +0200] rev 5102
[testlib] simple helper method to register temporary appobjects (hooks for instance) with a context manager
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:21:39 +0200] rev 5101
[undo] fix transactions table name in cleanup operation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 31 Mar 2010 11:52:15 +0200] rev 5100
Add context management methode to dbapi.Connection
the connection is automaticly closed when exiting the context.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 11:41:20 +0200] rev 5099
i18n update
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 11:41:17 +0200] rev 5098
[i18n] use named substitution to avoid gettext warnings
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 10:56:43 +0200] rev 5097
[dataimport] print transaction id when we get one
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:58:44 +0200] rev 5096
[cleanup] add some notes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:58:20 +0200] rev 5095
[optimisation] _select_best is used very intensivly. Peanuts optimization may count :)
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
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 09:19:09 +0100] rev 5034
[maintainance] don't crash if we've no in-memory repository
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 09:18:21 +0100] rev 5033
[db dump/restore] fix '#615840: db-dump must be always runnable' by setting repairing on config. Also, avoid to read the whole schema from the database on dump/restore: the bootstrap schema is enough.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 08:32:32 +0100] rev 5032
cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 08:30:25 +0100] rev 5031
__missing__ main
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 08:28:22 +0100] rev 5030
[form] put qualified name on validation error, should fix #784299
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Mar 2010 06:57:52 +0100] rev 5029
[test] fixes when executed under apycot environment (also added ldap1 to test host /etc/hosts)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 20:32:10 +0100] rev 5028
...
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 20:46:26 +0100] rev 5027
[config] move ConfigurationProblem to migration + refactor it to benefit from config methods
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 20:46:22 +0100] rev 5026
[config] more cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 20:38:58 +0100] rev 5025
deprecate __use__ and __recommend__
Alain Leufroy <alain.leufroy@logilab.fr> [Thu, 25 Mar 2010 20:33:03 +0100] rev 5024
add egg support with dependencies auto-installation
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 20:32:52 +0100] rev 5023
fix dumb name error
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 19:32:04 +0100] rev 5022
fix _cubes dir
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 17:55:24 +0100] rev 5021
handle nicely typical installation other than debian package / mercurial forest
* new _find_prefix method to detect installation prefix (maybe specified using
CW_INSTALL_PREFIX environment variable)
* set various resource accessors according to this, cleanup on the way
* remove no more necessary APYCOT_ROOT hacks
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 25 Mar 2010 15:11:44 +0100] rev 5020
When a TC failed to initiliase the database, the following test are SKIPPED
When a TC failed to initiliase the database, the other test of the same TestCase
are skipped with an explicite message instead of failing later for with an
unrelated message.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 15:08:27 +0100] rev 5019
[c-c] new server_maintenance hook, called on c-c shell / upgrade
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 14:49:24 +0100] rev 5018
[appobject] add version number to deprecation warning
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 14:33:50 +0100] rev 5017
update rql dependency
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 14:26:13 +0100] rev 5016
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 14:25:44 +0100] rev 5015
fix migration script
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 14:00:01 +0100] rev 5014
[cleanup] useless try except
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Mar 2010 13:59:47 +0100] rev 5013
[source storage] refactor source sql generation and results handling to allow repository side callbacks
for instance with the BytesFileSystemStorage, before this change:
* fspath, _fsopen function were stored procedures executed on the database
-> files had to be available both on the repository *and* the database host
* we needed implementation for each handled database
Now, those function are python callbacks executed when necessary on the
repository side, on data comming from the database.
The litle cons are:
* you can't do anymore restriction on mapped attributes
* you can't write queries which will return in the same rset column
some mapped attributes (or not mapped the same way) / some not
This seems much acceptable since:
* it's much more easy to handle when you start having the db on another host
than the repo
* BFSS works seemlessly on any backend now
* you don't bother that much about the cons (at least in the bfss case):
you usually don't do any restriction on Bytes...
Bonus points: BFSS is more efficient (no queries under the cover as it
was done in the registered procedure) and we have a much nicer/efficient
fspath implementation.
IMO, that rocks :D