fix(live): bound live channel listing queries
Optimize the live channel page path so unfiltered catalog pages are counted and paged in SQLite before serialization and enrichment. Add the T42 CPU regression test covering a 50000-channel projected catalog. Refs #42 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -24,6 +24,8 @@ const CATALOG_PROJECTION_STATE_COLUMNS = {
|
||||
const LIVE_PROJECTION_SCHEMA_SQL = `
|
||||
CREATE INDEX IF NOT EXISTS idx_items_logical_channel ON playlist_items(logical_channel_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_items_grouping_fingerprint ON playlist_items(grouping_fingerprint);
|
||||
CREATE INDEX IF NOT EXISTS idx_items_live_projection_page
|
||||
ON playlist_items(type, logical_channel_id, language_code, source_id, variant_rank);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS logical_channels (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
Reference in New Issue
Block a user