diff --git a/sql/swad.sql b/sql/swad.sql index 8a3866829..32b82e7d9 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -1368,23 +1368,6 @@ CREATE TABLE IF NOT EXISTS sta_notif ( NumMails INT NOT NULL, UNIQUE INDEX(DegCod,CrsCod,NotifyEvent)); -- --- Table surveys: stores the surveys --- -CREATE TABLE IF NOT EXISTS surveys ( - SvyCod INT NOT NULL AUTO_INCREMENT, - Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys', - Cod INT NOT NULL DEFAULT -1, - Hidden ENUM('N','Y') NOT NULL DEFAULT 'N', - NumNotif INT NOT NULL DEFAULT 0, - Roles INT NOT NULL DEFAULT 0, - UsrCod INT NOT NULL, - StartTime DATETIME NOT NULL, - EndTime DATETIME NOT NULL, - Title VARCHAR(2047) NOT NULL, - Txt TEXT NOT NULL, - UNIQUE INDEX(SvyCod), - INDEX(Scope,Cod)); --- -- Table svy_answers: stores the answers to the surveys -- CREATE TABLE IF NOT EXISTS svy_answers ( @@ -1412,6 +1395,23 @@ CREATE TABLE IF NOT EXISTS svy_questions ( UNIQUE INDEX(QstCod), INDEX(SvyCod)); -- +-- Table svy_surveys: stores the surveys +-- +CREATE TABLE IF NOT EXISTS svy_surveys ( + SvyCod INT NOT NULL AUTO_INCREMENT, + Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys', + Cod INT NOT NULL DEFAULT -1, + Hidden ENUM('N','Y') NOT NULL DEFAULT 'N', + NumNotif INT NOT NULL DEFAULT 0, + Roles INT NOT NULL DEFAULT 0, + UsrCod INT NOT NULL, + StartTime DATETIME NOT NULL, + EndTime DATETIME NOT NULL, + Title VARCHAR(2047) NOT NULL, + Txt TEXT NOT NULL, + UNIQUE INDEX(SvyCod), + INDEX(Scope,Cod)); +-- -- Table svy_users: stores the users who have answer the surveys -- CREATE TABLE IF NOT EXISTS svy_users ( diff --git a/swad_changelog.h b/swad_changelog.h index 1dbf0a222..c857a4b2c 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -600,10 +600,14 @@ TODO: Salvador Romero Cort TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria. */ -#define Log_PLATFORM_VERSION "SWAD 20.44 (2021-03-04)" +#define Log_PLATFORM_VERSION "SWAD 20.44.1 (2021-03-05)" #define CSS_FILE "swad20.33.9.css" #define JS_FILE "swad20.6.2.js" /* + Version 20.44.1: Mar 05, 2021 Surveys database table renamed. (305623 lines) + 1 change necessary in database: +RENAME TABLE surveys TO svy_surveys; + Version 20.44: Mar 04, 2021 Timeline database tables renamed. (305618 lines) 7 change necessary in database: RENAME TABLE tl_comments TO tml_comments; diff --git a/swad_database.c b/swad_database.c index f3e2349e7..fae58e922 100644 --- a/swad_database.c +++ b/swad_database.c @@ -2878,43 +2878,6 @@ mysql> DESCRIBE sta_notif; "NumMails INT NOT NULL," "UNIQUE INDEX(DegCod,CrsCod,NotifyEvent))"); - /***** Table surveys *****/ -/* -mysql> DESCRIBE surveys; -+-----------+-------------------------------------------+------+-----+---------+----------------+ -| Field | Type | Null | Key | Default | Extra | -+-----------+-------------------------------------------+------+-----+---------+----------------+ -| SvyCod | int(11) | NO | PRI | NULL | auto_increment | -| Scope | enum('Sys','Cty','Ins','Ctr','Deg','Crs') | NO | MUL | Sys | | -| Cod | int(11) | NO | | -1 | | -| DegCod | int(11) | NO | | -1 | | -| CrsCod | int(11) | NO | | -1 | | -| Hidden | enum('N','Y') | NO | | N | | -| NumNotif | int(11) | NO | | 0 | | -| Roles | int(11) | NO | | 0 | | -| UsrCod | int(11) | NO | | NULL | | -| StartTime | datetime | NO | | NULL | | -| EndTime | datetime | NO | | NULL | | -| Title | varchar(2047) | NO | | NULL | | -| Txt | text | NO | | NULL | | -+-----------+-------------------------------------------+------+-----+---------+----------------+ -13 rows in set (0,00 sec) -*/ - DB_CreateTable ("CREATE TABLE IF NOT EXISTS surveys (" - "SvyCod INT NOT NULL AUTO_INCREMENT," - "Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys'," - "Cod INT NOT NULL DEFAULT -1," - "Hidden ENUM('N','Y') NOT NULL DEFAULT 'N'," - "NumNotif INT NOT NULL DEFAULT 0," - "Roles INT NOT NULL DEFAULT 0," - "UsrCod INT NOT NULL," - "StartTime DATETIME NOT NULL," - "EndTime DATETIME NOT NULL," - "Title VARCHAR(2047) NOT NULL," // Svy_MAX_BYTES_SURVEY_TITLE - "Txt TEXT NOT NULL," // Cns_MAX_BYTES_TEXT - "UNIQUE INDEX(SvyCod)," - "INDEX(Scope,Cod))"); - /***** Table svy_answers *****/ /* mysql> DESCRIBE svy_answers; @@ -2974,6 +2937,43 @@ mysql> DESCRIBE svy_questions; "UNIQUE INDEX(QstCod)," "INDEX(SvyCod))"); + /***** Table svy_surveys *****/ +/* +mysql> DESCRIBE svy_surveys; ++-----------+-------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++-----------+-------------------------------------------+------+-----+---------+----------------+ +| SvyCod | int(11) | NO | PRI | NULL | auto_increment | +| Scope | enum('Sys','Cty','Ins','Ctr','Deg','Crs') | NO | MUL | Sys | | +| Cod | int(11) | NO | | -1 | | +| DegCod | int(11) | NO | | -1 | | +| CrsCod | int(11) | NO | | -1 | | +| Hidden | enum('N','Y') | NO | | N | | +| NumNotif | int(11) | NO | | 0 | | +| Roles | int(11) | NO | | 0 | | +| UsrCod | int(11) | NO | | NULL | | +| StartTime | datetime | NO | | NULL | | +| EndTime | datetime | NO | | NULL | | +| Title | varchar(2047) | NO | | NULL | | +| Txt | text | NO | | NULL | | ++-----------+-------------------------------------------+------+-----+---------+----------------+ +13 rows in set (0,00 sec) +*/ + DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_surveys (" + "SvyCod INT NOT NULL AUTO_INCREMENT," + "Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys'," + "Cod INT NOT NULL DEFAULT -1," + "Hidden ENUM('N','Y') NOT NULL DEFAULT 'N'," + "NumNotif INT NOT NULL DEFAULT 0," + "Roles INT NOT NULL DEFAULT 0," + "UsrCod INT NOT NULL," + "StartTime DATETIME NOT NULL," + "EndTime DATETIME NOT NULL," + "Title VARCHAR(2047) NOT NULL," // Svy_MAX_BYTES_SURVEY_TITLE + "Txt TEXT NOT NULL," // Cns_MAX_BYTES_TEXT + "UNIQUE INDEX(SvyCod)," + "INDEX(Scope,Cod))"); + /***** Table svy_users *****/ /* mysql> DESCRIBE svy_users; diff --git a/swad_notification.c b/swad_notification.c index 199aff663..252ff5b35 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -1353,23 +1353,25 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod) NumRows = DB_QuerySELECT (&mysql_res,"can not get users" " to be notified", "(SELECT crs_usr.UsrCod" - " FROM surveys,crs_usr" - " WHERE surveys.SvyCod=%ld" - " AND surveys.SvyCod NOT IN" + " FROM svy_surveys,crs_usr" + " WHERE svy_surveys.SvyCod=%ld" + " AND svy_surveys.SvyCod NOT IN" " (SELECT SvyCod FROM svy_grp WHERE SvyCod=%ld)" - " AND surveys.Scope='%s' AND surveys.Cod=crs_usr.CrsCod" + " AND svy_surveys.Scope='%s'" + " AND svy_surveys.Cod=crs_usr.CrsCod" " AND crs_usr.UsrCod<>%ld" - " AND (surveys.Roles&(1<0)" + " AND (svy_surveys.Roles&(1<0)" " UNION " "(SELECT DISTINCT crs_grp_usr.UsrCod" - " FROM svy_grp,crs_grp_usr,surveys,crs_usr" + " FROM svy_grp,crs_grp_usr,svy_surveys,crs_usr" " WHERE svy_grp.SvyCod=%ld" " AND svy_grp.GrpCod=crs_grp_usr.GrpCod" " AND crs_grp_usr.UsrCod=crs_usr.UsrCod" " AND crs_grp_usr.UsrCod<>%ld" - " AND svy_grp.SvyCod=surveys.SvyCod" - " AND surveys.Scope='%s' AND surveys.Cod=crs_usr.CrsCod" - " AND (surveys.Roles&(1<0)", + " AND svy_grp.SvyCod=svy_surveys.SvyCod" + " AND svy_surveys.Scope='%s'" + " AND svy_surveys.Cod=crs_usr.CrsCod" + " AND (svy_surveys.Roles&(1<0)", Cod, Cod, Sco_GetDBStrFromScope (Hie_Lvl_CRS), diff --git a/swad_survey.c b/swad_survey.c index 645458954..955774c0c 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -1028,7 +1028,7 @@ static void Svy_GetListSurveys (struct Svy_Surveys *Surveys) /* Make query */ if (SubQueryFilled) NumRows = DB_QuerySELECT (&mysql_res,"can not get surveys", - "SELECT SvyCod FROM surveys" + "SELECT SvyCod FROM svy_surveys" " WHERE %s%s%s%s%s%s" " ORDER BY %s", SubQuery[Hie_Lvl_SYS], @@ -1263,7 +1263,7 @@ void Svy_GetDataOfSurveyByCod (struct Svy_Survey *Svy) "UNIX_TIMESTAMP(EndTime)," "NOW() BETWEEN StartTime AND EndTime," "Title" - " FROM surveys" + " FROM svy_surveys" " WHERE SvyCod=%ld", Svy->SvyCod); @@ -1485,7 +1485,7 @@ static void Svy_GetSurveyTxtFromDB (long SvyCod,char Txt[Cns_MAX_BYTES_TEXT + 1] /***** Get text of survey from database *****/ NumRows = DB_QuerySELECT (&mysql_res,"can not get survey text", - "SELECT Txt FROM surveys WHERE SvyCod=%ld", + "SELECT Txt FROM svy_surveys WHERE SvyCod=%ld", SvyCod); /***** The result of the query must have one row or none *****/ @@ -1523,7 +1523,7 @@ void Svy_GetNotifSurvey (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1], if (DB_QuerySELECT (&mysql_res,"can not get groups of a survey", "SELECT Title," // row[0] "Txt" // row[1] - " FROM surveys" + " FROM svy_surveys" " WHERE SvyCod=%ld", SvyCod) == 1) { @@ -1656,7 +1656,7 @@ void Svy_RemoveSurvey (void) /***** Remove survey *****/ DB_QueryDELETE ("can not remove survey", - "DELETE FROM surveys WHERE SvyCod=%ld", + "DELETE FROM svy_surveys WHERE SvyCod=%ld", Svy.SvyCod); /***** Mark possible notifications as removed *****/ @@ -1798,7 +1798,7 @@ void Svy_HideSurvey (void) /***** Hide survey *****/ DB_QueryUPDATE ("can not hide survey", - "UPDATE surveys SET Hidden='Y' WHERE SvyCod=%ld", + "UPDATE svy_surveys SET Hidden='Y' WHERE SvyCod=%ld", Svy.SvyCod); /***** Show surveys again *****/ @@ -1833,7 +1833,7 @@ void Svy_UnhideSurvey (void) /***** Show survey *****/ DB_QueryUPDATE ("can not show survey", - "UPDATE surveys SET Hidden='N' WHERE SvyCod=%ld", + "UPDATE svy_surveys SET Hidden='N' WHERE SvyCod=%ld", Svy.SvyCod); /***** Show surveys again *****/ @@ -1848,7 +1848,7 @@ static bool Svy_CheckIfSimilarSurveyExists (struct Svy_Survey *Svy) { /***** Get number of surveys with a field value from database *****/ return (DB_QueryCOUNT ("can not get similar surveys", - "SELECT COUNT(*) FROM surveys" + "SELECT COUNT(*) FROM svy_surveys" " WHERE Scope='%s' AND Cod=%ld" " AND Title='%s' AND SvyCod<>%ld", Sco_GetDBStrFromScope (Svy->Scope),Svy->Cod, @@ -2337,7 +2337,7 @@ static void Svy_UpdateNumUsrsNotifiedByEMailAboutSurvey (long SvyCod, { /***** Update number of users notified *****/ DB_QueryUPDATE ("can not update the number of notifications of a survey", - "UPDATE surveys SET NumNotif=NumNotif+%u" + "UPDATE svy_surveys SET NumNotif=NumNotif+%u" " WHERE SvyCod=%ld", NumUsrsToBeNotifiedByEMail,SvyCod); } @@ -2353,7 +2353,7 @@ static void Svy_CreateSurvey (struct Svy_Survey *Svy,const char *Txt) /***** Create a new survey *****/ Svy->SvyCod = DB_QueryINSERTandReturnCode ("can not create new survey", - "INSERT INTO surveys" + "INSERT INTO svy_surveys" " (Scope,Cod,Hidden,Roles,UsrCod,StartTime,EndTime,Title,Txt)" " VALUES" " ('%s',%ld,'N',%u,%ld," @@ -2386,7 +2386,7 @@ static void Svy_UpdateSurvey (struct Svy_Survey *Svy,const char *Txt) /***** Update the data of the survey *****/ DB_QueryUPDATE ("can not update survey", - "UPDATE surveys" + "UPDATE svy_surveys" " SET Scope='%s',Cod=%ld,Roles=%u," "StartTime=FROM_UNIXTIME(%ld)," "EndTime=FROM_UNIXTIME(%ld)," @@ -2549,18 +2549,18 @@ void Svy_RemoveSurveys (Hie_Lvl_Level_t Scope,long Cod) DB_QueryDELETE ("can not remove users" " who had answered surveys in a place on the hierarchy", "DELETE FROM svy_users" - " USING surveys,svy_users" - " WHERE surveys.Scope='%s' AND surveys.Cod=%ld" - " AND surveys.SvyCod=svy_users.SvyCod", + " USING svy_surveys,svy_users" + " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld" + " AND svy_surveys.SvyCod=svy_users.SvyCod", Sco_GetDBStrFromScope (Scope),Cod); /***** Remove all the answers in course surveys *****/ DB_QueryDELETE ("can not remove answers of surveys" " in a place on the hierarchy", "DELETE FROM svy_answers" - " USING surveys,svy_questions,svy_answers" - " WHERE surveys.Scope='%s' AND surveys.Cod=%ld" - " AND surveys.SvyCod=svy_questions.SvyCod" + " USING svy_surveys,svy_questions,svy_answers" + " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld" + " AND svy_surveys.SvyCod=svy_questions.SvyCod" " AND svy_questions.QstCod=svy_answers.QstCod", Sco_GetDBStrFromScope (Scope),Cod); @@ -2568,24 +2568,24 @@ void Svy_RemoveSurveys (Hie_Lvl_Level_t Scope,long Cod) DB_QueryDELETE ("can not remove questions of surveys" " in a place on the hierarchy", "DELETE FROM svy_questions" - " USING surveys,svy_questions" - " WHERE surveys.Scope='%s' AND surveys.Cod=%ld" - " AND surveys.SvyCod=svy_questions.SvyCod", + " USING svy_surveys,svy_questions" + " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld" + " AND svy_surveys.SvyCod=svy_questions.SvyCod", Sco_GetDBStrFromScope (Scope),Cod); /***** Remove groups *****/ DB_QueryDELETE ("can not remove all the groups" " associated to surveys of a course", "DELETE FROM svy_grp" - " USING surveys,svy_grp" - " WHERE surveys.Scope='%s' AND surveys.Cod=%ld" - " AND surveys.SvyCod=svy_grp.SvyCod", + " USING svy_surveys,svy_grp" + " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld" + " AND svy_surveys.SvyCod=svy_grp.SvyCod", Sco_GetDBStrFromScope (Scope),Cod); /***** Remove course surveys *****/ DB_QueryDELETE ("can not remove all the surveys" " in a place on the hierarchy", - "DELETE FROM surveys" + "DELETE FROM svy_surveys" " WHERE Scope='%s' AND Cod=%ld", Sco_GetDBStrFromScope (Scope),Cod); } @@ -2598,7 +2598,7 @@ static bool Svy_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod) { /***** Get if I can do a survey from database *****/ return (DB_QueryCOUNT ("can not check if I can do a survey", - "SELECT COUNT(*) FROM surveys" + "SELECT COUNT(*) FROM svy_surveys" " WHERE SvyCod=%ld" " AND (SvyCod NOT IN (SELECT SvyCod FROM svy_grp) OR" " SvyCod IN (SELECT svy_grp.SvyCod FROM svy_grp,crs_grp_usr" @@ -3888,57 +3888,57 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope) DB_QuerySELECT (&mysql_res,"can not get number of courses" " with surveys", "SELECT COUNT(DISTINCT Cod)" - " FROM surveys" + " FROM svy_surveys" " WHERE Scope='%s'", Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_CTY: DB_QuerySELECT (&mysql_res,"can not get number of courses" " with surveys", - "SELECT COUNT(DISTINCT surveys.Cod)" - " FROM institutions,centres,degrees,courses,surveys" + "SELECT COUNT(DISTINCT svy_surveys.Cod)" + " FROM institutions,centres,degrees,courses,svy_surveys" " WHERE institutions.CtyCod=%ld" " AND institutions.InsCod=centres.InsCod" " AND centres.CtrCod=degrees.CtrCod" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Ins.InsCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_INS: DB_QuerySELECT (&mysql_res,"can not get number of courses" " with surveys", - "SELECT COUNT(DISTINCT surveys.Cod)" - " FROM centres,degrees,courses,surveys" + "SELECT COUNT(DISTINCT svy_surveys.Cod)" + " FROM centres,degrees,courses,svy_surveys" " WHERE centres.InsCod=%ld" " AND centres.CtrCod=degrees.CtrCod" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Ins.InsCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_CTR: DB_QuerySELECT (&mysql_res,"can not get number of courses" " with surveys", - "SELECT COUNT(DISTINCT surveys.Cod)" - " FROM degrees,courses,surveys" + "SELECT COUNT(DISTINCT svy_surveys.Cod)" + " FROM degrees,courses,svy_surveys" " WHERE degrees.CtrCod=%ld" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Ctr.CtrCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_DEG: DB_QuerySELECT (&mysql_res,"can not get number of courses" " with surveys", - "SELECT COUNT(DISTINCT surveys.Cod)" - " FROM courses,surveys" + "SELECT COUNT(DISTINCT svy_surveys.Cod)" + " FROM courses,svy_surveys" " WHERE courses.DegCod=%ld" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Deg.DegCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; @@ -3946,7 +3946,7 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope) DB_QuerySELECT (&mysql_res,"can not get number of courses" " with surveys", "SELECT COUNT(DISTINCT Cod)" - " FROM surveys" + " FROM svy_surveys" " WHERE Scope='%s' AND Cod=%ld", Sco_GetDBStrFromScope (Hie_Lvl_CRS), Gbl.Hierarchy.Crs.CrsCod); @@ -3985,61 +3985,61 @@ unsigned Svy_GetNumCrsSurveys (Hie_Lvl_Level_t Scope,unsigned *NumNotif) case Hie_Lvl_SYS: DB_QuerySELECT (&mysql_res,"can not get number of surveys", "SELECT COUNT(*),SUM(NumNotif)" - " FROM surveys" + " FROM svy_surveys" " WHERE Scope='%s'", Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_CTY: DB_QuerySELECT (&mysql_res,"can not get number of surveys", - "SELECT COUNT(*),SUM(surveys.NumNotif)" - " FROM institutions,centres,degrees,courses,surveys" + "SELECT COUNT(*),SUM(svy_surveys.NumNotif)" + " FROM institutions,centres,degrees,courses,svy_surveys" " WHERE institutions.CtyCod=%ld" " AND institutions.InsCod=centres.InsCod" " AND centres.CtrCod=degrees.CtrCod" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Cty.CtyCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_INS: DB_QuerySELECT (&mysql_res,"can not get number of surveys", - "SELECT COUNT(*),SUM(surveys.NumNotif)" - " FROM centres,degrees,courses,surveys" + "SELECT COUNT(*),SUM(svy_surveys.NumNotif)" + " FROM centres,degrees,courses,svy_surveys" " WHERE centres.InsCod=%ld" " AND centres.CtrCod=degrees.CtrCod" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Ins.InsCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_CTR: DB_QuerySELECT (&mysql_res,"can not get number of surveys", - "SELECT COUNT(*),SUM(surveys.NumNotif)" - " FROM degrees,courses,surveys" + "SELECT COUNT(*),SUM(svy_surveys.NumNotif)" + " FROM degrees,courses,svy_surveys" " WHERE degrees.CtrCod=%ld" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Ctr.CtrCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_DEG: DB_QuerySELECT (&mysql_res,"can not get number of surveys", - "SELECT COUNT(*),SUM(surveys.NumNotif)" - " FROM courses,surveys" + "SELECT COUNT(*),SUM(svy_surveys.NumNotif)" + " FROM courses,svy_surveys" " WHERE courses.DegCod=%ld" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'", + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'", Gbl.Hierarchy.Deg.DegCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; case Hie_Lvl_CRS: DB_QuerySELECT (&mysql_res,"can not get number of surveys", "SELECT COUNT(*),SUM(NumNotif)" - " FROM surveys" - " WHERE surveys.Scope='%s'" + " FROM svy_surveys" + " WHERE svy_surveys.Scope='%s'" " AND CrsCod=%ld", Sco_GetDBStrFromScope (Hie_Lvl_CRS), Gbl.Hierarchy.Crs.CrsCod); @@ -4087,9 +4087,9 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope) " per survey", "SELECT AVG(NumQsts) FROM" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts" - " FROM surveys,svy_questions" - " WHERE surveys.Scope='%s'" - " AND surveys.SvyCod=svy_questions.SvyCod" + " FROM svy_surveys,svy_questions" + " WHERE svy_surveys.Scope='%s'" + " AND svy_surveys.SvyCod=svy_questions.SvyCod" " GROUP BY svy_questions.SvyCod) AS NumQstsTable", Sco_GetDBStrFromScope (Hie_Lvl_CRS)); break; @@ -4098,14 +4098,14 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope) " per survey", "SELECT AVG(NumQsts) FROM" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts" - " FROM institutions,centres,degrees,courses,surveys,svy_questions" + " FROM institutions,centres,degrees,courses,svy_surveys,svy_questions" " WHERE institutions.CtyCod=%ld" " AND institutions.InsCod=centres.InsCod" " AND centres.CtrCod=degrees.CtrCod" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'" - " AND surveys.SvyCod=svy_questions.SvyCod" + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'" + " AND svy_surveys.SvyCod=svy_questions.SvyCod" " GROUP BY svy_questions.SvyCod) AS NumQstsTable", Gbl.Hierarchy.Cty.CtyCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); @@ -4115,13 +4115,13 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope) " per survey", "SELECT AVG(NumQsts) FROM" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts" - " FROM centres,degrees,courses,surveys,svy_questions" + " FROM centres,degrees,courses,svy_surveys,svy_questions" " WHERE centres.InsCod=%ld" " AND centres.CtrCod=degrees.CtrCod" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'" - " AND surveys.SvyCod=svy_questions.SvyCod" + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'" + " AND svy_surveys.SvyCod=svy_questions.SvyCod" " GROUP BY svy_questions.SvyCod) AS NumQstsTable", Gbl.Hierarchy.Ins.InsCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); @@ -4131,12 +4131,12 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope) " per survey", "SELECT AVG(NumQsts) FROM" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts" - " FROM degrees,courses,surveys,svy_questions" + " FROM degrees,courses,svy_surveys,svy_questions" " WHERE degrees.CtrCod=%ld" " AND degrees.DegCod=courses.DegCod" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'" - " AND surveys.SvyCod=svy_questions.SvyCod" + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'" + " AND svy_surveys.SvyCod=svy_questions.SvyCod" " GROUP BY svy_questions.SvyCod) AS NumQstsTable", Gbl.Hierarchy.Ctr.CtrCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); @@ -4146,11 +4146,11 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope) " per survey", "SELECT AVG(NumQsts) FROM" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts" - " FROM courses,surveys,svy_questions" + " FROM courses,svy_surveys,svy_questions" " WHERE courses.DegCod=%ld" - " AND courses.CrsCod=surveys.Cod" - " AND surveys.Scope='%s'" - " AND surveys.SvyCod=svy_questions.SvyCod" + " AND courses.CrsCod=svy_surveys.Cod" + " AND svy_surveys.Scope='%s'" + " AND svy_surveys.SvyCod=svy_questions.SvyCod" " GROUP BY svy_questions.SvyCod) AS NumQstsTable", Gbl.Hierarchy.Deg.DegCod, Sco_GetDBStrFromScope (Hie_Lvl_CRS)); @@ -4160,9 +4160,9 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope) " per survey", "SELECT AVG(NumQsts) FROM" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts" - " FROM surveys,svy_questions" - " WHERE surveys.Scope='%s' AND surveys.Cod=%ld" - " AND surveys.SvyCod=svy_questions.SvyCod" + " FROM svy_surveys,svy_questions" + " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld" + " AND svy_surveys.SvyCod=svy_questions.SvyCod" " GROUP BY svy_questions.SvyCod) AS NumQstsTable", Sco_GetDBStrFromScope (Hie_Lvl_CRS),Gbl.Hierarchy.Crs.CrsCod); break;