diff options
| author | Jelle Meeus <sogladev@gmail.com> | 2025-07-27 22:04:03 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-28 02:04:03 -0300 |
| commit | fc4b2939ee3c336da39f38a60b466770501c9daf (patch) | |
| tree | f7a5d25a7015cac6090bfd3b4d74732fb2e0b359 /src/server/database/Database/Implementation | |
| parent | 970b6cf7b61cc57fa65772b6f5922da4ef74d014 (diff) | |
refactor(World/WorldState): use prepared statements (#22582)
Diffstat (limited to 'src/server/database/Database/Implementation')
| -rw-r--r-- | src/server/database/Database/Implementation/CharacterDatabase.cpp | 4 | ||||
| -rw-r--r-- | src/server/database/Database/Implementation/CharacterDatabase.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp index f8b840ea26..b397b01424 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp @@ -616,6 +616,10 @@ void CharacterDatabaseConnection::DoPrepareStatements() "ON DUPLICATE KEY UPDATE state = VALUES(state)", CONNECTION_ASYNC); PrepareStatement(CHAR_DELETE_INSTANCE_SAVED_DATA, "DELETE FROM instance_saved_go_state_data WHERE id = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_SANITIZE_INSTANCE_SAVED_DATA, "DELETE FROM instance_saved_go_state_data WHERE id NOT IN (SELECT instance.id FROM instance)", CONNECTION_ASYNC); + + // world_state + PrepareStatement(CHAR_SEL_WORLD_STATE, "SELECT Id, Data FROM world_state", CONNECTION_SYNCH); + PrepareStatement(CHAR_REP_WORLD_STATE, "REPLACE INTO world_state (Id, Data) VALUES(?, ?)", CONNECTION_ASYNC); } CharacterDatabaseConnection::CharacterDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) diff --git a/src/server/database/Database/Implementation/CharacterDatabase.h b/src/server/database/Database/Implementation/CharacterDatabase.h index d0f5d11a11..e7e05e4739 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.h +++ b/src/server/database/Database/Implementation/CharacterDatabase.h @@ -528,6 +528,9 @@ enum CharacterDatabaseStatements : uint32 CHAR_DELETE_INSTANCE_SAVED_DATA, CHAR_SANITIZE_INSTANCE_SAVED_DATA, + CHAR_SEL_WORLD_STATE, + CHAR_REP_WORLD_STATE, + MAX_CHARACTERDATABASE_STATEMENTS }; |
