sync: reuse playlist song deletion helper

This commit is contained in:
austinried
2026-11-14 12:05:28 +00:00
parent 95c8a2a915
commit 3de80dacdd
@@ -394,15 +394,6 @@ class SyncService(
return value return value
} }
private suspend fun PooledConnection.changes(): Long {
var value = 0L
usePrepared("SELECT changes()") { statement ->
statement.step()
value = statement.getLong(0)
}
return value
}
private suspend fun PooledConnection.markCreditsStale(sourceId: Long) { private suspend fun PooledConnection.markCreditsStale(sourceId: Long) {
usePrepared("UPDATE sources SET creditsStale = 1 WHERE id = ? AND creditsStale = 0") { statement -> usePrepared("UPDATE sources SET creditsStale = 1 WHERE id = ? AND creditsStale = 0") { statement ->
statement.bindLong(1, sourceId) statement.bindLong(1, sourceId)
@@ -520,15 +511,9 @@ class SyncService(
commitOrigins { commitOrigins {
db.useWriterConnection { connection -> db.useWriterConnection { connection ->
connection.immediateTransaction { connection.immediateTransaction {
connection.usePrepared( val before = connection.totalChanges()
"DELETE FROM playlist_songs WHERE sourceId = ? AND playlistId = ? AND position >= ?", db.libraryDao().deletePlaylistSongsFrom(source.id, playlistId, position)
) { statement -> val changed = connection.totalChanges() != before
statement.bindLong(1, source.id)
statement.bindText(2, playlistId)
statement.bindLong(3, position)
statement.step()
}
val changed = connection.changes() > 0
if (changed) { if (changed) {
changedOrigins += origin(QueueKind.Playlist, playlistId) changedOrigins += origin(QueueKind.Playlist, playlistId)
connection.persistPendingOrigins() connection.persistPendingOrigins()