Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Sep 2016 08:57:48 +0200] rev 11778
[massive store] Rework constraint/index handling
The basic idea is to keep the primary constraint on entities.eid since it's
heavily used in metadata insertions. Other option would have been to drop /
recreate but its very costly on big database, and the index is used for
insertion into the entities table itself, so it's not worth droping it at a
first glance.
Also, keeping it avoids to systematically drop all constraints which depends on
it. We may thus now lazily drop constraints, only on insertion of some
etype/rtype for the related table.
Related to #15538359
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 27 Sep 2016 12:02:07 +0200] rev 11777
[massive store] Lazy removal of constraints and metadata indexes
They should not be removed during store's init, because we may want to query the
database with its index between store creation and call to prepare_insert* (e.g.
to build the extid2eid map).
Along the way:
* rename drop_metadata_constraints into drop_metadata_indexes, because that's
what it does
* rework a bit impacted tests
Closes #15538359
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 17 Oct 2016 14:50:47 +0200] rev 11776
[repository] Drop the index on entities.type
It should be now only used in maintenance queries in checkintegrity. Those are
not worth maintaining it.
Closes #15538317