Version 20.51.3: Mar 18, 2021 Figures database table renamed.

This commit is contained in:
acanas 2021-03-18 09:39:32 +01:00
parent 881849f3e7
commit b73f4f6ccf
5 changed files with 58 additions and 38 deletions

View File

@ -571,9 +571,9 @@ CREATE TABLE IF NOT EXISTS exa_sets (
UNIQUE INDEX(SetCod),
UNIQUE INDEX(ExaCod,SetInd));
--
-- Table figures: stores cached figures for quick retrieval of figures (i.e. number of students in the platform)
-- Table fig_figures: stores cached figures for quick retrieval of figures (i.e. number of students in the platform)
--
CREATE TABLE IF NOT EXISTS figures (
CREATE TABLE IF NOT EXISTS fig_figures (
Figure INT NOT NULL,
Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys',
Cod INT NOT NULL DEFAULT -1,

View File

@ -600,13 +600,17 @@ 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.51.1 (2021-03-18)"
#define Log_PLATFORM_VERSION "SWAD 20.51.3 (2021-03-18)"
#define CSS_FILE "swad20.45.css"
#define JS_FILE "swad20.6.2.js"
/*
TODO: Rename CENTRE to CENTER in help wiki.
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
Version 20.51.3: Mar 18, 2021 Figures database table renamed. (307558 lines)
1 change necessary in database:
RENAME TABLE figures TO fig_figures;
Version 20.51.2: Mar 18, 2021 Expanded folders database table renamed. (307539 lines)
1 change necessary in database:
RENAME TABLE expanded_folders TO brw_expanded_folders;

View File

@ -1255,22 +1255,22 @@ mysql> DESCRIBE exa_sets;
"UNIQUE INDEX(SetCod),"
"UNIQUE INDEX(ExaCod,SetInd))");
/***** Table figures *****/
/***** Table fig_figures *****/
/*
mysql> DESCRIBE figures;
+-------------+-------------------------------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------------------------------------+------+-----+-------------------+-----------------------------+
| Figure | int(11) | NO | PRI | NULL | |
| Scope | enum('Sys','Cty','Ins','Ctr','Deg','Crs') | NO | PRI | Sys | |
| Cod | int(11) | NO | PRI | -1 | |
| ValueInt | int(11) | NO | | 0 | |
| ValueDouble | double | NO | | 0 | |
| LastUpdate | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+-------------------------------------------+------+-----+-------------------+-----------------------------+
6 rows in set (0.00 sec)
mysql> DESCRIBE fig_figures;
+-------------+-------------------------------------------+------+-----+-------------------+-----------------------------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------------------------------------+------+-----+-------------------+-----------------------------------------------+
| Figure | int | NO | PRI | NULL | |
| Scope | enum('Sys','Cty','Ins','Ctr','Deg','Crs') | NO | PRI | Sys | |
| Cod | int | NO | PRI | -1 | |
| ValueInt | int | NO | | 0 | |
| ValueDouble | double | NO | | 0 | |
| LastUpdate | timestamp | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
+-------------+-------------------------------------------+------+-----+-------------------+-----------------------------------------------+
6 rows in set (0.01 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS figures ("
DB_CreateTable ("CREATE TABLE IF NOT EXISTS fig_figures ("
"Figure INT NOT NULL,"
"Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys',"
"Cod INT NOT NULL DEFAULT -1,"

View File

@ -69,7 +69,7 @@ void FigCch_UpdateFigureIntoCache (FigCch_FigureCached_t Figure,
{
case FigCch_UNSIGNED:
DB_QueryREPLACE ("can not update cached figure value",
"REPLACE INTO figures"
"REPLACE INTO fig_figures"
" (Figure,Scope,Cod,ValueInt,ValueDouble)"
" VALUES"
" (%u,'%s',%ld,%u,'0.0')",
@ -79,7 +79,7 @@ void FigCch_UpdateFigureIntoCache (FigCch_FigureCached_t Figure,
case FigCch_DOUBLE:
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
DB_QueryREPLACE ("can not update cached figure value",
"REPLACE INTO figures"
"REPLACE INTO fig_figures"
" (Figure,Scope,Cod,ValueInt,ValueDouble)"
" VALUES"
" (%u,'%s',%ld,0,'%.15lg')",
@ -137,10 +137,12 @@ bool FigCch_GetFigureFromCache (FigCch_FigureCached_t Figure,
/***** Get figure's value if cached and recent *****/
if (DB_QuerySELECT (&mysql_res,"can not get cached figure value",
"SELECT %s"
" FROM figures"
" WHERE Figure=%u AND Scope='%s' AND Cod=%ld"
" AND LastUpdate>FROM_UNIXTIME(UNIX_TIMESTAMP()-%lu)",
"SELECT %s" // row[0]
" FROM fig_figures"
" WHERE Figure=%u"
" AND Scope='%s'"
" AND Cod=%ld"
" AND LastUpdate>FROM_UNIXTIME(UNIX_TIMESTAMP()-%lu)",
Field[Type],
(unsigned) Figure,Sco_GetDBStrFromScope (Scope),Cod,
TimeCached[Scope]))

View File

@ -830,7 +830,8 @@ void Prf_GetUsrFigures (long UsrCod,struct UsrFigures *UsrFigures)
"NumFileViews," // row[4]
"NumForPst," // row[5]
"NumMsgSnt" // row[6]
" FROM usr_figures WHERE UsrCod=%ld",
" FROM usr_figures"
" WHERE UsrCod=%ld",
UsrCod);
if (NumRows)
{
@ -1074,9 +1075,10 @@ static void Prf_GetFirstClickFromLogAndStoreAsUsrFigure (long UsrCod)
if (Prf_CheckIfUsrFiguresExists (UsrCod))
DB_QueryUPDATE ("can not update user's figures",
"UPDATE usr_figures"
" SET FirstClickTime=FROM_UNIXTIME(%ld)"
" SET FirstClickTime=FROM_UNIXTIME(%ld)"
" WHERE UsrCod=%ld",
(long) UsrFigures.FirstClickTimeUTC,UsrCod);
(long) UsrFigures.FirstClickTimeUTC,
UsrCod);
else // User entry does not exist
Prf_CreateUsrFigures (UsrCod,&UsrFigures,false);
}
@ -1105,9 +1107,11 @@ static void Prf_GetNumClicksAndStoreAsUsrFigure (long UsrCod)
/***** Update number of clicks in user's figures *****/
if (Prf_CheckIfUsrFiguresExists (UsrCod))
DB_QueryUPDATE ("can not update user's figures",
"UPDATE usr_figures SET NumClicks=%ld"
"UPDATE usr_figures"
" SET NumClicks=%ld"
" WHERE UsrCod=%ld",
UsrFigures.NumClicks,UsrCod);
UsrFigures.NumClicks,
UsrCod);
else // User entry does not exist
Prf_CreateUsrFigures (UsrCod,&UsrFigures,false);
}
@ -1132,9 +1136,11 @@ static void Prf_GetNumSocialPubsAndStoreAsUsrFigure (long UsrCod)
/***** Update number of forum posts in user's figures *****/
if (Prf_CheckIfUsrFiguresExists (UsrCod))
DB_QueryUPDATE ("can not update user's figures",
"UPDATE usr_figures SET NumSocPub=%ld"
"UPDATE usr_figures"
" SET NumSocPub=%ld"
" WHERE UsrCod=%ld",
UsrFigures.NumSocPub,UsrCod);
UsrFigures.NumSocPub,
UsrCod);
else // User entry does not exist
Prf_CreateUsrFigures (UsrCod,&UsrFigures,false);
}
@ -1186,9 +1192,11 @@ static void Prf_GetNumForumPostsAndStoreAsUsrFigure (long UsrCod)
/***** Update number of forum posts in user's figures *****/
if (Prf_CheckIfUsrFiguresExists (UsrCod))
DB_QueryUPDATE ("can not update user's figures",
"UPDATE usr_figures SET NumForPst=%ld"
"UPDATE usr_figures"
" SET NumForPst=%ld"
" WHERE UsrCod=%ld",
UsrFigures.NumForPst,UsrCod);
UsrFigures.NumForPst,
UsrCod);
else // User entry does not exist
Prf_CreateUsrFigures (UsrCod,&UsrFigures,false);
}
@ -1213,9 +1221,11 @@ static void Prf_GetNumMessagesSentAndStoreAsUsrFigure (long UsrCod)
/***** Update number of messages sent in user's figures *****/
if (Prf_CheckIfUsrFiguresExists (UsrCod))
DB_QueryUPDATE ("can not update user's figures",
"UPDATE usr_figures SET NumMsgSnt=%ld"
"UPDATE usr_figures"
" SET NumMsgSnt=%ld"
" WHERE UsrCod=%ld",
UsrFigures.NumMsgSnt,UsrCod);
UsrFigures.NumMsgSnt,
UsrCod);
else // User entry does not exist
Prf_CreateUsrFigures (UsrCod,&UsrFigures,false);
}
@ -1297,7 +1307,8 @@ void Prf_RemoveUsrFigures (long UsrCod)
{
/***** Remove user's figures *****/
DB_QueryDELETE ("can not delete user's figures",
"DELETE FROM usr_figures WHERE UsrCod=%ld",
"DELETE FROM usr_figures"
" WHERE UsrCod=%ld",
UsrCod);
}
@ -1308,7 +1319,8 @@ void Prf_RemoveUsrFigures (long UsrCod)
static bool Prf_CheckIfUsrFiguresExists (long UsrCod)
{
return (DB_QueryCOUNT ("can not get user's first click",
"SELECT COUNT(*) FROM usr_figures"
"SELECT COUNT(*)"
" FROM usr_figures"
" WHERE UsrCod=%ld",
UsrCod) != 0);
}
@ -1322,8 +1334,10 @@ void Prf_IncrementNumClicksUsr (long UsrCod)
/***** Increment number of clicks *****/
// If NumClicks < 0 ==> not yet calculated, so do nothing
DB_QueryINSERT ("can not increment user's clicks",
"UPDATE IGNORE usr_figures SET NumClicks=NumClicks+1"
" WHERE UsrCod=%ld AND NumClicks>=0",
"UPDATE IGNORE usr_figures"
" SET NumClicks=NumClicks+1"
" WHERE UsrCod=%ld"
" AND NumClicks>=0",
UsrCod);
}