From cef5f42d9e98c0ee253ba29de23470f9d18eecd2 Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Thu, 28 Jul 2022 12:36:33 +0000 Subject: [PATCH] replace SQL with standard query condition used in Stud.IP 4.x, fixes #249 Closes #249 Merge request studip/studip!842 --- db/migrations/1.310_add_seminare_semester_table.php | 12 ++++-------- 1 file 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 7986dcc6593..8ad19d78bb0 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 "); } -- GitLab