Work around pipe size limit removing obsolete files
This commit is contained in:
parent
2f93e25d24
commit
008db8c939
29
atom
29
atom
@ -339,21 +339,36 @@ 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
|
||||
' >&3
|
||||
|
||||
read -u4 line
|
||||
until [[ $line == AtOM:NoMoreFiles ]]
|
||||
do
|
||||
removefile[${line%::AtOM:SQL:Sep::*}]="${line%::AtOM:SQL:Sep::*}"
|
||||
read -u4 line
|
||||
done
|
||||
done
|
||||
|
||||
deleted=0
|
||||
removed=0
|
||||
read -u4 line
|
||||
until [[ $line == AtOM:NoMoreFiles ]]
|
||||
for id in ${!removefile[@]}
|
||||
do
|
||||
id=${line%::AtOM:SQL:Sep::*}
|
||||
filename=${line#*::AtOM:SQL:Sep::}
|
||||
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
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user