summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbRunScript.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbRunScript.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbRunScript.java
index 172ef691..26b2c2e2 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbRunScript.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbRunScript.java
@@ -43,13 +43,14 @@ public class DbRunScript {
int osId) {
List<DbLecture.RunScript> retval = null;
try {
- MysqlStatement stmt = connection.prepareStatement("SELECT s.content, s.extension, s.visibility, s.passcreds"
- + " FROM presetrunscript s"
- + " INNER JOIN lecture_x_runscript lxr ON "
- + " ((lxr.lectureid = :lectureid AND lxr.runscriptid = s.runscriptid) OR (s.isglobal))"
- + " INNER JOIN presetrunscript_x_operatingsystem pxo ON "
- + " (pxo.runscriptid = s.runscriptid AND pxo.osid = :osid)"
- + " ORDER BY s.scriptname ASC");
+ MysqlStatement stmt = connection.prepareStatement("SELECT us.content, us.extension, us.visibility, us.passcreds"
+ + " FROM (SELECT s.scriptname, s.content, s.extension, s.visibility, s.passcreds, s.runscriptid"
+ + " FROM presetrunscript s"
+ + " INNER JOIN lecture_x_runscript lxr ON (lxr.lectureid = :lectureid AND lxr.runscriptid = s.runscriptid)"
+ + " UNION SELECT t.scriptname, t.content, t.extension, t.visibility, t.passcreds, t.runscriptid"
+ + " FROM presetrunscript t WHERE t.isglobal"
+ + " ) us INNER JOIN presetrunscript_x_operatingsystem pxo ON (pxo.runscriptid = us.runscriptid AND pxo.osid = :osid)"
+ + " ORDER BY us.scriptname ASC");
stmt.setString("lectureid", lectureId);
stmt.setInt("osid", osId);
ResultSet rs = stmt.executeQuery();