Commit graph

4 commits

Author SHA1 Message Date
Chris McDonough
5010069474 Drop redundant idx_jobs_pending_by_source index
has_pending() already uses the leading column of uq_jobs_live
(source_id) with the same WHERE clause. The extra index just adds
write amplification on every insert/claim/complete without improving
reads.
2026-06-01 09:24:11 -04:00
Chris McDonough
48826031ac Add partial indexes for has_pending() and dashboard throughput queries
has_pending() scans jobs WHERE source_id=? AND status IN
('queued','claimed') on every poller sweep — without an index this
is a full table scan as the jobs table grows. Similarly,
count_succeeded_since() scans by completed_at for the dashboard's
rolling-throughput display.

Add two partial indexes:
- idx_jobs_pending_by_source: covers has_pending() lookups
- idx_jobs_succeeded_completed: covers count_succeeded_since()

Both use CREATE INDEX IF NOT EXISTS so they're idempotent on
existing databases.
2026-06-01 06:28:55 -04:00
Yiorgis Gozadinos
922d1d567d
Prevent DELETE/UPSERT race for the same URI 2026-05-27 13:30:46 +03:00
Yiorgis Gozadinos
4b3641244c
SQLite queue + haiku-ingester CLI skeleton 2026-05-26 11:41:54 +03:00