Trim the state database; Popular lists feeds the way Directory does
Drops the created columns on users, subscriptions and sessions, which were written by every insert and read by nothing, and migrate()'s add list, whose columns all predate 0.3.0. Removes Db::subscribed_feed_ids (no callers), Db::subscriber_count (one caller wanting > 0) and Managed.orphaned (never read). The old-database test now builds the tables with foreign keys on. Popular now lists the feeds inside an OPML or a Patreon creator, never the collection, as Directory does. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TAC7sLVqfKmY6rsTLXzNgk
This commit is contained in:
@@ -6,6 +6,22 @@ reasoning lives. New write-ups go at the top.
|
||||
|
||||
See [README.md](../README.md) for what the thing is.
|
||||
|
||||
## 2026-09-12 — Trimming the state database
|
||||
|
||||
An audit of the database layer, with a read-only copy of production to check it against. The
|
||||
data was already clean: no tables or indexes left from older versions, 47 free pages after the
|
||||
column drops earlier the same day, and one stray `entry_state` row. The code had five things:
|
||||
|
||||
- `migrate()` still added eight columns to any table missing them. All eight shipped in 0.2.0 and
|
||||
upgrades now start from 0.3.0 at the oldest, so the list and its loop went; the `retired` drop
|
||||
list stays, since a database coming from 0.4.0 still has the old read columns.
|
||||
- `created` on `users`, `subscriptions` and `sessions` was written by every insert and read by
|
||||
nothing. They joined `retired`. The old-database test now builds all three tables, foreign keys
|
||||
included, since `DROP COLUMN` on a table that references another was the part worth proving.
|
||||
- `Db::subscribed_feed_ids` had no callers, though its doc said the scanner walked it.
|
||||
`Db::subscriber_count` had one caller asking whether it was above zero, which
|
||||
`subscriber_counts().contains_key` answers. `Managed.orphaned` was selected and never read.
|
||||
|
||||
## 2026-09-12 — Cutting what had outlived its reason
|
||||
|
||||
A whole-repo audit for over-engineering listed twelve things to cut, and all of them went.
|
||||
|
||||
Reference in New Issue
Block a user