Files
gitlore/migrations/026_scoring_indexes.sql
teernisse 71d07c28d8 fix(migrations): add schema_version inserts to migrations 022-027
Defense-in-depth: The migration framework already handles missing
inserts via INSERT OR REPLACE (db.rs:174), but adding explicit
inserts to .sql files ensures consistency and makes migrations
self-documenting.

Migrations affected:
- 022_notes_query_index
- 024_note_documents  
- 025_note_dirty_backfill
- 026_scoring_indexes
- 027_surgical_sync_runs
2026-02-21 09:20:18 -05:00

24 lines
1.0 KiB
SQL

-- Indexes for time-decay expert scoring: dual-path matching and reviewer participation.
CREATE INDEX IF NOT EXISTS idx_notes_old_path_author
ON notes(position_old_path, author_username, created_at)
WHERE note_type = 'DiffNote' AND is_system = 0 AND position_old_path IS NOT NULL;
CREATE INDEX IF NOT EXISTS idx_mfc_old_path_project_mr
ON mr_file_changes(old_path, project_id, merge_request_id)
WHERE old_path IS NOT NULL;
CREATE INDEX IF NOT EXISTS idx_mfc_new_path_project_mr
ON mr_file_changes(new_path, project_id, merge_request_id);
CREATE INDEX IF NOT EXISTS idx_notes_diffnote_discussion_author
ON notes(discussion_id, author_username, created_at)
WHERE note_type = 'DiffNote' AND is_system = 0;
CREATE INDEX IF NOT EXISTS idx_notes_old_path_project_created
ON notes(position_old_path, project_id, created_at)
WHERE note_type = 'DiffNote' AND is_system = 0 AND position_old_path IS NOT NULL;
INSERT INTO schema_version (version, applied_at, description)
VALUES (26, strftime('%s', 'now') * 1000, '026_scoring_indexes');