Skip to content

Commit c810a5d

Browse files
authored
Merge pull request #28318 from mswatosh/data-db2
Allowing Delete and OrderBy
2 parents 4513b0f + 3669fcf commit c810a5d

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

dev/io.openliberty.data.internal.persistence/src/io/openliberty/data/internal/persistence/QueryInfo.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,13 +1206,15 @@ Annotation validateAnnotationCombinations(Delete delete, Insert insert, Update u
12061206
(update == null ? 0 : 1) +
12071207
(save == null ? 0 : 1);
12081208

1209-
int iusdce = ius +
1210-
(delete == null ? 0 : 1) +
1211-
(count == null ? 0 : 1) +
1212-
(exists == null ? 0 : 1);
1209+
int iusce = ius +
1210+
(count == null ? 0 : 1) +
1211+
(exists == null ? 0 : 1);
1212+
1213+
int iusdce = iusce +
1214+
(delete == null ? 0 : 1);
12131215

12141216
if (iusdce + f > 1 // more than one of (Insert, Update, Save, Delete, Count, Exists, Find)
1215-
|| iusdce + o > 1 // more than one of (Insert, Update, Save, Delete, Count, Exists, OrderBy)
1217+
|| iusce + o > 1 // more than one of (Insert, Update, Save, Delete, Count, Exists, OrderBy)
12161218
|| iusdce + q > 1) { // one of (Insert, Update, Save, Delete, Count, Exists) with Query
12171219

12181220
// Invalid combination of multiple annotations

dev/io.openliberty.data.internal_fat/test-applications/DataTestApp/src/test/jakarta/data/web/DataTestServlet.java

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,35 +1127,43 @@ public void testFindAndDeleteAnnotated() {
11271127
public void testFindAndDeleteMultipleAnnotated(HttpServletRequest request, HttpServletResponse response) {
11281128
packages.save(new Package(60001, 61.0f, 41.0f, 26.0f, "testFindAndDeleteMultipleAnnotated"));
11291129
packages.save(new Package(60002, 62.0f, 42.0f, 25.0f, "testFindAndDeleteMultipleAnnotated"));
1130+
packages.save(new Package(60003, 59.0f, 39.0f, 24.0f, "testFindAndDeleteMultipleAnnotated"));
11301131

11311132
String jdbcJarName = request.getParameter("jdbcJarName").toLowerCase();
11321133
boolean supportsOrderByForUpdate = !jdbcJarName.startsWith("derby");
11331134

11341135
List<Package> list = supportsOrderByForUpdate //
11351136
? packages.takeOrdered("testFindAndDeleteMultipleAnnotated") //
11361137
: packages.take("testFindAndDeleteMultipleAnnotated");
1137-
assertEquals(list.toString(), 2, list.size());
1138+
assertEquals(list.toString(), 3, list.size());
11381139

11391140
if (!supportsOrderByForUpdate) {
11401141
System.out.println("Sorting results in test code.");
1141-
list.sort(Comparator.comparing(p -> p.id));
1142+
list.sort(Comparator.comparing(p -> p.width));
11421143
}
11431144

11441145
Package p0 = list.get(0);
11451146
Package p1 = list.get(1);
1147+
Package p2 = list.get(2);
11461148

1147-
assertEquals(60001, p0.id);
1148-
assertEquals(61.0f, p0.length, 0.01f);
1149-
assertEquals(41.0f, p0.width, 0.01f);
1150-
assertEquals(26.0f, p0.height, 0.01f);
1149+
assertEquals(60003, p0.id);
1150+
assertEquals(59.0f, p0.length, 0.01f);
1151+
assertEquals(39.0f, p0.width, 0.01f);
1152+
assertEquals(24.0f, p0.height, 0.01f);
11511153
assertEquals("testFindAndDeleteMultipleAnnotated", p0.description);
11521154

1153-
assertEquals(60002, p1.id);
1154-
assertEquals(62.0f, p1.length, 0.01f);
1155-
assertEquals(42.0f, p1.width, 0.01f);
1156-
assertEquals(25.0f, p1.height, 0.01f);
1155+
assertEquals(60001, p1.id);
1156+
assertEquals(61.0f, p1.length, 0.01f);
1157+
assertEquals(41.0f, p1.width, 0.01f);
1158+
assertEquals(26.0f, p1.height, 0.01f);
11571159
assertEquals("testFindAndDeleteMultipleAnnotated", p1.description);
11581160

1161+
assertEquals(60002, p2.id);
1162+
assertEquals(62.0f, p2.length, 0.01f);
1163+
assertEquals(42.0f, p2.width, 0.01f);
1164+
assertEquals(25.0f, p2.height, 0.01f);
1165+
assertEquals("testFindAndDeleteMultipleAnnotated", p2.description);
1166+
11591167
assertEquals(Collections.EMPTY_LIST, packages.take("testFindAndDeleteMultipleAnnotated"));
11601168
}
11611169

dev/io.openliberty.data.internal_fat/test-applications/DataTestApp/src/test/jakarta/data/web/Packages.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ CursoredPage<Package> findByHeightLessThanOrHeightGreaterThan(float minToExclude
9595
List<Package> take(@By("description") String desc);
9696

9797
@Delete
98-
@OrderBy("id")
98+
@OrderBy("width")
9999
List<Package> takeOrdered(String description);
100100

101101
boolean updateByIdAddHeightMultiplyLengthDivideWidth(int id, float heightToAdd, float lengthMultiplier, float widthDivisor);

0 commit comments

Comments
 (0)