Objective
Create one measurement-only decision gate for Room3 capabilities that are available in the modern stack but must not be adopted merely because they are newer.
Candidates
After #178 restores trustworthy database measurement semantics, compare the current default against isolated candidates:
- explicit Room3 single/multiple connection-pool configuration;
- dedicated query coroutine context only if thread contention is observed;
- current FTS4 Unicode61 vs FTS5 candidates (including trigram only where search semantics justify it);
WITHOUT ROWID only for individually selected entity shapes.
Required baseline evidence
Before any production schema/config change capture:
- actual journal mode;
- query p50/p95 and
EXPLAIN QUERY PLAN for heavy Channels/Search/Guide queries;
- transaction duration;
- connection wait/hold where observable;
- concurrent read demand;
- write contention during M3U/EPG staging/publication;
- DB/WAL size and growth;
SQLITE_BUSY/retry incidence;
- Search quality/semantics on deterministic 1k/10k/50k corpus.
Experiment rules
Each candidate is isolated. Do not bundle pool tuning + FTS migration + row-layout change into one PR. A result may legitimately be “keep the default”.
FTS5 is a schema/search-semantics change and must include migration/rebuild cost and result-quality comparison, not only query latency. WITHOUT ROWID requires table-specific size/read/write evidence and migration tests.
Acceptance
Non-goals
- changing Room configuration now;
- FTS5 migration now;
- blanket reader/writer count increase;
- schema version bump in this measurement issue.
Ownership
Measurement/decision issue under #27/#179. The current Room3 3.0.1 dependency-only patch remains #146 and must not absorb these experiments.
Objective
Create one measurement-only decision gate for Room3 capabilities that are available in the modern stack but must not be adopted merely because they are newer.
Candidates
After #178 restores trustworthy database measurement semantics, compare the current default against isolated candidates:
WITHOUT ROWIDonly for individually selected entity shapes.Required baseline evidence
Before any production schema/config change capture:
EXPLAIN QUERY PLANfor heavy Channels/Search/Guide queries;SQLITE_BUSY/retry incidence;Experiment rules
Each candidate is isolated. Do not bundle pool tuning + FTS migration + row-layout change into one PR. A result may legitimately be “keep the default”.
FTS5 is a schema/search-semantics change and must include migration/rebuild cost and result-quality comparison, not only query latency.
WITHOUT ROWIDrequires table-specific size/read/write evidence and migration tests.Acceptance
Non-goals
Ownership
Measurement/decision issue under #27/#179. The current Room3 3.0.1 dependency-only patch remains #146 and must not absorb these experiments.