fix(db): add indexes on documents.sender_id and document_comments.author_id (#470) #491
@@ -0,0 +1,8 @@
|
|||||||
|
-- Speeds up "documents by sender" queries used on /persons/[id] Korrespondenz-Überblick (#306),
|
||||||
|
-- /briefwechsel, and bulk-edit flows.
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_documents_sender_id
|
||||||
|
ON documents(sender_id);
|
||||||
|
|
||||||
|
-- Speeds up "comments by author" queries on admin user detail and (future) contributor profile.
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_comments_author_id
|
||||||
|
ON document_comments(author_id);
|
||||||
@@ -399,6 +399,24 @@ class MigrationIntegrationTest {
|
|||||||
AND dc.annotation_id IS NOT NULL
|
AND dc.annotation_id IS NOT NULL
|
||||||
""";
|
""";
|
||||||
|
|
||||||
|
// ─── V62: indexes on FK columns ──────────────────────────────────────────
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void v62_idx_documents_sender_id_exists() {
|
||||||
|
Integer count = jdbc.queryForObject(
|
||||||
|
"SELECT COUNT(*) FROM pg_catalog.pg_indexes WHERE tablename = 'documents' AND indexname = 'idx_documents_sender_id'",
|
||||||
|
Integer.class);
|
||||||
|
assertThat(count).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void v62_idx_comments_author_id_exists() {
|
||||||
|
Integer count = jdbc.queryForObject(
|
||||||
|
"SELECT COUNT(*) FROM pg_catalog.pg_indexes WHERE tablename = 'document_comments' AND indexname = 'idx_comments_author_id'",
|
||||||
|
Integer.class);
|
||||||
|
assertThat(count).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
// ─── V63+V64: group_permissions dedup + primary key ──────────────────────
|
// ─── V63+V64: group_permissions dedup + primary key ──────────────────────
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user