Version 20.44.1: Mar 05, 2021 Surveys database table renamed.

This commit is contained in:
acanas 2021-03-05 02:48:53 +01:00
parent 82467a3d67
commit 539d1037ee
5 changed files with 154 additions and 148 deletions

View File

@ -1368,23 +1368,6 @@ CREATE TABLE IF NOT EXISTS sta_notif (
NumMails INT NOT NULL, NumMails INT NOT NULL,
UNIQUE INDEX(DegCod,CrsCod,NotifyEvent)); 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 -- Table svy_answers: stores the answers to the surveys
-- --
CREATE TABLE IF NOT EXISTS svy_answers ( CREATE TABLE IF NOT EXISTS svy_answers (
@ -1412,6 +1395,23 @@ CREATE TABLE IF NOT EXISTS svy_questions (
UNIQUE INDEX(QstCod), UNIQUE INDEX(QstCod),
INDEX(SvyCod)); 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 -- Table svy_users: stores the users who have answer the surveys
-- --
CREATE TABLE IF NOT EXISTS svy_users ( CREATE TABLE IF NOT EXISTS svy_users (

View File

@ -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. 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 CSS_FILE "swad20.33.9.css"
#define JS_FILE "swad20.6.2.js" #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) Version 20.44: Mar 04, 2021 Timeline database tables renamed. (305618 lines)
7 change necessary in database: 7 change necessary in database:
RENAME TABLE tl_comments TO tml_comments; RENAME TABLE tl_comments TO tml_comments;

View File

@ -2878,43 +2878,6 @@ mysql> DESCRIBE sta_notif;
"NumMails INT NOT NULL," "NumMails INT NOT NULL,"
"UNIQUE INDEX(DegCod,CrsCod,NotifyEvent))"); "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 *****/ /***** Table svy_answers *****/
/* /*
mysql> DESCRIBE svy_answers; mysql> DESCRIBE svy_answers;
@ -2974,6 +2937,43 @@ mysql> DESCRIBE svy_questions;
"UNIQUE INDEX(QstCod)," "UNIQUE INDEX(QstCod),"
"INDEX(SvyCod))"); "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 *****/ /***** Table svy_users *****/
/* /*
mysql> DESCRIBE svy_users; mysql> DESCRIBE svy_users;

View File

@ -1353,23 +1353,25 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
NumRows = DB_QuerySELECT (&mysql_res,"can not get users" NumRows = DB_QuerySELECT (&mysql_res,"can not get users"
" to be notified", " to be notified",
"(SELECT crs_usr.UsrCod" "(SELECT crs_usr.UsrCod"
" FROM surveys,crs_usr" " FROM svy_surveys,crs_usr"
" WHERE surveys.SvyCod=%ld" " WHERE svy_surveys.SvyCod=%ld"
" AND surveys.SvyCod NOT IN" " AND svy_surveys.SvyCod NOT IN"
" (SELECT SvyCod FROM svy_grp WHERE SvyCod=%ld)" " (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 crs_usr.UsrCod<>%ld"
" AND (surveys.Roles&(1<<crs_usr.Role))<>0)" " AND (svy_surveys.Roles&(1<<crs_usr.Role))<>0)"
" UNION " " UNION "
"(SELECT DISTINCT crs_grp_usr.UsrCod" "(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" " WHERE svy_grp.SvyCod=%ld"
" AND svy_grp.GrpCod=crs_grp_usr.GrpCod" " AND svy_grp.GrpCod=crs_grp_usr.GrpCod"
" AND crs_grp_usr.UsrCod=crs_usr.UsrCod" " AND crs_grp_usr.UsrCod=crs_usr.UsrCod"
" AND crs_grp_usr.UsrCod<>%ld" " AND crs_grp_usr.UsrCod<>%ld"
" AND svy_grp.SvyCod=surveys.SvyCod" " AND svy_grp.SvyCod=svy_surveys.SvyCod"
" AND surveys.Scope='%s' AND surveys.Cod=crs_usr.CrsCod" " AND svy_surveys.Scope='%s'"
" AND (surveys.Roles&(1<<crs_usr.Role))<>0)", " AND svy_surveys.Cod=crs_usr.CrsCod"
" AND (svy_surveys.Roles&(1<<crs_usr.Role))<>0)",
Cod, Cod,
Cod, Cod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS), Sco_GetDBStrFromScope (Hie_Lvl_CRS),

View File

@ -1028,7 +1028,7 @@ static void Svy_GetListSurveys (struct Svy_Surveys *Surveys)
/* Make query */ /* Make query */
if (SubQueryFilled) if (SubQueryFilled)
NumRows = DB_QuerySELECT (&mysql_res,"can not get surveys", 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" " WHERE %s%s%s%s%s%s"
" ORDER BY %s", " ORDER BY %s",
SubQuery[Hie_Lvl_SYS], SubQuery[Hie_Lvl_SYS],
@ -1263,7 +1263,7 @@ void Svy_GetDataOfSurveyByCod (struct Svy_Survey *Svy)
"UNIX_TIMESTAMP(EndTime)," "UNIX_TIMESTAMP(EndTime),"
"NOW() BETWEEN StartTime AND EndTime," "NOW() BETWEEN StartTime AND EndTime,"
"Title" "Title"
" FROM surveys" " FROM svy_surveys"
" WHERE SvyCod=%ld", " WHERE SvyCod=%ld",
Svy->SvyCod); 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 *****/ /***** Get text of survey from database *****/
NumRows = DB_QuerySELECT (&mysql_res,"can not get survey text", 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); SvyCod);
/***** The result of the query must have one row or none *****/ /***** 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", if (DB_QuerySELECT (&mysql_res,"can not get groups of a survey",
"SELECT Title," // row[0] "SELECT Title," // row[0]
"Txt" // row[1] "Txt" // row[1]
" FROM surveys" " FROM svy_surveys"
" WHERE SvyCod=%ld", " WHERE SvyCod=%ld",
SvyCod) == 1) SvyCod) == 1)
{ {
@ -1656,7 +1656,7 @@ void Svy_RemoveSurvey (void)
/***** Remove survey *****/ /***** Remove survey *****/
DB_QueryDELETE ("can not remove survey", DB_QueryDELETE ("can not remove survey",
"DELETE FROM surveys WHERE SvyCod=%ld", "DELETE FROM svy_surveys WHERE SvyCod=%ld",
Svy.SvyCod); Svy.SvyCod);
/***** Mark possible notifications as removed *****/ /***** Mark possible notifications as removed *****/
@ -1798,7 +1798,7 @@ void Svy_HideSurvey (void)
/***** Hide survey *****/ /***** Hide survey *****/
DB_QueryUPDATE ("can not 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); Svy.SvyCod);
/***** Show surveys again *****/ /***** Show surveys again *****/
@ -1833,7 +1833,7 @@ void Svy_UnhideSurvey (void)
/***** Show survey *****/ /***** Show survey *****/
DB_QueryUPDATE ("can not 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); Svy.SvyCod);
/***** Show surveys again *****/ /***** 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 *****/ /***** Get number of surveys with a field value from database *****/
return (DB_QueryCOUNT ("can not get similar surveys", return (DB_QueryCOUNT ("can not get similar surveys",
"SELECT COUNT(*) FROM surveys" "SELECT COUNT(*) FROM svy_surveys"
" WHERE Scope='%s' AND Cod=%ld" " WHERE Scope='%s' AND Cod=%ld"
" AND Title='%s' AND SvyCod<>%ld", " AND Title='%s' AND SvyCod<>%ld",
Sco_GetDBStrFromScope (Svy->Scope),Svy->Cod, Sco_GetDBStrFromScope (Svy->Scope),Svy->Cod,
@ -2337,7 +2337,7 @@ static void Svy_UpdateNumUsrsNotifiedByEMailAboutSurvey (long SvyCod,
{ {
/***** Update number of users notified *****/ /***** Update number of users notified *****/
DB_QueryUPDATE ("can not update the number of notifications of a survey", 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", " WHERE SvyCod=%ld",
NumUsrsToBeNotifiedByEMail,SvyCod); NumUsrsToBeNotifiedByEMail,SvyCod);
} }
@ -2353,7 +2353,7 @@ static void Svy_CreateSurvey (struct Svy_Survey *Svy,const char *Txt)
/***** Create a new survey *****/ /***** Create a new survey *****/
Svy->SvyCod = Svy->SvyCod =
DB_QueryINSERTandReturnCode ("can not create new survey", DB_QueryINSERTandReturnCode ("can not create new survey",
"INSERT INTO surveys" "INSERT INTO svy_surveys"
" (Scope,Cod,Hidden,Roles,UsrCod,StartTime,EndTime,Title,Txt)" " (Scope,Cod,Hidden,Roles,UsrCod,StartTime,EndTime,Title,Txt)"
" VALUES" " VALUES"
" ('%s',%ld,'N',%u,%ld," " ('%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 *****/ /***** Update the data of the survey *****/
DB_QueryUPDATE ("can not update survey", DB_QueryUPDATE ("can not update survey",
"UPDATE surveys" "UPDATE svy_surveys"
" SET Scope='%s',Cod=%ld,Roles=%u," " SET Scope='%s',Cod=%ld,Roles=%u,"
"StartTime=FROM_UNIXTIME(%ld)," "StartTime=FROM_UNIXTIME(%ld),"
"EndTime=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" DB_QueryDELETE ("can not remove users"
" who had answered surveys in a place on the hierarchy", " who had answered surveys in a place on the hierarchy",
"DELETE FROM svy_users" "DELETE FROM svy_users"
" USING surveys,svy_users" " USING svy_surveys,svy_users"
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld" " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
" AND surveys.SvyCod=svy_users.SvyCod", " AND svy_surveys.SvyCod=svy_users.SvyCod",
Sco_GetDBStrFromScope (Scope),Cod); Sco_GetDBStrFromScope (Scope),Cod);
/***** Remove all the answers in course surveys *****/ /***** Remove all the answers in course surveys *****/
DB_QueryDELETE ("can not remove answers of surveys" DB_QueryDELETE ("can not remove answers of surveys"
" in a place on the hierarchy", " in a place on the hierarchy",
"DELETE FROM svy_answers" "DELETE FROM svy_answers"
" USING surveys,svy_questions,svy_answers" " USING svy_surveys,svy_questions,svy_answers"
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld" " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
" AND surveys.SvyCod=svy_questions.SvyCod" " AND svy_surveys.SvyCod=svy_questions.SvyCod"
" AND svy_questions.QstCod=svy_answers.QstCod", " AND svy_questions.QstCod=svy_answers.QstCod",
Sco_GetDBStrFromScope (Scope),Cod); 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" DB_QueryDELETE ("can not remove questions of surveys"
" in a place on the hierarchy", " in a place on the hierarchy",
"DELETE FROM svy_questions" "DELETE FROM svy_questions"
" USING surveys,svy_questions" " USING svy_surveys,svy_questions"
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld" " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
" AND surveys.SvyCod=svy_questions.SvyCod", " AND svy_surveys.SvyCod=svy_questions.SvyCod",
Sco_GetDBStrFromScope (Scope),Cod); Sco_GetDBStrFromScope (Scope),Cod);
/***** Remove groups *****/ /***** Remove groups *****/
DB_QueryDELETE ("can not remove all the groups" DB_QueryDELETE ("can not remove all the groups"
" associated to surveys of a course", " associated to surveys of a course",
"DELETE FROM svy_grp" "DELETE FROM svy_grp"
" USING surveys,svy_grp" " USING svy_surveys,svy_grp"
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld" " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
" AND surveys.SvyCod=svy_grp.SvyCod", " AND svy_surveys.SvyCod=svy_grp.SvyCod",
Sco_GetDBStrFromScope (Scope),Cod); Sco_GetDBStrFromScope (Scope),Cod);
/***** Remove course surveys *****/ /***** Remove course surveys *****/
DB_QueryDELETE ("can not remove all the surveys" DB_QueryDELETE ("can not remove all the surveys"
" in a place on the hierarchy", " in a place on the hierarchy",
"DELETE FROM surveys" "DELETE FROM svy_surveys"
" WHERE Scope='%s' AND Cod=%ld", " WHERE Scope='%s' AND Cod=%ld",
Sco_GetDBStrFromScope (Scope),Cod); Sco_GetDBStrFromScope (Scope),Cod);
} }
@ -2598,7 +2598,7 @@ static bool Svy_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod)
{ {
/***** Get if I can do a survey from database *****/ /***** Get if I can do a survey from database *****/
return (DB_QueryCOUNT ("can not check if I can do a survey", return (DB_QueryCOUNT ("can not check if I can do a survey",
"SELECT COUNT(*) FROM surveys" "SELECT COUNT(*) FROM svy_surveys"
" WHERE SvyCod=%ld" " WHERE SvyCod=%ld"
" AND (SvyCod NOT IN (SELECT SvyCod FROM svy_grp) OR" " AND (SvyCod NOT IN (SELECT SvyCod FROM svy_grp) OR"
" SvyCod IN (SELECT svy_grp.SvyCod FROM svy_grp,crs_grp_usr" " 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" DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys", " with surveys",
"SELECT COUNT(DISTINCT Cod)" "SELECT COUNT(DISTINCT Cod)"
" FROM surveys" " FROM svy_surveys"
" WHERE Scope='%s'", " WHERE Scope='%s'",
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_CTY: case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of courses" DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys", " with surveys",
"SELECT COUNT(DISTINCT surveys.Cod)" "SELECT COUNT(DISTINCT svy_surveys.Cod)"
" FROM institutions,centres,degrees,courses,surveys" " FROM institutions,centres,degrees,courses,svy_surveys"
" WHERE institutions.CtyCod=%ld" " WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod" " AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod" " AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ins.InsCod, Gbl.Hierarchy.Ins.InsCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_INS: case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of courses" DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys", " with surveys",
"SELECT COUNT(DISTINCT surveys.Cod)" "SELECT COUNT(DISTINCT svy_surveys.Cod)"
" FROM centres,degrees,courses,surveys" " FROM centres,degrees,courses,svy_surveys"
" WHERE centres.InsCod=%ld" " WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod" " AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ins.InsCod, Gbl.Hierarchy.Ins.InsCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_CTR: case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of courses" DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys", " with surveys",
"SELECT COUNT(DISTINCT surveys.Cod)" "SELECT COUNT(DISTINCT svy_surveys.Cod)"
" FROM degrees,courses,surveys" " FROM degrees,courses,svy_surveys"
" WHERE degrees.CtrCod=%ld" " WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ctr.CtrCod, Gbl.Hierarchy.Ctr.CtrCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_DEG: case Hie_Lvl_DEG:
DB_QuerySELECT (&mysql_res,"can not get number of courses" DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys", " with surveys",
"SELECT COUNT(DISTINCT surveys.Cod)" "SELECT COUNT(DISTINCT svy_surveys.Cod)"
" FROM courses,surveys" " FROM courses,svy_surveys"
" WHERE courses.DegCod=%ld" " WHERE courses.DegCod=%ld"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Deg.DegCod, Gbl.Hierarchy.Deg.DegCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
@ -3946,7 +3946,7 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope)
DB_QuerySELECT (&mysql_res,"can not get number of courses" DB_QuerySELECT (&mysql_res,"can not get number of courses"
" with surveys", " with surveys",
"SELECT COUNT(DISTINCT Cod)" "SELECT COUNT(DISTINCT Cod)"
" FROM surveys" " FROM svy_surveys"
" WHERE Scope='%s' AND Cod=%ld", " WHERE Scope='%s' AND Cod=%ld",
Sco_GetDBStrFromScope (Hie_Lvl_CRS), Sco_GetDBStrFromScope (Hie_Lvl_CRS),
Gbl.Hierarchy.Crs.CrsCod); Gbl.Hierarchy.Crs.CrsCod);
@ -3985,61 +3985,61 @@ unsigned Svy_GetNumCrsSurveys (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
case Hie_Lvl_SYS: case Hie_Lvl_SYS:
DB_QuerySELECT (&mysql_res,"can not get number of surveys", DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(NumNotif)" "SELECT COUNT(*),SUM(NumNotif)"
" FROM surveys" " FROM svy_surveys"
" WHERE Scope='%s'", " WHERE Scope='%s'",
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_CTY: case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of surveys", DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(surveys.NumNotif)" "SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
" FROM institutions,centres,degrees,courses,surveys" " FROM institutions,centres,degrees,courses,svy_surveys"
" WHERE institutions.CtyCod=%ld" " WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod" " AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod" " AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Cty.CtyCod, Gbl.Hierarchy.Cty.CtyCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_INS: case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of surveys", DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(surveys.NumNotif)" "SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
" FROM centres,degrees,courses,surveys" " FROM centres,degrees,courses,svy_surveys"
" WHERE centres.InsCod=%ld" " WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod" " AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ins.InsCod, Gbl.Hierarchy.Ins.InsCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_CTR: case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of surveys", DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(surveys.NumNotif)" "SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
" FROM degrees,courses,surveys" " FROM degrees,courses,svy_surveys"
" WHERE degrees.CtrCod=%ld" " WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Ctr.CtrCod, Gbl.Hierarchy.Ctr.CtrCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_DEG: case Hie_Lvl_DEG:
DB_QuerySELECT (&mysql_res,"can not get number of surveys", DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(surveys.NumNotif)" "SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
" FROM courses,surveys" " FROM courses,svy_surveys"
" WHERE courses.DegCod=%ld" " WHERE courses.DegCod=%ld"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'", " AND svy_surveys.Scope='%s'",
Gbl.Hierarchy.Deg.DegCod, Gbl.Hierarchy.Deg.DegCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
case Hie_Lvl_CRS: case Hie_Lvl_CRS:
DB_QuerySELECT (&mysql_res,"can not get number of surveys", DB_QuerySELECT (&mysql_res,"can not get number of surveys",
"SELECT COUNT(*),SUM(NumNotif)" "SELECT COUNT(*),SUM(NumNotif)"
" FROM surveys" " FROM svy_surveys"
" WHERE surveys.Scope='%s'" " WHERE svy_surveys.Scope='%s'"
" AND CrsCod=%ld", " AND CrsCod=%ld",
Sco_GetDBStrFromScope (Hie_Lvl_CRS), Sco_GetDBStrFromScope (Hie_Lvl_CRS),
Gbl.Hierarchy.Crs.CrsCod); Gbl.Hierarchy.Crs.CrsCod);
@ -4087,9 +4087,9 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey", " per survey",
"SELECT AVG(NumQsts) FROM" "SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
" FROM surveys,svy_questions" " FROM svy_surveys,svy_questions"
" WHERE surveys.Scope='%s'" " WHERE svy_surveys.Scope='%s'"
" AND surveys.SvyCod=svy_questions.SvyCod" " AND svy_surveys.SvyCod=svy_questions.SvyCod"
" GROUP BY svy_questions.SvyCod) AS NumQstsTable", " GROUP BY svy_questions.SvyCod) AS NumQstsTable",
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
break; break;
@ -4098,14 +4098,14 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey", " per survey",
"SELECT AVG(NumQsts) FROM" "SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts" " (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" " WHERE institutions.CtyCod=%ld"
" AND institutions.InsCod=centres.InsCod" " AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod" " AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'" " AND svy_surveys.Scope='%s'"
" AND surveys.SvyCod=svy_questions.SvyCod" " AND svy_surveys.SvyCod=svy_questions.SvyCod"
" GROUP BY svy_questions.SvyCod) AS NumQstsTable", " GROUP BY svy_questions.SvyCod) AS NumQstsTable",
Gbl.Hierarchy.Cty.CtyCod, Gbl.Hierarchy.Cty.CtyCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
@ -4115,13 +4115,13 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey", " per survey",
"SELECT AVG(NumQsts) FROM" "SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts" " (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" " WHERE centres.InsCod=%ld"
" AND centres.CtrCod=degrees.CtrCod" " AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'" " AND svy_surveys.Scope='%s'"
" AND surveys.SvyCod=svy_questions.SvyCod" " AND svy_surveys.SvyCod=svy_questions.SvyCod"
" GROUP BY svy_questions.SvyCod) AS NumQstsTable", " GROUP BY svy_questions.SvyCod) AS NumQstsTable",
Gbl.Hierarchy.Ins.InsCod, Gbl.Hierarchy.Ins.InsCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
@ -4131,12 +4131,12 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey", " per survey",
"SELECT AVG(NumQsts) FROM" "SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
" FROM degrees,courses,surveys,svy_questions" " FROM degrees,courses,svy_surveys,svy_questions"
" WHERE degrees.CtrCod=%ld" " WHERE degrees.CtrCod=%ld"
" AND degrees.DegCod=courses.DegCod" " AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'" " AND svy_surveys.Scope='%s'"
" AND surveys.SvyCod=svy_questions.SvyCod" " AND svy_surveys.SvyCod=svy_questions.SvyCod"
" GROUP BY svy_questions.SvyCod) AS NumQstsTable", " GROUP BY svy_questions.SvyCod) AS NumQstsTable",
Gbl.Hierarchy.Ctr.CtrCod, Gbl.Hierarchy.Ctr.CtrCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
@ -4146,11 +4146,11 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey", " per survey",
"SELECT AVG(NumQsts) FROM" "SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
" FROM courses,surveys,svy_questions" " FROM courses,svy_surveys,svy_questions"
" WHERE courses.DegCod=%ld" " WHERE courses.DegCod=%ld"
" AND courses.CrsCod=surveys.Cod" " AND courses.CrsCod=svy_surveys.Cod"
" AND surveys.Scope='%s'" " AND svy_surveys.Scope='%s'"
" AND surveys.SvyCod=svy_questions.SvyCod" " AND svy_surveys.SvyCod=svy_questions.SvyCod"
" GROUP BY svy_questions.SvyCod) AS NumQstsTable", " GROUP BY svy_questions.SvyCod) AS NumQstsTable",
Gbl.Hierarchy.Deg.DegCod, Gbl.Hierarchy.Deg.DegCod,
Sco_GetDBStrFromScope (Hie_Lvl_CRS)); Sco_GetDBStrFromScope (Hie_Lvl_CRS));
@ -4160,9 +4160,9 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
" per survey", " per survey",
"SELECT AVG(NumQsts) FROM" "SELECT AVG(NumQsts) FROM"
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts" " (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
" FROM surveys,svy_questions" " FROM svy_surveys,svy_questions"
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld" " WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
" AND surveys.SvyCod=svy_questions.SvyCod" " AND svy_surveys.SvyCod=svy_questions.SvyCod"
" GROUP BY svy_questions.SvyCod) AS NumQstsTable", " GROUP BY svy_questions.SvyCod) AS NumQstsTable",
Sco_GetDBStrFromScope (Hie_Lvl_CRS),Gbl.Hierarchy.Crs.CrsCod); Sco_GetDBStrFromScope (Hie_Lvl_CRS),Gbl.Hierarchy.Crs.CrsCod);
break; break;