diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 18a100af28c0b06d31618252a0dbdab4099c244a..a69607c0fca0f66cb5e1067a7a678316f9833ecf 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -1124,22 +1124,24 @@ BEGIN WHERE disciplines.ID = DiscID; END // -DROP FUNCTION IF EXISTS isAuthorOfDiscipline// -CREATE FUNCTION `isAuthorOfDiscipline`( `DisciplineID` INT, - `TeacherID` INT - ) RETURNS int(11) - NO SQL -BEGIN - DECLARE checker INT; - SELECT disciplines.AuthorID - INTO checker - FROM `disciplines` - WHERE disciplines.ID = DisciplineID - LIMIT 1; - RETURN (checker IS NOT NULL AND checker = TeacherID); +-- Deprecated +-- DROP FUNCTION IF EXISTS isAuthorOfDiscipline// +-- CREATE FUNCTION `isAuthorOfDiscipline`( `DisciplineID` INT, +-- `TeacherID` INT +-- ) RETURNS int(11) +-- NO SQL +-- BEGIN +-- DECLARE checker INT; +-- SELECT disciplines.AuthorID +-- INTO checker +-- FROM `disciplines` +-- WHERE disciplines.ID = DisciplineID +-- LIMIT 1; + +-- RETURN (checker IS NOT NULL AND checker = TeacherID); -END // +-- END // DROP PROCEDURE IF EXISTS GetTeachersForDiscipline// CREATE PROCEDURE `GetTeachersForDiscipline`(IN `DiscID` INT) @@ -1157,8 +1159,9 @@ BEGIN faculties.ID AS 'FacultyID', faculties.Name AS 'FacultyName', faculties.Abbr AS 'FacultyAbbr', - isAuthorOfDiscipline(DiscID, teachers.ID) AS 'isAuthor' + (teachers.ID = disciplines.AuthorID) AS 'isAuthor' FROM `disciplines_teachers` + INNER JOIN `disciplines` ON disciplines.ID = disciplines_teachers.DisciplineID INNER JOIN `teachers` ON teachers.ID = disciplines_teachers.TeacherID INNER JOIN `departments` ON departments.ID = teachers.DepartmentID INNER JOIN `faculties` ON departments.FacultyID = faculties.ID