mirror of https://github.com/acanas/swad-core.git
Version 20.51.3: Mar 18, 2021 Figures database table renamed.
This commit is contained in:
parent
881849f3e7
commit
b73f4f6ccf
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,"
|
||||
|
|
|
@ -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]))
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue