Skip to content

Commit 3c8927c

Browse files
committed
DMP-5287 Create new index to improve retention performance
Added new index
1 parent 654dc54 commit 3c8927c

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

src/integrationTest/java/uk/gov/hmcts/darts/cases/repository/CaseRepositoryIntTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class CaseRepositoryIntTest extends IntegrationBase {
3737
private CaseRepository caseRepository;
3838

3939
@Test
40-
void findByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_ReturnsResults() {
40+
void findByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_ShouldReturnsResults() {
4141
// given
4242
caseStub.createAndSaveCourtCase(courtCase -> {
4343
courtCase.setRetentionUpdated(true);
@@ -69,7 +69,7 @@ void findByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_ReturnsResults() {
6969
}
7070

7171
@Test
72-
void findIdsByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_caseHasNoAssocaitedCaseRetentionEntity_shouldNotReturn() {
72+
void findIdsByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_ShouldNotReturn_WhenCaseHasNoAssociatedCaseRetentionEntity() {
7373
// given
7474
caseStub.createAndSaveCourtCase(courtCase -> {
7575
courtCase.setRetentionUpdated(true);
@@ -82,7 +82,7 @@ void findIdsByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_caseHasNoAssocai
8282
}
8383

8484
@Test
85-
void findIdsByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_oneCaseHasMultipleRetentionObjects_shouldOnlyReturnIdOnce() {
85+
void findIdsByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_ShouldOnlyReturnIdOnce_WhereOneCaseHasMultipleRetentionObjects() {
8686
// given
8787
var matchingCase = caseStub.createAndSaveCourtCase(courtCase -> {
8888
courtCase.setRetentionUpdated(true);
@@ -106,7 +106,7 @@ void findIdsByIsRetentionUpdatedTrueAndRetentionRetriesLessThan_oneCaseHasMultip
106106

107107

108108
@Test
109-
void findCasesIdsNeedingCaseDocumentGenerated_ReturnsMatchingCases() {
109+
void findCasesIdsNeedingCaseDocumentGenerated_ShouldReturnsMatchingCases() {
110110
// given
111111
caseStub.createAndSaveCourtCase(courtCase -> {
112112
courtCase.setClosed(true);

src/main/java/uk/gov/hmcts/darts/common/repository/CaseRepository.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ AND NOT EXISTS (select 1 from CaseRetentionEntity cre
5454
""")
5555
List<Integer> findOpenCasesToClose(OffsetDateTime cutoffDate, Limit limit);
5656

57+
// Must have join to case retention to ensure all cases returned have CaseRetentionEntity
5758
@Query("""
5859
SELECT distinct cc.id
5960
FROM CourtCaseEntity cc
60-
JOIN cc.caseRetentionEntities cr
61-
WHERE cr is not null
62-
AND cc.isRetentionUpdated = true
61+
JOIN cc.caseRetentionEntities cr
62+
WHERE cc.isRetentionUpdated = true
6363
AND cc.retentionRetries < :maxRetentionRetries
6464
ORDER BY cc.id ASC
6565
""")

src/main/resources/db/migration/common/V1_490__create_new_indexes.sql

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CREATE INDEX IF NOT EXISTS cr_rr_idx ON case_retention (retention_retries) WHERE is_retention_updated;

0 commit comments

Comments
 (0)