wrolpi/modules/docs
lrnselfreliance 8008cd1fd8
search: don't COUNT(*) OVER() the page query (#702)
COUNT(*) OVER() forced SQLite to visit every matching file_group
before LIMIT, which is a full table scan of the (large) file_group
table — ~22s cold on a Pi for videos ordered by download date.

Count separately and cache for 60s by filters so indexed orders can
stop after one page.  Past-the-end pages now report the true total.
Videos/archives/docs pagers keep totalPages across page changes.
2026-09-12 14:44:30 -06:00
..
test Make doc_modeler resilient to SQLite "database is locked" 2026-07-20 13:44:27 -06:00
__init__.py Make doc_modeler resilient to SQLite "database is locked" 2026-07-20 13:44:27 -06:00
api.py Fix API stalls: non-blocking switch worker, threaded searches, indexed Videos page (#678) 2026-08-29 16:17:53 -06:00
conftest.py Add Docs module for searching and organizing PDFs and EPUBs 2026-03-20 14:17:06 -06:00
extractors.py Adding simple search to epub viewer. 2026-04-13 17:23:20 -06:00
lib.py search: don't COUNT(*) OVER() the page query (#702) 2026-09-12 14:44:30 -06:00
models.py Postgres -> SQLite hard cutover: the database moves into the media directory. 2026-07-12 14:09:37 -06:00
schema.py Search: fast ABC mode by default, opt-in deep search 2026-07-03 10:32:16 -06:00