Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Nov 2015 12:25:45 +0100] rev 11875
[web] remove next_tabindex()
It's hard to see it work reliably in view of multiple server processes.
If something like that is needed it should probably be built on the
client (js) side.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 23 Nov 2016 17:19:51 +0100] rev 11874
[views/optimization] Ensure we call rset.possible_actions with the same argument
rset.possible_actions (which should definitly not be an ResultSet method, but
that's another story) has been designed to hold a cache to compute possible
actions for a only once, since this may be a fairly costly operation (notably
because of the 'has_editable_relations' predicates). But this has been broken by
introduction of a new 'view' parameter which is not given by every call.
To fix this, this cset adds the missing view argument where necessary and
reimplements the rset's method to assert it's always called with the same key.
Unfortunatly, those changes have to be ported to squareui and bootstrap cubes as
well.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Nov 2016 18:19:10 +0100] rev 11873
[schema/optimization] Ensure read permissions are deactivated when we're checking a permission
When called from a web request, since we *are* checking some permission, read
permissions don't have to be introduced in this query.
We may avoid that since there now more any differences between web and repo
connections, so let's do it.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Nov 2016 18:16:21 +0100] rev 11872
[web] Enhance query log file
* Add an overall page generation time
* Don't log URL without any query (e.g. static files)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 24 Nov 2016 14:26:12 +0100] rev 11871
[massive store] Don't store eids_seq_range as a store attribute
since it's not considered after object's initialization.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 24 Nov 2016 16:58:50 +0100] rev 11870
Flake8 bits with some copyright updates
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 24 Nov 2016 16:58:27 +0100] rev 11869
[test] Use plain unittest in unittest_views_forms.py
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 24 Nov 2016 16:32:14 +0100] rev 11868
Some py3k related fixes: use text_type instead of unicode
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 24 Nov 2016 15:39:52 +0100] rev 11867
[cwctl] Kill deprecated ordered_instances method
no need to keep bw compat for this.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 02 Dec 2016 10:10:58 +0100] rev 11866
[test/cleanup] Use plain unittest
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 02 Dec 2016 10:10:42 +0100] rev 11865
[test/cleanup] flake8 unittest_rqlannotation.py
Arthur Lutz <arthur.lutz@logilab.fr> [Fri, 25 Nov 2016 13:10:10 +0100] rev 11864
[debian] logilab >= 1.2.2 in requires (only in build depends)
Related to #16404515.
Arthur Lutz <arthur.lutz@logilab.fr> [Fri, 25 Nov 2016 13:07:06 +0100] rev 11863
[debian] move unittest2 to requires not recommends closes #16404515
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 23 Nov 2016 17:25:31 +0100] rev 11862
[devtools] named context for boxes subTest for consistency
David Douard <david.douard@logilab.fr> [Wed, 23 Nov 2016 18:38:46 +0100] rev 11861
Added tag 3.24.3, debian/3.24.3-1, centos/3.24.3-1 for changeset bb5904cd284e
David Douard <david.douard@logilab.fr> [Wed, 23 Nov 2016 18:36:55 +0100] rev 11860
[pkg] 3.24.3
David Douard <david.douard@logilab.fr> [Wed, 23 Nov 2016 12:24:04 +0100] rev 11859
[cwconfig] ensure CubicWebNoAppConfiguration returns a typed value (closes #16364459)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Nov 2016 18:15:14 +0100] rev 11858
[views/optimization] Makes has_editable_relations predicate less costly by using generator
The `has_editable_relations` predicate is used to say if the 'modify' action
should appear. To do so, it checks if anything is editable (ie. something in the
attributes, relations or inlined section of the automatic form).
This may be costly since it may have to check several permissions. To optimize
this a bit, this cset turns list into generator so that we'll avoid unnecessary
work as soon as we find a match.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Nov 2016 11:03:19 +0100] rev 11857
[cwconfig] Trim down allowed exceptions in gettext language setting
I can't see any valid reason to pass on ImportError and AttributeError. In
particular, the latter shadowed a Python 3 error until 4f43e64603ef.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 21 Nov 2016 14:52:33 +0100] rev 11856
[pkg] Configure "universal" wheel build
According to https://packaging.python.org/distributing/#wheels,
we should create universal wheels (no 2to3 step, no C extension).
Configure this in setup.cfg.
[ci skip]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 21 Nov 2016 15:17:32 +0100] rev 11855
[rqlrewrite] Test and fix potential NameError
We were referencing a loop variable, which may lead to a name error and show a
potential error if there are several matching variables.
To avoid this, introduce a list to hold every encountered variable and process
all of them later.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 16 Nov 2016 15:55:35 +0100] rev 11854
flake8 uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 16 Nov 2016 15:52:55 +0100] rev 11853
[uicfg] Remove unpredictability from autoform_section initialization
It was attempting to guess smart default values by looking at the opposite
relation (neg_role), but depending on the (random) ordering of the schema, it
may or may not have been set yet, leading to unpredictable result with varying
hash seed.
Remove those fuzzy lookup all at once, it may change some (unreliable) things in
your app but at least it's still a bit easier to explain.
Closes #16272968
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 21 Nov 2016 14:55:27 +0100] rev 11852
[schema/optimization] Wrap rql expressions into EXISTS node when checking individual permissions
Some RQL expression may retrieve several results. It makes sense to wrap them
into an EXISTS node to optimized things a bit. This is already done by security
insertion of 'read' rql expressions.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Nov 2016 17:44:52 +0100] rev 11851
[views/optimization] Prefetch state'names and comment format in wfhistory component
This will avoid later queries to retrieve them.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 10:28:41 +0100] rev 11850
[devtools] Make timeout error in qunit tests configurable and use SkipTest in test_jscript.py
The reason is that the latter tests quite often fail in our CI environment,
possibly due to concurrent execution of the browser, and this makes it hard to
identify a truly failing build there. So skip tests with a timeout error.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 21 Nov 2016 14:18:43 +0100] rev 11849
Added tag 3.24.2, debian/3.24.2-1, centos/3.24.2-1 for changeset 296077513782
And drop erroneous 0.34.2 tag.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 21 Nov 2016 14:05:37 +0100] rev 11848
Added tag 0.34.2, debian/0.34.2-1, centos/0.34.2-1 for changeset 296077513782
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 21 Nov 2016 13:47:03 +0100] rev 11847
[pkg] Version 3.24.2
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 21 Nov 2016 13:44:59 +0100] rev 11846
Merge with 3.23 head
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 17 Nov 2016 17:26:49 +0100] rev 11845
[migration] Fix 3.23.0 migration script, broken by a703f00718c2
* first query use "IN" where it should use "=" -> crash
* second query is missing an interpolation -> crash
* third query is attempting to remove constraint that have already been removed
by the second query -> crash
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 21 Nov 2016 09:29:52 +0100] rev 11844
[doc] Add 3.24 release date and reference in index pages
[ci skip]
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 17:08:35 +0100] rev 11843
Closing "oldstable" branch
We now release-based branch naming.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 17:07:43 +0100] rev 11842
Closing "stable" branch
We now release-based branch naming.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 15:42:10 +0100] rev 11841
Merge 3.24 branch
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Nov 2016 11:00:01 +0100] rev 11840
[pkg] Bump version to 3.25.0.dev0
David Douard <david.douard@logilab.fr> [Fri, 18 Nov 2016 15:00:43 +0100] rev 11839
Added tag 3.24.1, debian/3.24.1-1, centos/3.24.1-1 for changeset da52fda6f15b
David Douard <david.douard@logilab.fr> [Fri, 18 Nov 2016 14:58:58 +0100] rev 11838
[debian] update changelog's time tag
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 13:55:12 +0100] rev 11837
[pyramid] Drop reference to pyramid_cubicweb in ctl command docstring
[ci skip]
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Nov 2016 17:08:29 +0100] rev 11836
[debian] Rework split of cubicweb-ctl package
It does not appear simple to have the .install files work. So just copy
cubicweb-ctl script in DESDIR of cubicweb-ctl binary package and remove
.install files.
Related to #16133259.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 09:14:25 +0100] rev 11835
[skeleton] Rephrase long description of Debian package into something meaningful
[ci skip]
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 08:42:10 +0100] rev 11834
[skeleton] Depends on python-cubicweb in debian packaging
[ci skip]
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 18 Nov 2016 14:26:03 +0100] rev 11833
[debian] Have a single python-cubicweb binary for the library
But keep distinct meta-packages for dependencies of the
HTTP server (Twisted/Pyramid) and database backend.
Related to #16133259.
David Douard <david.douard@logilab.fr> [Tue, 15 Nov 2016 10:13:47 +0100] rev 11832
[debian] Update debian packaging (closes #16133259)
- use dh_python, pybuild and debhelper>=9,
- refactor and simplify the debian/rules,
- rename binary packages (but cubicweb-ctl) to python-xxx
- remove daemon handling stuff (initscripts...) from cubicweb-ctl (one should
now use a standard WSGI delivery method),
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Nov 2016 16:03:02 +0100] rev 11831
[pkg] Version 3.24.1
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Nov 2016 16:14:21 +0100] rev 11830
[tox] Use `python -m check_manifest` instead of check-manifest program
To make sure we use Python from tox's virtualenv.
David Douard <david.douard@logilab.fr> [Mon, 14 Nov 2016 16:23:22 +0000] rev 11829
add debian buildpackage-generated files to hgignore
Florent Cayré <florent.cayre@gmail.com> [Tue, 15 Nov 2016 00:12:34 +0100] rev 11828
[test] Fix language negotiation test
At least when executed alone (there seems to be a test isolation
problem which I could not figure out).
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 10 Nov 2016 18:25:50 +0100] rev 11827
[pyramid] No more need for an internal connection when user is cached
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 10 Nov 2016 18:23:45 +0100] rev 11826
[web] req.lang should be None or a non-empty string
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 17 Nov 2016 10:15:11 +0100] rev 11825
[web] Simplify a bit language handling
Drop `set_default_language` and `set_user_language` by considering that:
* before being bound to the user, request will have the site's default language
* cnx has the user's preferred language, hence get it back to the request when
it's bound to a connection
The first point requires some change to cubicweb's vreg faking so it doesn't
break.
That should be enough.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 17 Nov 2016 10:53:04 +0100] rev 11824
Fix AttributeError for "lang" on repo/client connections
This is a regression introduced by b48020a80dc3, which removed call to
set_language from the `req._set_user` method. This is fine, but we still want a
language on connections, so we've to handle it if necesary in
Connection.__enter__ (i.e. once connection is properly open).
When using pyramid front-end, which has a users cache, we've to cache its
language as well because we must not access its preferred_language method since
it's not bound to a proper connection.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Nov 2016 10:47:52 +0100] rev 11823
Alias ugettext to gettext method of cwGNUTranslations in Python 3
The former does not exist in Python 3, but we rely on it.
This fixes test_login_bad_password in cubicweb/pyramid/test/test_login.py
which has never passed since being introduced in 6392f34fcdad.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 16 Nov 2016 14:38:11 +0100] rev 11822
[devctl] make i18n custom message extractors work with legacy layouts
distname needs to be "cubicweb_<cubename>", even with legacy layouts
for pkg.load_entry_point() to work
closes #16272177
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 16 Nov 2016 17:12:09 +0100] rev 11821
Fix (new) flake8 errors
They showed up on upgrade of flake8/pep8.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 15 Nov 2016 11:44:05 +0100] rev 11820
[pyramid] Try "eid" first when retrieving a subresource of ETypeResource
So that Pyramid traversal works as existing CubicWeb URL publishing.
Florent Cayré <florent.cayre@logilab.fr> [Tue, 15 Nov 2016 12:20:02 +0100] rev 11819
Fix AttributeError on postcommit when db-create adds non-system CWSource entities
In this case, `Repository.add_source` is called from an operation, not from
`Repository.init_sources_from_database`, thus the attribute `sources_by_eid`
does not exist.
Closes #16251078.
Florent Cayré <florent.cayre@gmail.com> [Wed, 09 Nov 2016 23:00:00 +0100] rev 11818
[devctl] Optimize cleanup_sys_modules a bit
by moving out of a loop a costly computation that is constant.
This at least benefits the `i18ncube` command.
Related to #15789486.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Nov 2016 10:05:14 +0100] rev 11817
[pyramid] Install file listing monitored files in application home
Instead of using a temporary file, that never gets deleted.
Closes #16159807.
Florent Cayré <florent.cayre@logilab.fr> [Mon, 14 Nov 2016 17:48:10 +0100] rev 11816
[pyramid] Fix login error message language
Use http negotiation unless language is explicitly set for the site.
Closes #16236485.
Florent Cayré <florent.cayre@logilab.fr> [Mon, 14 Nov 2016 12:26:49 +0100] rev 11815
i18n update
Pyramid-related messages were not translated.
Closes #16236243.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Nov 2016 11:46:03 +0100] rev 11814
[pyramid] Add action verb used in some messages displayed by the command
For instance we'll see 'instance started' instead of 'instance None', which is
nicer.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Nov 2016 11:45:19 +0100] rev 11813
[pyramid] No more need to check CW version since it's now shipped with it
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Nov 2016 11:44:27 +0100] rev 11812
[pyramid] Fix 404 handling
Avoid seeing a traceback in the UI by catching it before it reaches pyramid and
restore usage of the '404' view.
Closes #16159863
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Nov 2016 11:42:33 +0100] rev 11811
Fix broken flake8 configuration
and flake8 errors which were hidden by this breakage.
flake8 --filename options doesn't work as expected:
* it's expected to be a shell pattern, using stdlib's fnmatch.fnmatch function
internally. This funciton thinks that 'cubicweb/x.py' doesn't match 'cubicweb/x.py'
(there must be a reason but that's not the point), hence no file was actually
checked ;
* as this is a list of pattern, each encountered file is checked against each
pattern, leading to run time explosion.
So maintain list of files to check in a separated file and give this list to
flake8 using unix's xarg command.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Jun 2015 10:00:53 +0200] rev 11810
[entities] Fix typo in wfobjs debug message
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Nov 2016 09:07:42 +0100] rev 11809
[doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 08 Nov 2016 18:37:47 +0100] rev 11808
[migration] Drop cw_schema relation first
without this, we ends up with the traceback shown at
https://www.cubicweb.org/ticket/16130960. This is not the proper fix, which
I have not been able to find. It seems due to this very rare case of deletion
of such relation linked to CWRType vs order of execution of operation (in this
case, the operation deleting the entity table is run before some other queries
using it).
As forcing this relation to be deleted before the entity type fixes the problem
while this case seems rare enough, IMO this patch is "good enough".
Closes #16130960
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 08 Nov 2016 18:34:22 +0100] rev 11807
[hooks] Delete some properties cached on entities schema on schema updates
cubicweb.schema add two additional @cachedproperty that should be cleared when
in-memory schema is modified. This may leads to e.g. attempt to delete some
already dropped relations.
Related to #16130960
Florent Cayré <florent.cayre@gmail.com> [Sun, 06 Nov 2016 16:43:27 +0100] rev 11806
[doc] Add some words in changelog about pyramid support in core + fix its title
Closes #16121152.
Florent Cayré <florent.cayre@gmail.com> [Sun, 06 Nov 2016 16:35:57 +0100] rev 11805
[pkg] Fix extra packages not installable
For instance `pip install -e ".[pyramid]"` should install the pyramid
dependencies. A typo caused all these extra packages to not be found by
pip.
Closes #16121322.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 04 Nov 2016 16:45:54 +0100] rev 11804
Added tag 3.24.0, centos/3.24.0-1 for changeset 9f7949b63ab2
David Douard <david.douard@logilab.fr> [Wed, 02 Nov 2016 10:15:42 +0100] rev 11803
[views] simplify and fix the TreeView (closes #16055814)
Simplify the (internal) TreeView._init_params() method to get rid of the
useless 'initial_thru_ajax' argument.
The ajax tree view was not working properly when loaded via ajax, for
instance from a lazy tab. This was due to the buggy protection against
double javascript/ css inclusion, which is no more needed server-side as
it is now implemented client-side.
Deprecate use of the initial_thru_ajax argument of the TreeView.call() method.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Thu, 13 Oct 2016 15:39:48 +0200] rev 11802
[massive store] remove unused code
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Nov 2016 11:19:29 +0100] rev 11801
Drop a cw 3.24 warning
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Nov 2016 11:19:11 +0100] rev 11800
Fix unexpected req.relative_path() when calling CWTC.app_handle_request with path argument
The _deprecated_path_arg decorator can not be used in this case, since it won't
ensure backward compat if path value has been specified and is not similar as
req's path (which is generally the case).
This problem has been introduced by 904ee9cd0cf9.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 04 Nov 2016 13:12:10 +0100] rev 11799
[req,web/request] Move language prefix handling into web request
This changes part of d8830e2bd2e0 by unsetting "lang" attribute of
RequestSessionBase in particular (because it appears to break many downstream
applications). The new implementation relies on a new "build_url_path" method
on RequestSessionBase that is overridden in _CubicWebRequestBase to handle the
language prefix in URL.
As a consequence build_url in RequestSessionBase is not aware of this prefix
anymore (contrary previous implementation from d8830e2bd2e0). Move respected
tests from unittest_req.py into unittest_request.py.
Commenting out part of test_handle_request_no_lang_negotiation_fixed_language
in unittest_application.py because it now fails because of some obscure bug
that cannot be resolved at the moment.
Related to #15743487.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 04 Nov 2016 11:57:09 +0100] rev 11798
[test] Use stdlib unittest instead of lgc.testlib in unittest_request.py
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 04 Nov 2016 11:56:00 +0100] rev 11797
[test] Distinguish "request" tests from accept parser ones in unittest_request.py
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 04 Nov 2016 09:21:10 +0100] rev 11796
[pkg] Add setuptools to RPM build requirements
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 03 Nov 2016 18:22:47 +0100] rev 11795
[pkg] Version 3.24.0
Laura Médioni <laura.medioni@logilab.fr>, Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 03 Nov 2016 15:00:01 +0100] rev 11794
[req,web] Make it possible to handle page language from URL prefix
Adding a short language prefix to URL (like "/en" or "/fr") changes the
language the pages are displayed in. This prefix is kept during navigation.
This way it is not necessary to do language negotiation, nor to use user
preferences to determine which language to apply.
This behavior is controlled through a new configuration option
"language-mode", which replaces "language-negociation" option and which values
may be "http-negotiation", "url-prefix" or "" (to disable language setting and
force using "ui.language" property). Migration from previous option is not
handled because I could not manage to have it working (users will get prompted
with the configuration file diff anyways).
Add some tests checking various scenarios.
Closes #15743487
David Douard <david.douard@logilab.fr> [Wed, 02 Nov 2016 15:59:39 +0100] rev 11793
[config] fix the load_site_cubicweb() method for to 'new-style' cubes (closes #16059402)
We first try to load the site_cubicweb module from the cubicweb_<cube> package,
and if it fails, revert back to old cube path.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Thu, 13 Oct 2016 15:31:02 +0200] rev 11792
[massive store] remove on_commit / on_rollback parameters
No actual use of this was found in client code.
If one wants to control this behaviour, he can always override
the commit method and add a try / except around
flush_entities in its own store
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Thu, 13 Oct 2016 15:16:38 +0200] rev 11791
[massive store] master_init should commit by default
Default client usage is to create a master store to control
slave ones. They need to access cwmassive_initialized from
another transaction
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Thu, 13 Oct 2016 15:12:33 +0200] rev 11790
[massive store] isolate SQL statements that one may want to customize
i.e. provide public methods for meta data insertions
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 06 Oct 2016 12:12:04 +0200] rev 11789
[massive store] Store entities in temporary table as well
* on some entity type is encountered by a slave, create a dedicated table for
insertion of entities of this type by this slave, similarly to what is done
for relation - this should lower changes of conflicts in master/slaves mode ;
* delay drop of constraints and indexes to `finish` method, where copy from
temporary tables to regular table is done ;
* insertion of metadata is done by scanning temporary tables, which may be way
shorter than theier associated regular table ;
* drop drop_metadata_constraints with its constraint_dropped friend attribute,
there are no more necessary since this is done once in the `finish`.
Related to #15538303
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 11 Oct 2016 10:24:13 +0200] rev 11788
[massive store] Drop useless check for empty buffer
If something went wrong, an error will be raised.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 11 Oct 2016 10:23:44 +0200] rev 11787
[massive store] Docstring / comment cleanups
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 11 Oct 2016 10:23:06 +0200] rev 11786
[massive store] Turn a runtime error into an assertion
geting there is a bug.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 05 Oct 2016 09:27:25 +0200] rev 11785
[massive store] Delay metadata attributes and default values handling to flush_entities
This may be done once for all there, instead of for each entity in
prepare_insert_entity.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 05 Oct 2016 09:38:05 +0200] rev 11784
[massive store] Use a slave specific table for relation insertion in the massive store
* attribute a random id to the store
* add a column containing this id in the cwmassive_initialized table
* separate generic `master_init` which create the cwmassive_initialized table
from rtype specific initialization which must be done in each slave now
* delay removal of table indexes to `finish`
* get back relations from each table on `finish`
Similar work still has to be done for entities insertion - which will allow more
cleanup to the constraints handling which is still rough for now.
Related to #15538303
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 04 Oct 2016 13:14:35 +0200] rev 11783
[massive store] docstring and __init__ cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 04 Oct 2016 13:14:18 +0200] rev 11782
[massive store] Drop dead code
This function is never used
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 30 Sep 2016 17:34:59 +0200] rev 11781
[massive store] Reintroduce methods that are necessary to properly handle master/slave configuration
Related to #15538303
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Sep 2016 09:02:14 +0200] rev 11780
[massive store] Follow configuration of the metadata generator
Don't drop constraints and indexes for tables that are ignored by the metadata
generator given to the store. One may now easily disable insertion of e.g.
created_by / owned_by by removing them from the MetadataGenerator.META_RELATIONS
set, in which case indexes for associated table won't be removed by the massive
store.