mirror of https://github.com/acanas/swad-core.git
Version 20.51.14: Mar 18, 2021 Session database table renamed.
This commit is contained in:
parent
a9e47d0759
commit
7dffcd95d6
|
@ -1284,9 +1284,9 @@ CREATE TABLE IF NOT EXISTS ses_params (
|
||||||
ParamValue LONGTEXT NOT NULL,
|
ParamValue LONGTEXT NOT NULL,
|
||||||
INDEX(SessionId));
|
INDEX(SessionId));
|
||||||
--
|
--
|
||||||
-- Table sessions: stores the information of open sessions
|
-- Table ses_sessions: stores the information of open sessions
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS sessions (
|
CREATE TABLE IF NOT EXISTS ses_sessions (
|
||||||
SessionId CHAR(43) NOT NULL,
|
SessionId CHAR(43) NOT NULL,
|
||||||
UsrCod INT NOT NULL,
|
UsrCod INT NOT NULL,
|
||||||
Password CHAR(86) COLLATE latin1_bin NOT NULL,
|
Password CHAR(86) COLLATE latin1_bin NOT NULL,
|
||||||
|
|
|
@ -434,7 +434,8 @@ static int API_CheckIdSession (struct soap *soap,
|
||||||
|
|
||||||
/***** Query if session identifier already exists in database *****/
|
/***** Query if session identifier already exists in database *****/
|
||||||
if (DB_QueryCOUNT ("can not get session data",
|
if (DB_QueryCOUNT ("can not get session data",
|
||||||
"SELECT COUNT(*) FROM sessions"
|
"SELECT COUNT(*)"
|
||||||
|
" FROM ses_sessions"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
IdSession) != 1)
|
IdSession) != 1)
|
||||||
return soap_receiver_fault (soap,
|
return soap_receiver_fault (soap,
|
||||||
|
@ -1086,7 +1087,10 @@ int swad__loginBySessionKey (struct soap *soap,
|
||||||
/***** Query data of the session from database *****/
|
/***** Query data of the session from database *****/
|
||||||
NumRows =
|
NumRows =
|
||||||
(unsigned) DB_QuerySELECT (&mysql_res,"can not get session data",
|
(unsigned) DB_QuerySELECT (&mysql_res,"can not get session data",
|
||||||
"SELECT UsrCod,DegCod,CrsCod FROM sessions"
|
"SELECT UsrCod," // row[0]
|
||||||
|
"DegCod," // row[1]
|
||||||
|
"CrsCod" // row[2]
|
||||||
|
" FROM ses_sessions"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
sessionID);
|
sessionID);
|
||||||
if (NumRows == 1) // Session found in table of sessions
|
if (NumRows == 1) // Session found in table of sessions
|
||||||
|
|
|
@ -1111,7 +1111,7 @@ void Acc_CompletelyEliminateAccount (struct UsrData *UsrDat,
|
||||||
|
|
||||||
/***** Remove all sessions of this user *****/
|
/***** Remove all sessions of this user *****/
|
||||||
DB_QueryDELETE ("can not remove sessions of a user",
|
DB_QueryDELETE ("can not remove sessions of a user",
|
||||||
"DELETE FROM sessions"
|
"DELETE FROM ses_sessions"
|
||||||
" WHERE UsrCod=%ld",
|
" WHERE UsrCod=%ld",
|
||||||
UsrDat->UsrCod);
|
UsrDat->UsrCod);
|
||||||
|
|
||||||
|
|
|
@ -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.
|
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.13 (2021-03-18)"
|
#define Log_PLATFORM_VERSION "SWAD 20.51.14 (2021-03-18)"
|
||||||
#define CSS_FILE "swad20.45.css"
|
#define CSS_FILE "swad20.45.css"
|
||||||
#define JS_FILE "swad20.6.2.js"
|
#define JS_FILE "swad20.6.2.js"
|
||||||
/*
|
/*
|
||||||
TODO: Rename CENTRE to CENTER in help wiki.
|
TODO: Rename CENTRE to CENTER in help wiki.
|
||||||
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
||||||
|
|
||||||
|
Version 20.51.14: Mar 18, 2021 Session database table renamed. (307862 lines)
|
||||||
|
1 change necessary in database:
|
||||||
|
RENAME TABLE sessions TO ses_sessions;
|
||||||
|
|
||||||
Version 20.51.13: Mar 18, 2021 Session parameters database table renamed. (307862 lines)
|
Version 20.51.13: Mar 18, 2021 Session parameters database table renamed. (307862 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
RENAME TABLE hidden_params TO ses_params;
|
RENAME TABLE hidden_params TO ses_params;
|
||||||
|
|
|
@ -449,7 +449,8 @@ void Con_RemoveOldConnected (void)
|
||||||
DB_QueryDELETE ("can not remove old users from list of connected users",
|
DB_QueryDELETE ("can not remove old users from list of connected users",
|
||||||
"DELETE FROM usr_connected"
|
"DELETE FROM usr_connected"
|
||||||
" WHERE UsrCod NOT IN"
|
" WHERE UsrCod NOT IN"
|
||||||
" (SELECT DISTINCT(UsrCod) FROM sessions)");
|
" (SELECT DISTINCT(UsrCod)"
|
||||||
|
" FROM ses_sessions)");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -2703,9 +2703,9 @@ mysql> DESCRIBE ses_params;
|
||||||
"ParamValue LONGTEXT NOT NULL,"
|
"ParamValue LONGTEXT NOT NULL,"
|
||||||
"INDEX(SessionId))");
|
"INDEX(SessionId))");
|
||||||
|
|
||||||
/***** Table sessions *****/
|
/***** Table ses_sessions *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE sessions;
|
mysql> DESCRIBE ses_sessions;
|
||||||
+----------------+---------------+------+-----+---------+-------+
|
+----------------+---------------+------+-----+---------+-------+
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
+----------------+---------------+------+-----+---------+-------+
|
+----------------+---------------+------+-----+---------+-------+
|
||||||
|
@ -2730,7 +2730,7 @@ mysql> DESCRIBE sessions;
|
||||||
+----------------+---------------+------+-----+---------+-------+
|
+----------------+---------------+------+-----+---------+-------+
|
||||||
18 rows in set (0,00 sec)
|
18 rows in set (0,00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS sessions ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS ses_sessions ("
|
||||||
"SessionId CHAR(43) NOT NULL," // Cns_BYTES_SESSION_ID
|
"SessionId CHAR(43) NOT NULL," // Cns_BYTES_SESSION_ID
|
||||||
"UsrCod INT NOT NULL,"
|
"UsrCod INT NOT NULL,"
|
||||||
"Password CHAR(86) COLLATE latin1_bin NOT NULL," // Pwd_BYTES_ENCRYPTED_PASSWORD
|
"Password CHAR(86) COLLATE latin1_bin NOT NULL," // Pwd_BYTES_ENCRYPTED_PASSWORD
|
||||||
|
|
|
@ -929,7 +929,9 @@ void Pag_SaveLastPageMsgIntoSession (Pag_WhatPaginate_t WhatPaginate,unsigned Nu
|
||||||
{
|
{
|
||||||
/***** Save last page of received/sent messages *****/
|
/***** Save last page of received/sent messages *****/
|
||||||
DB_QueryUPDATE ("can not update last page of messages",
|
DB_QueryUPDATE ("can not update last page of messages",
|
||||||
"UPDATE sessions SET %s=%u WHERE SessionId='%s'",
|
"UPDATE ses_sessions"
|
||||||
|
" SET %s=%u"
|
||||||
|
" WHERE SessionId='%s'",
|
||||||
WhatPaginate == Pag_MESSAGES_RECEIVED ? "LastPageMsgRcv" :
|
WhatPaginate == Pag_MESSAGES_RECEIVED ? "LastPageMsgRcv" :
|
||||||
"LastPageMsgSnt",
|
"LastPageMsgSnt",
|
||||||
NumPage,Gbl.Session.Id);
|
NumPage,Gbl.Session.Id);
|
||||||
|
@ -948,7 +950,8 @@ unsigned Pag_GetLastPageMsgFromSession (Pag_WhatPaginate_t WhatPaginate)
|
||||||
|
|
||||||
/***** Get last page of received/sent messages from database *****/
|
/***** Get last page of received/sent messages from database *****/
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get last page of messages",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get last page of messages",
|
||||||
"SELECT %s FROM sessions"
|
"SELECT %s" // row[0]
|
||||||
|
" FROM ses_sessions"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
WhatPaginate == Pag_MESSAGES_RECEIVED ? "LastPageMsgRcv" :
|
WhatPaginate == Pag_MESSAGES_RECEIVED ? "LastPageMsgRcv" :
|
||||||
"LastPageMsgSnt",
|
"LastPageMsgSnt",
|
||||||
|
|
|
@ -1301,7 +1301,9 @@ static void Sch_SaveLastSearchIntoSession (void)
|
||||||
|
|
||||||
/***** Save last search in session *****/
|
/***** Save last search in session *****/
|
||||||
DB_QueryUPDATE ("can not update last search in session",
|
DB_QueryUPDATE ("can not update last search in session",
|
||||||
"UPDATE sessions SET WhatToSearch=%u,SearchStr='%s'"
|
"UPDATE ses_sessions"
|
||||||
|
" SET WhatToSearch=%u,"
|
||||||
|
"SearchStr='%s'"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
(unsigned) Gbl.Search.WhatToSearch,
|
(unsigned) Gbl.Search.WhatToSearch,
|
||||||
Gbl.Search.Str,
|
Gbl.Search.Str,
|
||||||
|
@ -1311,7 +1313,8 @@ static void Sch_SaveLastSearchIntoSession (void)
|
||||||
// WhatToSearch is stored in usr_last for next time I log in
|
// WhatToSearch is stored in usr_last for next time I log in
|
||||||
// In other existing sessions distinct to this, WhatToSearch will remain unchanged
|
// In other existing sessions distinct to this, WhatToSearch will remain unchanged
|
||||||
DB_QueryUPDATE ("can not update type of search in user's last data",
|
DB_QueryUPDATE ("can not update type of search in user's last data",
|
||||||
"UPDATE usr_last SET WhatToSearch=%u"
|
"UPDATE usr_last"
|
||||||
|
" SET WhatToSearch=%u"
|
||||||
" WHERE UsrCod=%ld",
|
" WHERE UsrCod=%ld",
|
||||||
(unsigned) Gbl.Search.WhatToSearch,
|
(unsigned) Gbl.Search.WhatToSearch,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
|
|
|
@ -105,7 +105,8 @@ bool Ses_CheckIfSessionExists (const char *IdSes)
|
||||||
{
|
{
|
||||||
/***** Get if session already exists in database *****/
|
/***** Get if session already exists in database *****/
|
||||||
return (DB_QueryCOUNT ("can not check if a session already existed",
|
return (DB_QueryCOUNT ("can not check if a session already existed",
|
||||||
"SELECT COUNT(*) FROM sessions"
|
"SELECT COUNT(*)"
|
||||||
|
" FROM ses_sessions"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
IdSes) != 0);
|
IdSes) != 0);
|
||||||
}
|
}
|
||||||
|
@ -161,7 +162,7 @@ void Ses_InsertSessionInDB (void)
|
||||||
Gbl.Search.WhatToSearch = Sch_WHAT_TO_SEARCH_DEFAULT;
|
Gbl.Search.WhatToSearch = Sch_WHAT_TO_SEARCH_DEFAULT;
|
||||||
|
|
||||||
DB_QueryINSERT ("can not create session",
|
DB_QueryINSERT ("can not create session",
|
||||||
"INSERT INTO sessions"
|
"INSERT INTO ses_sessions"
|
||||||
" (SessionId,UsrCod,Password,Role,"
|
" (SessionId,UsrCod,Password,Role,"
|
||||||
"CtyCod,InsCod,CtrCod,DegCod,CrsCod,LastTime,LastRefresh,WhatToSearch)"
|
"CtyCod,InsCod,CtrCod,DegCod,CrsCod,LastTime,LastRefresh,WhatToSearch)"
|
||||||
" VALUES"
|
" VALUES"
|
||||||
|
@ -187,9 +188,17 @@ void Ses_UpdateSessionDataInDB (void)
|
||||||
{
|
{
|
||||||
/***** Update session in database *****/
|
/***** Update session in database *****/
|
||||||
DB_QueryUPDATE ("can not update session",
|
DB_QueryUPDATE ("can not update session",
|
||||||
"UPDATE sessions SET UsrCod=%ld,Password='%s',Role=%u,"
|
"UPDATE ses_sessions"
|
||||||
"CtyCod=%ld,InsCod=%ld,CtrCod=%ld,DegCod=%ld,CrsCod=%ld,"
|
" SET UsrCod=%ld,"
|
||||||
"LastTime=NOW(),LastRefresh=NOW()"
|
"Password='%s',"
|
||||||
|
"Role=%u,"
|
||||||
|
"CtyCod=%ld,"
|
||||||
|
"InsCod=%ld,"
|
||||||
|
"CtrCod=%ld,"
|
||||||
|
"DegCod=%ld,"
|
||||||
|
"CrsCod=%ld,"
|
||||||
|
"LastTime=NOW(),"
|
||||||
|
"LastRefresh=NOW()"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
Gbl.Usrs.Me.UsrDat.Password,
|
Gbl.Usrs.Me.UsrDat.Password,
|
||||||
|
@ -210,7 +219,9 @@ void Ses_UpdateSessionLastRefreshInDB (void)
|
||||||
{
|
{
|
||||||
/***** Update session in database *****/
|
/***** Update session in database *****/
|
||||||
DB_QueryUPDATE ("can not update session",
|
DB_QueryUPDATE ("can not update session",
|
||||||
"UPDATE sessions SET LastRefresh=NOW() WHERE SessionId='%s'",
|
"UPDATE ses_sessions"
|
||||||
|
" SET LastRefresh=NOW()"
|
||||||
|
" WHERE SessionId='%s'",
|
||||||
Gbl.Session.Id);
|
Gbl.Session.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,7 +233,8 @@ static void Ses_RemoveSessionFromDB (void)
|
||||||
{
|
{
|
||||||
/***** Remove current session *****/
|
/***** Remove current session *****/
|
||||||
DB_QueryDELETE ("can not remove a session",
|
DB_QueryDELETE ("can not remove a session",
|
||||||
"DELETE FROM sessions WHERE SessionId='%s'",
|
"DELETE FROM ses_sessions"
|
||||||
|
" WHERE SessionId='%s'",
|
||||||
Gbl.Session.Id);
|
Gbl.Session.Id);
|
||||||
|
|
||||||
/***** Clear old unused social timelines in database *****/
|
/***** Clear old unused social timelines in database *****/
|
||||||
|
@ -242,12 +254,12 @@ void Ses_RemoveExpiredSessions (void)
|
||||||
or (when there was at least one refresh (navigator supports AJAX)
|
or (when there was at least one refresh (navigator supports AJAX)
|
||||||
and last refresh is too old (browser probably was closed)) */
|
and last refresh is too old (browser probably was closed)) */
|
||||||
DB_QueryDELETE ("can not remove expired sessions",
|
DB_QueryDELETE ("can not remove expired sessions",
|
||||||
"DELETE LOW_PRIORITY FROM sessions WHERE"
|
"DELETE LOW_PRIORITY FROM ses_sessions"
|
||||||
" LastTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-%lu)"
|
" WHERE LastTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-%lu)"
|
||||||
" OR "
|
" OR "
|
||||||
"(LastRefresh>LastTime+INTERVAL 1 SECOND"
|
"(LastRefresh>LastTime+INTERVAL 1 SECOND"
|
||||||
" AND"
|
" AND"
|
||||||
" LastRefresh<FROM_UNIXTIME(UNIX_TIMESTAMP()-%lu))",
|
" LastRefresh<FROM_UNIXTIME(UNIX_TIMESTAMP()-%lu))",
|
||||||
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_CLICK,
|
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_CLICK,
|
||||||
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_REFRESH);
|
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_REFRESH);
|
||||||
}
|
}
|
||||||
|
@ -275,7 +287,7 @@ bool Ses_GetSessionData (void)
|
||||||
"CrsCod," // row[7]
|
"CrsCod," // row[7]
|
||||||
"WhatToSearch," // row[8]
|
"WhatToSearch," // row[8]
|
||||||
"SearchStr" // row[9]
|
"SearchStr" // row[9]
|
||||||
" FROM sessions"
|
" FROM ses_sessions"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
Gbl.Session.Id))
|
Gbl.Session.Id))
|
||||||
{
|
{
|
||||||
|
@ -387,7 +399,7 @@ void Ses_RemoveParamsFromExpiredSessions (void)
|
||||||
"DELETE FROM ses_params"
|
"DELETE FROM ses_params"
|
||||||
" WHERE SessionId NOT IN"
|
" WHERE SessionId NOT IN"
|
||||||
" (SELECT SessionId"
|
" (SELECT SessionId"
|
||||||
" FROM sessions)");
|
" FROM ses_sessions)");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -569,5 +581,6 @@ void Ses_RemovePublicDirsFromExpiredSessions (void)
|
||||||
DB_QueryDELETE ("can not remove public directories in expired sessions",
|
DB_QueryDELETE ("can not remove public directories in expired sessions",
|
||||||
"DELETE FROM brw_file_caches"
|
"DELETE FROM brw_file_caches"
|
||||||
" WHERE SessionId NOT IN"
|
" WHERE SessionId NOT IN"
|
||||||
" (SELECT SessionId FROM sessions)");
|
" (SELECT SessionId"
|
||||||
|
" FROM ses_sessions)");
|
||||||
}
|
}
|
||||||
|
|
|
@ -321,7 +321,9 @@ void Tml_DB_ClearOldTimelinesNotesFromDB (void)
|
||||||
/***** Remove timelines for expired sessions *****/
|
/***** Remove timelines for expired sessions *****/
|
||||||
DB_QueryDELETE ("can not remove old timelines",
|
DB_QueryDELETE ("can not remove old timelines",
|
||||||
"DELETE LOW_PRIORITY FROM tml_timelines"
|
"DELETE LOW_PRIORITY FROM tml_timelines"
|
||||||
" WHERE SessionId NOT IN (SELECT SessionId FROM sessions)");
|
" WHERE SessionId NOT IN"
|
||||||
|
" (SELECT SessionId"
|
||||||
|
" FROM ses_sessions)");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -879,7 +881,8 @@ long Tml_DB_GetPubCodFromSession (const char *FieldName)
|
||||||
|
|
||||||
/***** Get last publication code from database *****/
|
/***** Get last publication code from database *****/
|
||||||
if (DB_QuerySELECT (&mysql_res,"can not get publication code from session",
|
if (DB_QuerySELECT (&mysql_res,"can not get publication code from session",
|
||||||
"SELECT %s FROM sessions"
|
"SELECT %s" // row[0]
|
||||||
|
" FROM ses_sessions"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
FieldName,Gbl.Session.Id) == 1)
|
FieldName,Gbl.Session.Id) == 1)
|
||||||
{
|
{
|
||||||
|
@ -936,8 +939,8 @@ long Tml_DB_CreateNewPub (const struct Tml_Pub_Publication *Pub)
|
||||||
void Tml_DB_UpdateFirstPubCodInSession (long FirstPubCod)
|
void Tml_DB_UpdateFirstPubCodInSession (long FirstPubCod)
|
||||||
{
|
{
|
||||||
DB_QueryUPDATE ("can not update first publication code into session",
|
DB_QueryUPDATE ("can not update first publication code into session",
|
||||||
"UPDATE sessions"
|
"UPDATE ses_sessions"
|
||||||
" SET FirstPubCod=%ld"
|
" SET FirstPubCod=%ld"
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
FirstPubCod,
|
FirstPubCod,
|
||||||
Gbl.Session.Id);
|
Gbl.Session.Id);
|
||||||
|
@ -950,10 +953,10 @@ void Tml_DB_UpdateFirstPubCodInSession (long FirstPubCod)
|
||||||
void Tml_DB_UpdateLastPubCodInSession (void)
|
void Tml_DB_UpdateLastPubCodInSession (void)
|
||||||
{
|
{
|
||||||
DB_QueryUPDATE ("can not update last publication code into session",
|
DB_QueryUPDATE ("can not update last publication code into session",
|
||||||
"UPDATE sessions"
|
"UPDATE ses_sessions"
|
||||||
" SET LastPubCod="
|
" SET LastPubCod="
|
||||||
"(SELECT IFNULL(MAX(PubCod),0)"
|
"(SELECT IFNULL(MAX(PubCod),0)"
|
||||||
" FROM tml_pubs)" // The most recent publication
|
" FROM tml_pubs)" // The most recent publication
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
Gbl.Session.Id);
|
Gbl.Session.Id);
|
||||||
}
|
}
|
||||||
|
@ -965,11 +968,11 @@ void Tml_DB_UpdateLastPubCodInSession (void)
|
||||||
void Tml_DB_UpdateFirstLastPubCodsInSession (long FirstPubCod)
|
void Tml_DB_UpdateFirstLastPubCodsInSession (long FirstPubCod)
|
||||||
{
|
{
|
||||||
DB_QueryUPDATE ("can not update first/last publication codes into session",
|
DB_QueryUPDATE ("can not update first/last publication codes into session",
|
||||||
"UPDATE sessions"
|
"UPDATE ses_sessions"
|
||||||
" SET FirstPubCod=%ld,"
|
" SET FirstPubCod=%ld,"
|
||||||
"LastPubCod="
|
"LastPubCod="
|
||||||
"(SELECT IFNULL(MAX(PubCod),0)"
|
"(SELECT IFNULL(MAX(PubCod),0)"
|
||||||
" FROM tml_pubs)" // The most recent publication
|
" FROM tml_pubs)" // The most recent publication
|
||||||
" WHERE SessionId='%s'",
|
" WHERE SessionId='%s'",
|
||||||
FirstPubCod,
|
FirstPubCod,
|
||||||
Gbl.Session.Id);
|
Gbl.Session.Id);
|
||||||
|
|
Loading…
Reference in New Issue