summaryrefslogtreecommitdiff
path: root/src/server/database/Database/Implementation
diff options
context:
space:
mode:
authorJelle Meeus <sogladev@gmail.com>2025-07-27 22:04:03 -0700
committerGitHub <noreply@github.com>2025-07-28 02:04:03 -0300
commitfc4b2939ee3c336da39f38a60b466770501c9daf (patch)
treef7a5d25a7015cac6090bfd3b4d74732fb2e0b359 /src/server/database/Database/Implementation
parent970b6cf7b61cc57fa65772b6f5922da4ef74d014 (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.cpp4
-rw-r--r--src/server/database/Database/Implementation/CharacterDatabase.h3
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
};