db/update/Walk: use marker to remove deleted items

This eliminates all `Storage::GetInfo()` calls from
`UpdateWalk::PurgeDeletedFromDirectory()` and instead uses a "marker"
field to mark items that have been visited; later, all unmarked items
can be deleted.

This eliminates a lot of redundant I/O which is noticable with the
`curl` storage plugin (i.e. WebDAV).
This commit is contained in:
Max Kellermann
2023-05-22 19:45:02 +02:00
parent 9027e5c5bb
commit 7bb251dad8
9 changed files with 56 additions and 18 deletions

2
NEWS
View File

@@ -14,6 +14,8 @@ ver 0.24 (not yet released)
- proxy: require libmpdclient 2.15 or later
* archive
- add option to disable archive plugins in mpd.conf
* storage
- curl: optimize database update
* input
- curl: add "connect_timeout" configuration
* decoder