TSK-1731: Fix TaskQuery to order correctly by attachment received

This commit is contained in:
Benjamin Eckstein 2021-09-16 13:59:04 +02:00 committed by Benjamin Eckstein
parent c742407288
commit e579720716
3 changed files with 46 additions and 4 deletions

View File

@ -8,11 +8,11 @@ INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000004','TKI:00
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000005','TKI:000000000000000000000000000000000002', '2018-01-29 15:55:05', null , 'L110105' , 'CLI:000000000000000000000000000000000006', 'novatec' , 'novasys', 'nvinst', 'typ3', 'val2', 'ch5', '2018-02-01 12:00:00', null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000006','TKI:000000000000000000000000000000000002', '2018-01-29 15:55:06', null , 'L110107' , 'CLI:000000000000000000000000000000000007', 'novatec' , 'novasys', 'nvinst', 'typ3', 'val2', 'ch6', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000007','TKI:000000000000000000000000000000000002', '2018-01-29 15:55:07', null , 'L12010' , 'CLI:100000000000000000000000000000000008', 'novatec' , 'novasys', 'nvinst', 'typ3', 'val3', 'ch6', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000008','TKI:000000000000000000000000000000000008', '2018-01-29 15:55:08', null , 'L140101' , 'CLI:000000000000000000000000000000000009', 'novatec' , 'novasys', 'nvinst', 'typ3', 'val3', 'ch6', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000008','TKI:000000000000000000000000000000000008', '2018-01-29 15:55:08', null , 'L140101' , 'CLI:000000000000000000000000000000000009', 'novatec' , 'novasys', 'nvinst', 'typ3', 'val3', 'ch6', '2018-02-01 08:00:00', null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000009','TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ3', 'val4', 'ch7', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000010','TKI:000000000000000000000000000000000052', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ4', 'val4', 'ch7', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000010','TKI:000000000000000000000000000000000052', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ4', 'val4', 'ch7', '2018-02-01 09:00:00', null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000011','TKI:000000000000000000000000000000000053', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ4', 'val4', 'ch7', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000012','TKI:000000000000000000000000000000000054', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ5', 'val4', 'ch7', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000012','TKI:000000000000000000000000000000000054', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ5', 'val4', 'ch7', '2018-02-01 07:00:00', null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000013','TKI:000000000000000000000000000000000055', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ5', 'val4', 'ch7', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000014','TKI:000000000000000000000000000000000010', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L11010' , 'CLI:100000000000000000000000000000000004', 'novatec' , 'novasys', 'nvinst', 'typ5', 'val4', 'ch8', null, null);
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000015','TKI:000000000000000000000000000000000011', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L10303' , 'CLI:100000000000000000000000000000000002', 'novatec' , 'novasys', 'nvinst', 'typ5', 'val5', 'ch8', '2018-01-30 12:00:00', null);

View File

@ -974,7 +974,9 @@ public class TaskQueryImpl implements TaskQuery {
public TaskQuery orderByAttachmentReceived(SortDirection sortDirection) {
joinWithAttachments = true;
addAttachmentColumnsToSelectClauseForOrdering = true;
return addOrderCriteria("RECEIVED", sortDirection);
return DB.isDb2(getDatabaseId())
? addOrderCriteria("ARECEIVED", sortDirection)
: addOrderCriteria("a.RECEIVED", sortDirection);
}
public TaskQuery selectAndClaimEquals(boolean selectAndClaim) {

View File

@ -788,6 +788,46 @@ class QueryTasksAccTest extends AbstractAccTest {
.isSortedAccordingTo(CASE_INSENSITIVE_ORDER.reversed());
}
@WithAccessId(user = "admin")
@Test
void testQueryForOrderByAttachmentReceivedAsc() {
List<TaskSummary> results =
TASK_SERVICE
.createTaskQuery()
.idIn(
"TKI:000000000000000000000000000000000008",
"TKI:000000000000000000000000000000000052",
"TKI:000000000000000000000000000000000054")
.orderByAttachmentReceived(ASCENDING)
.list();
assertThat(results)
.hasSize(3)
.flatExtracting(TaskSummary::getAttachmentSummaries)
.extracting(AttachmentSummary::getReceived)
.isSorted();
}
@WithAccessId(user = "admin")
@Test
void testQueryForOrderByAttachmentReceivedDesc() {
List<TaskSummary> results =
TASK_SERVICE
.createTaskQuery()
.idIn(
"TKI:000000000000000000000000000000000008",
"TKI:000000000000000000000000000000000052",
"TKI:000000000000000000000000000000000054")
.orderByAttachmentReceived(DESCENDING)
.list();
assertThat(results)
.hasSize(3)
.flatExtracting(TaskSummary::getAttachmentSummaries)
.extracting(AttachmentSummary::getReceived)
.isSortedAccordingTo(Comparator.<Instant>naturalOrder().reversed());
}
@WithAccessId(user = "admin")
@Test
void testQueryForOrderByAttachmentChannelAscAndReferenceDesc() {