Work around pipe size limit removing obsolete files
This commit is contained in:
parent
2f93e25d24
commit
008db8c939
35
atom
35
atom
@ -339,21 +339,36 @@ updateMimes
|
|||||||
removeObsoleteFiles
|
removeObsoleteFiles
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
SELECT id,
|
SELECT COUNT(id)
|
||||||
filename
|
|
||||||
FROM destination_files
|
FROM destination_files
|
||||||
WHERE source_file_id is NULL;
|
WHERE source_file_id is NULL;' >&3
|
||||||
|
|
||||||
SELECT "AtOM:NoMoreFiles";
|
read -u4 removecount
|
||||||
' >&3
|
until (( ${#removefile[@]} == removecount ))
|
||||||
|
do
|
||||||
|
echo '
|
||||||
|
SELECT id,
|
||||||
|
filename
|
||||||
|
FROM destination_files
|
||||||
|
WHERE source_file_id is NULL
|
||||||
|
LIMIT 500 OFFSET '${#removefile[@]}';
|
||||||
|
|
||||||
|
SELECT "AtOM:NoMoreFiles";
|
||||||
|
' >&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
|
deleted=0
|
||||||
removed=0
|
removed=0
|
||||||
read -u4 line
|
for id in ${!removefile[@]}
|
||||||
until [[ $line == AtOM:NoMoreFiles ]]
|
|
||||||
do
|
do
|
||||||
id=${line%::AtOM:SQL:Sep::*}
|
filename=${removefile[id]}
|
||||||
filename=${line#*::AtOM:SQL:Sep::}
|
|
||||||
if [ -n "$filename" ]
|
if [ -n "$filename" ]
|
||||||
then
|
then
|
||||||
if rm -f "$filename"
|
if rm -f "$filename"
|
||||||
@ -365,9 +380,9 @@ do
|
|||||||
Delete destination_files <<<"id = $id"
|
Delete destination_files <<<"id = $id"
|
||||||
(( ++removed ))
|
(( ++removed ))
|
||||||
fi
|
fi
|
||||||
read -u4 line
|
|
||||||
done
|
done
|
||||||
echo "Suppressed $deleted files, $removed removed from database"
|
echo "Suppressed $deleted files, $removed removed from database"
|
||||||
|
unset removecount deleted removed removefile
|
||||||
|
|
||||||
updateTags
|
updateTags
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user