Work around pipe size limit removing obsolete files

This commit is contained in:
Vincent Riquer 2016-04-16 13:55:50 +02:00
parent 2f93e25d24
commit 008db8c939

27
atom
View File

@ -338,22 +338,37 @@ updateMimes
removeObsoleteFiles
echo '
SELECT COUNT(id)
FROM destination_files
WHERE source_file_id is NULL;' >&3
read -u4 removecount
until (( ${#removefile[@]} == removecount ))
do
echo '
SELECT id,
filename
FROM destination_files
WHERE source_file_id is NULL;
WHERE source_file_id is NULL
LIMIT 500 OFFSET '${#removefile[@]}';
SELECT "AtOM:NoMoreFiles";
' >&3
deleted=0
removed=0
read -u4 line
until [[ $line == AtOM:NoMoreFiles ]]
do
id=${line%::AtOM:SQL:Sep::*}
filename=${line#*::AtOM:SQL:Sep::}
removefile[${line%::AtOM:SQL:Sep::*}]="${line%::AtOM:SQL:Sep::*}"
read -u4 line
done
done
deleted=0
removed=0
for id in ${!removefile[@]}
do
filename=${removefile[id]}
if [ -n "$filename" ]
then
if rm -f "$filename"
@ -365,9 +380,9 @@ do
Delete destination_files <<<"id = $id"
(( ++removed ))
fi
read -u4 line
done
echo "Suppressed $deleted files, $removed removed from database"
unset removecount deleted removed removefile
updateTags