improve massive deletion performance
change hooks.integrity._DelayedDeleteOp implementation to give it a chance of
processing the entities by chunks of reasonnable size (500 entities at a time)
adapt ssplanner.DeleteEntitiesStep to call a variant of glob_delete_entity with several entities.
That variant calls all the before_delete_entities hooks in one go, then
performs the deletion, and then calls all the after_delete_entities hooks. The
deletion is performed by grouping together entities by etype and by source.
adapt the HooksManager to call the hooks on a list of entities instead of on a single entity.
adapt the sources to be able to delete several entities of the same etype at once.
changed the source fti_(un)index_entity methods to fti_(un)index_entities taking a collection of entities.
#! /bin/sh -e
case "$1" in
configure|abort-upgrade|abort-remove|abort-deconfigure)
update-rc.d cubicweb defaults 99 >/dev/null
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
if [ "$1" = configure ]; then
# XXX bw compat: erudi -> cubicweb migration
if [ -e "/etc/erudi.d/" ]; then
mv /etc/erudi.d/* /etc/cubicweb.d/ && (
echo 'moved /etc/erudi.d/* to /etc/cubicweb.d/'
sed -i s/ginco/cubicweb/g /etc/*/*.py
sed -i s/erudi/cubicweb/ */*.conf
) || true # empty dir
fi
if [ -e "/var/log/erudi/" ]; then
mv /var/log/erudi/* /var/log/cubicweb/ && (
echo 'moved /var/log/erudi/* to /var/log/cubicweb/'
) || true # empty dir
fi
if [ -e "/var/lib/erudi/backup" ]; then
mv /var/lib/erudi/backup/* /var/lib/cubicweb/backup/ && (
echo 'moved /var/lib/erudi/backup/* to /var/lib/cubicweb/backup/'
) || true # empty dir
fi
if [ -e "/var/lib/erudi/instances" ]; then
mv /var/lib/erudi/instances/* /var/lib/cubicweb/instances/ && (
echo 'moved /var/lib/erudi/instances/* to /var/lib/cubicweb/instances/'
) || true # empty dir
fi
fi
#DEBHELPER#
exit 0