chore(deps): rusqlite 0.40 (u64 casts; a latent two-statement execute fixed)

rusqlite 0.40 removed ToSql/FromSql for u64 (SQLite integers are i64):
every u64 column now reads/writes through an explicit i64 cast. It also
rejects a multi-statement execute() instead of silently running only the
first statement — which is what catalog.rs's editions/logical_albums
prune had been doing all along; it is an execute_batch now, so the
logical_albums prune finally runs.

cc
This commit is contained in:
vicrodh committed 2026-08-29 08:36:21 -06:00
1 parent d89397415b
commit 6d8c951a38
26 files changed
+97 -93

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@ description = "Plex LAN-only integration for QBZ: HTTP client, XML metadata pars
[dependencies]
# SQLite cache (match the workspace's bundled SQLite usage)
rusqlite = { version = "0.31", features = ["bundled"] }
rusqlite = { version = "0.40", features = ["bundled"] }
# HTTP client for the Plex Media Server LAN API
reqwest = { workspace = true }
+3 -3
View File
@@ -1568,7 +1568,7 @@ pub fn plex_cache_get_tracks(
album: row
.get::<_, Option<String>>(3)?
.map(|v| decode_xml_entities(v.trim())),
duration_ms: row.get(4)?,
duration_ms: row.get::<_, Option<i64>>(4)?.map(|v| v as u64),
artwork_path: row.get(5)?,
collection_artwork_path: row.get(19)?,
part_key: row.get(6)?,
@@ -1616,7 +1616,7 @@ pub fn plex_cache_get_tracks(
album: row
.get::<_, Option<String>>(3)?
.map(|v| decode_xml_entities(v.trim())),
duration_ms: row.get(4)?,
duration_ms: row.get::<_, Option<i64>>(4)?.map(|v| v as u64),
artwork_path: row.get(5)?,
collection_artwork_path: row.get(19)?,
part_key: row.get(6)?,
@@ -1685,7 +1685,7 @@ pub fn plex_cache_get_tracks_by_keys(rating_keys: &[String]) -> Result<Vec<PlexT
album: row
.get::<_, Option<String>>(3)?
.map(|v| decode_xml_entities(v.trim())),
duration_ms: row.get(4)?,
duration_ms: row.get::<_, Option<i64>>(4)?.map(|v| v as u64),
artwork_path: row.get(5)?,
collection_artwork_path: row.get(19)?,
part_key: row.get(6)?,