From 8a505b6f483d7bf8ade41e56c77e3fea417c72ca Mon Sep 17 00:00:00 2001
From: PavelBegunkov <asml.Silence@gmail.com>
Date: Sat, 30 Aug 2014 15:16:14 +0400
Subject: [PATCH] optimizing

---
 db/StoredProcedures.sql | 33 ++++++++++++++++++---------------
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index 18a100af2..a69607c0f 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
-- 
GitLab