diff --git a/sql/swad.sql b/sql/swad.sql index c9ad01c23..7a2585eb6 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -126,9 +126,9 @@ CREATE TABLE IF NOT EXISTS ban_banners ( UNIQUE INDEX(BanCod), INDEX(Hidden)); -- --- Table buildings: buildings in a center +-- Table bld_buildings: buildings in a center -- -CREATE TABLE IF NOT EXISTS buildings ( +CREATE TABLE IF NOT EXISTS bld_buildings ( BldCod INT NOT NULL AUTO_INCREMENT, CtrCod INT NOT NULL, ShortName VARCHAR(511) NOT NULL, diff --git a/swad_API.c b/swad_API.c index 0c9c28bc0..28cd8ab1d 100644 --- a/swad_API.c +++ b/swad_API.c @@ -5995,26 +5995,26 @@ int swad__getLocation (struct soap *soap, "ctr_centers.CtrCod," // row[ 3] "ctr_centers.ShortName," // row[ 4] "ctr_centers.FullName," // row[ 5] - "buildings.BldCod," // row[ 6] - "buildings.ShortName," // row[ 7] - "buildings.FullName," // row[ 8] + "bld_buildings.BldCod," // row[ 6] + "bld_buildings.ShortName," // row[ 7] + "bld_buildings.FullName," // row[ 8] "rooms.Floor," // row[ 9] "rooms.RooCod," // row[10] "rooms.ShortName," // row[11] "rooms.FullName" // row[12] - " FROM room_MAC," - "rooms," - "buildings," - "ctr_centers," - "ins_instits" - " WHERE room_MAC.MAC=%llu" - " AND room_MAC.RooCod=rooms.RooCod" - " AND rooms.BldCod=buildings.BldCod" - " AND buildings.CtrCod=ctr_centers.CtrCod" - " AND ctr_centers.InsCod=ins_instits.InsCod" - " ORDER BY rooms.Capacity," // Get the biggest room - "rooms.ShortName" - " DESC LIMIT 1", + " FROM room_MAC," + "rooms," + "bld_buildings," + "ctr_centers," + "ins_instits" + " WHERE room_MAC.MAC=%llu" + " AND room_MAC.RooCod=rooms.RooCod" + " AND rooms.BldCod=bld_buildings.BldCod" + " AND bld_buildings.CtrCod=ctr_centers.CtrCod" + " AND ctr_centers.InsCod=ins_instits.InsCod" + " ORDER BY rooms.Capacity DESC," // Get the biggest room + "rooms.ShortName" + " LIMIT 1", MACnum); API_GetDataOfLocation (soap, @@ -6131,33 +6131,35 @@ int swad__getLastLocation (struct soap *soap, NumLocs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get matches", "SELECT ins_instits.InsCod," // row[ 0] - "ins_instits.ShortName," // row[ 1] + "ins_instits.ShortName," // row[ 1] "ins_instits.FullName," // row[ 2] "ctr_centers.CtrCod," // row[ 3] "ctr_centers.ShortName," // row[ 4] "ctr_centers.FullName," // row[ 5] - "buildings.BldCod," // row[ 6] - "buildings.ShortName," // row[ 7] - "buildings.FullName," // row[ 8] + "bld_buildings.BldCod," // row[ 6] + "bld_buildings.ShortName," // row[ 7] + "bld_buildings.FullName," // row[ 8] "rooms.Floor," // row[ 9] "rooms.RooCod," // row[10] "rooms.ShortName," // row[11] "rooms.FullName," // row[12] "UNIX_TIMESTAMP(room_check_in.CheckInTime)" // row[13] - " FROM room_check_in," - "rooms," - "buildings," - "ctr_centers," - "ins_instits" - " WHERE room_check_in.UsrCod=%d" - " AND room_check_in.ChkCod=" - "(SELECT ChkCod FROM room_check_in" - " WHERE UsrCod=%d" - " ORDER BY ChkCod DESC LIMIT 1)" // Faster than SELECT MAX - " AND room_check_in.RooCod=rooms.RooCod" - " AND rooms.BldCod=buildings.BldCod" - " AND buildings.CtrCod=ctr_centers.CtrCod" - " AND ctr_centers.InsCod=ins_instits.InsCod", + " FROM room_check_in," + "rooms," + "bld_buildings," + "ctr_centers," + "ins_instits" + " WHERE room_check_in.UsrCod=%d" + " AND room_check_in.ChkCod=" + "(SELECT ChkCod" + " FROM room_check_in" + " WHERE UsrCod=%d" + " ORDER BY ChkCod DESC" + " LIMIT 1)" // Faster than SELECT MAX + " AND room_check_in.RooCod=rooms.RooCod" + " AND rooms.BldCod=bld_buildings.BldCod" + " AND bld_buildings.CtrCod=ctr_centers.CtrCod" + " AND ctr_centers.InsCod=ins_instits.InsCod", userCode,userCode); API_GetDataOfLocation (soap, &(getLastLocationOut->location), @@ -6199,9 +6201,9 @@ static void API_GetDataOfLocation (struct soap *soap, ctr_centers.CtrCod // row[ 3] ctr_centers.ShortName // row[ 4] ctr_centers.FullName // row[ 5] - buildings.BldCod // row[ 6] - buildings.ShortName // row[ 7] - buildings.FullName // row[ 8] + bld_buildings.BldCod // row[ 6] + bld_buildings.ShortName // row[ 7] + bld_buildings.FullName // row[ 8] rooms.Floor // row[ 9] rooms.RooCod // row[10] rooms.ShortName // row[11] diff --git a/swad_building.c b/swad_building.c index 9c62cd166..1c0e9914b 100644 --- a/swad_building.c +++ b/swad_building.c @@ -327,11 +327,11 @@ void Bld_GetListBuildings (struct Bld_Buildings *Buildings, { case Bld_ALL_DATA: NumRows = DB_QuerySELECT (&mysql_res,"can not get buildings", - "SELECT BldCod," - "ShortName," - "FullName," - "Location" - " FROM buildings" + "SELECT BldCod," // row[0] + "ShortName," // row[1] + "FullName," // row[2] + "Location" // row[3] + " FROM bld_buildings" " WHERE CtrCod=%ld" " ORDER BY %s", Gbl.Hierarchy.Ctr.CtrCod, @@ -340,9 +340,9 @@ void Bld_GetListBuildings (struct Bld_Buildings *Buildings, case Bld_ONLY_SHRT_NAME: default: NumRows = DB_QuerySELECT (&mysql_res,"can not get buildings", - "SELECT BldCod," - "ShortName" - " FROM buildings" + "SELECT BldCod," // row[0] + "ShortName" // row[1] + " FROM bld_buildings" " WHERE CtrCod=%ld" " ORDER BY ShortName", Gbl.Hierarchy.Ctr.CtrCod); @@ -413,7 +413,7 @@ void Bld_GetDataOfBuildingByCod (struct Bld_Building *Building) "SELECT ShortName," // row[0] "FullName," // row[1] "Location" // row[2] - " FROM buildings" + " FROM bld_buildings" " WHERE BldCod=%ld", Building->BldCod); @@ -574,7 +574,8 @@ void Bld_RemoveBuilding (void) /***** Remove building *****/ DB_QueryDELETE ("can not remove a building", - "DELETE FROM buildings WHERE BldCod=%ld", + "DELETE FROM bld_buildings" + " WHERE BldCod=%ld", Bld_EditingBuilding->BldCod); /***** Create message to show the change made *****/ @@ -708,9 +709,11 @@ static bool Bld_CheckIfBuildingNameExists (const char *FieldName,const char *Nam /***** Get number of buildings with a name from database *****/ return (DB_QueryCOUNT ("can not check if the name of a building" " already existed", - "SELECT COUNT(*) FROM buildings" + "SELECT COUNT(*)" + " FROM bld_buildings" " WHERE CtrCod=%ld" - " AND %s='%s' AND BldCod<>%ld", + " AND %s='%s'" + " AND BldCod<>%ld", Gbl.Hierarchy.Ctr.CtrCod, FieldName,Name,BldCod) != 0); } @@ -723,7 +726,9 @@ static void Bld_UpdateBuildingNameDB (long BldCod,const char *FieldName,const ch { /***** Update building changing old name by new name */ DB_QueryUPDATE ("can not update the name of a building", - "UPDATE buildings SET %s='%s' WHERE BldCod=%ld", + "UPDATE bld_buildings" + " SET %s='%s'" + " WHERE BldCod=%ld", FieldName,NewBuildingName,BldCod); } diff --git a/swad_changelog.h b/swad_changelog.h index cc5cf3ef7..d8f31b869 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -600,12 +600,16 @@ 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.50.5 (2021-03-17)" +#define Log_PLATFORM_VERSION "SWAD 20.50.6 (2021-03-17)" #define CSS_FILE "swad20.45.css" #define JS_FILE "swad20.6.2.js" /* TODO: Rename CENTRE to CENTER in help wiki. + Version 20.50.6: Mar 17, 2021 Buildings database table renamed. (307310 lines) + 1 change necessary in database: +RENAME TABLE buildings TO bld_buildings; + Version 20.50.5: Mar 17, 2021 Birthdays-today database table renamed. (307288 lines) 1 change necessary in database: RENAME TABLE birthdays_today TO usr_birthdays_today; diff --git a/swad_database.c b/swad_database.c index 8aa7ad8d1..426ef0725 100644 --- a/swad_database.c +++ b/swad_database.c @@ -358,9 +358,9 @@ mysql> DESCRIBE ban_banners; "UNIQUE INDEX(BanCod)," "INDEX(Hidden))"); - /***** Table buildings *****/ + /***** Table bld_buildings *****/ /* -mysql> DESCRIBE buildings; +mysql> DESCRIBE bld_buildings; +-----------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+---------------+------+-----+---------+----------------+ @@ -372,7 +372,7 @@ mysql> DESCRIBE buildings; +-----------+---------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec) */ - DB_CreateTable ("CREATE TABLE IF NOT EXISTS buildings (" + DB_CreateTable ("CREATE TABLE IF NOT EXISTS bld_buildings (" "BldCod INT NOT NULL AUTO_INCREMENT," "CtrCod INT NOT NULL," "ShortName VARCHAR(511) NOT NULL," // Bld_MAX_BYTES_SHRT_NAME diff --git a/swad_room.c b/swad_room.c index 609dd8269..f97f3772b 100644 --- a/swad_room.c +++ b/swad_room.c @@ -532,12 +532,24 @@ void Roo_GetListRooms (struct Roo_Rooms *Rooms, { static const char *OrderBySubQuery[Roo_NUM_ORDERS] = { - [Roo_ORDER_BY_BUILDING ] = "buildings.ShortName,rooms.Floor,rooms.ShortName", - [Roo_ORDER_BY_FLOOR ] = "rooms.Floor,buildings.ShortName,rooms.ShortName", - [Roo_ORDER_BY_TYPE ] = "rooms.Type,buildings.ShortName,rooms.Floor,rooms.ShortName", - [Roo_ORDER_BY_SHRT_NAME] = "rooms.ShortName,rooms.FullName", - [Roo_ORDER_BY_FULL_NAME] = "rooms.FullName,rooms.ShortName", - [Roo_ORDER_BY_CAPACITY ] = "rooms.Capacity DESC,buildings.ShortName,rooms.Floor,rooms.ShortName", + [Roo_ORDER_BY_BUILDING ] = "bld_buildings.ShortName," + "rooms.Floor," + "rooms.ShortName", + [Roo_ORDER_BY_FLOOR ] = "rooms.Floor," + "bld_buildings.ShortName," + "rooms.ShortName", + [Roo_ORDER_BY_TYPE ] = "rooms.Type," + "bld_buildings.ShortName," + "rooms.Floor," + "rooms.ShortName", + [Roo_ORDER_BY_SHRT_NAME] = "rooms.ShortName," + "rooms.FullName", + [Roo_ORDER_BY_FULL_NAME] = "rooms.FullName," + "rooms.ShortName", + [Roo_ORDER_BY_CAPACITY ] = "rooms.Capacity DESC," + "bld_buildings.ShortName," + "rooms.Floor," + "rooms.ShortName", }; MYSQL_RES *mysql_res; MYSQL_ROW row; @@ -552,14 +564,14 @@ void Roo_GetListRooms (struct Roo_Rooms *Rooms, NumRows = DB_QuerySELECT (&mysql_res,"can not get rooms", "SELECT rooms.RooCod," // row[0] "rooms.BldCod," // row[1] - "buildings.ShortName," // row[2] + "bld_buildings.ShortName," // row[2] "rooms.Floor," // row[3] "rooms.Type," // row[4] "rooms.ShortName," // row[5] "rooms.FullName," // row[6] "rooms.Capacity" // row[7] - " FROM rooms LEFT JOIN buildings" - " ON rooms.BldCod=buildings.BldCod" + " FROM rooms LEFT JOIN bld_buildings" + " ON rooms.BldCod=bld_buildings.BldCod" " WHERE rooms.CtrCod=%ld" " ORDER BY %s", Gbl.Hierarchy.Ctr.CtrCod, @@ -570,8 +582,8 @@ void Roo_GetListRooms (struct Roo_Rooms *Rooms, NumRows = DB_QuerySELECT (&mysql_res,"can not get rooms", "SELECT rooms.RooCod," // row[0] "rooms.ShortName" // row[1] - " FROM rooms LEFT JOIN buildings" - " ON rooms.BldCod=buildings.BldCod" + " FROM rooms LEFT JOIN bld_buildings" + " ON rooms.BldCod=bld_buildings.BldCod" " WHERE rooms.CtrCod=%ld" " ORDER BY %s", Gbl.Hierarchy.Ctr.CtrCod, @@ -657,14 +669,14 @@ static void Roo_GetDataOfRoomByCod (struct Roo_Room *Room) /***** Get data of a room from database *****/ NumRows = DB_QuerySELECT (&mysql_res,"can not get data of a room", "SELECT rooms.BldCod," // row[0] - "buildings.ShortName," // row[1] + "bld_buildings.ShortName," // row[1] "rooms.Floor," // row[2] "rooms.Type," // row[3] "rooms.ShortName," // row[4] "rooms.FullName," // row[5] "rooms.Capacity" // row[6] - " FROM rooms LEFT JOIN buildings" - " ON rooms.BldCod=buildings.BldCod" + " FROM rooms LEFT JOIN bld_buildings" + " ON rooms.BldCod=bld_buildings.BldCod" " WHERE rooms.RooCod=%ld", Room->RooCod);