aboutsummaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2022-07-28 12:36:33 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2022-07-28 12:36:33 +0000
commitcef5f42d9e98c0ee253ba29de23470f9d18eecd2 (patch)
tree7c9b1c744a17c7cd550a22ba76b136904828a05f /db
parent7d087fcdf3218f8101e592b78f948479b3d02fe2 (diff)
replace SQL with standard query condition used in Stud.IP 4.x, fixes #249
Closes #249 Merge request studip/studip!842
Diffstat (limited to 'db')
-rw-r--r--db/migrations/1.310_add_seminare_semester_table.php12
1 files changed, 4 insertions, 8 deletions
diff --git a/db/migrations/1.310_add_seminare_semester_table.php b/db/migrations/1.310_add_seminare_semester_table.php
index 7986dcc..8ad19d7 100644
--- a/db/migrations/1.310_add_seminare_semester_table.php
+++ b/db/migrations/1.310_add_seminare_semester_table.php
@@ -19,19 +19,15 @@ class AddSeminareSemesterTable extends Migration
);"
);
- //This select looks unorthodox but I am trying to catch even broken
- //database entries for when start_time and duration_time don't exactly
- //match the begin or end of the semester.
DBManager::get()->exec("
INSERT IGNORE INTO `semester_courses`
(`semester_id`, `course_id`, `mkdate`, `chdate`)
SELECT `semester_data`.`semester_id`, `seminare`.`Seminar_id`, `seminare`.`mkdate`, `seminare`.`chdate`
FROM `seminare`
- INNER JOIN `semester_data` ON (`seminare`.`start_time` < `semester_data`.`ende`
- AND (
- `seminare`.`start_time` >= `semester_data`.`beginn` AND `seminare`.`duration_time` >= '0'
- )
- )
+ INNER JOIN `semester_data` ON
+ `seminare`.`start_time` <= `semester_data`.`beginn` AND
+ `semester_data`.`beginn` <= `seminare`.`start_time` + `seminare`.`duration_time` AND
+ `seminare`.`duration_time` >= 0
");
}