aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java
index 0a465f2..1989764 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java
@@ -150,11 +150,14 @@ public class OperationDatabaseDAO implements OperationDAO {
// This hack exists because H2 currently has a bug that prevents IN (?) with an array of
// ids, i.e. pstmt.setArray(1, con.createArrayOf("INT", intarray) from working. See
// commented code below.
+
+ // SELECT * FROM Operation WHERE status IN ('COMPLETED', 'CANCELLED') is BUGGED on H2!
+ // for this reason we use the ordinal values instead
String str =
statuses.stream()
- .map(Enum::name)
- .map(s -> "'" + s + "'")
+ .map(e -> Integer.toString(e.ordinal()))
.collect(Collectors.joining(","));
+
String sql = "SELECT * FROM Operation WHERE status IN (" + str + ")";
Set<Operation> operations = new HashSet<>();