-- name: InsertLibraryChange :exec INSERT INTO library_changes (entity_type, entity_id, op) VALUES ($1, $2, $3); -- name: GetLibraryChangesSince :many SELECT id, entity_type, entity_id, op, changed_at FROM library_changes WHERE id > $1 ORDER BY id ASC LIMIT $2; -- name: GetMaxLibraryChangeCursor :one SELECT COALESCE(MAX(id), 0)::BIGINT FROM library_changes; -- name: GetMinLibraryChangeCursor :one SELECT COALESCE(MIN(id), 0)::BIGINT FROM library_changes; -- name: DeleteOldLibraryChanges :execrows -- Removes library_changes rows older than the given cutoff. Run from -- the sync compactor goroutine on a daily tick. Returns the number of -- rows deleted so the worker can log meaningful progress. DELETE FROM library_changes WHERE changed_at < $1;