-
Notifications
You must be signed in to change notification settings - Fork 5
Home
github-actions[bot] edited this page Apr 1, 2026
·
41 revisions
Run Plex Media Server with PostgreSQL instead of SQLite. Zero Plex modifications required.
Rust-safe shim runtime. 92% of unsafe raw pointer dereferences eliminated. Business logic is Rust-safe; unsafe confined to FFI boundary.
-
92% unsafe reduction — raw pointer dereferences 806→59, internal functions use safe
&mutreferences - Memory leak fix — 1.8GB→59MB footprint (PGresult leak, transaction routing, cached_result cleanup)
- 3 deadlocks eliminated — recursive conn mutex, ABBA prevention, convoy fix
- 11 data races fixed — atomic counters, seqlocks, OnceLock, eager hook resolution
- PgStmt Vec-based — on-demand allocation, 540 bytes for 0-param queries (was 88KB)
-
Rust Mutex on PgStmt —
pthread_mutex_treplaced withstd::sync::Mutex - 138 functions de-FFI'd — enables inlining, eliminates C ABI overhead
-
Clippy clean — zero warnings with
-D warningson Linux CI - Duplicate stmt fix: SQLSTATE 42P05 detection, DEALLOCATE ALL at connection init (v0.9.40)
- Stale stmt recovery: prepared statement cache auto-invalidated after PG restart via SQLSTATE 26000 (v0.9.39)
- Pool auto-grow: pool automatically grows when threads exceed configured size (v0.9.36)
- Single-row streaming mode for all READ queries (
PQsetSingleRowMode) (v0.9.28)
- How It Works — Architecture, SQL translation, stack protection
- Modules — Code organization, test suites, caching architecture
- Benchmarks — SQLite vs PostgreSQL performance comparison
- Troubleshooting — Common issues, debugging, known limitations
- Changelog — Release history and bug fixes
- README auf Deutsch — Dokumentation auf Deutsch
- README en Esperanto — Dokumentado en Esperanto
- README as Gaeilge — Doiciméadacht as Gaeilge
- README in het Nederlands — Documentatie in het Nederlands
- README en Español — Documentación en español