Make changes to certain database functions and a debug assert (#804)

- Replace all interaction of std::string and sqlString.
- Add a return before a debug assertion can be triggered by lvl chunks being loaded on server start.
This commit is contained in:
Jett 2022-11-03 03:53:45 +00:00 committed by GitHub
parent 8edade5f98
commit b974eed8f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 9 deletions

View File

@ -35,8 +35,8 @@ void Database::Connect(const string& host, const string& database, const string&
}
void Database::Connect() {
con = driver->connect(Database::props);
con->setSchema(Database::database);
con = driver->connect(Database::props["hostName"].c_str(), Database::props["user"].c_str(), Database::props["password"].c_str());
con->setSchema(Database::database.c_str());
}
void Database::Destroy(std::string source, bool log) {

View File

@ -45,7 +45,7 @@ void MigrationRunner::RunMigrations() {
}
stmt = Database::CreatePreppedStmt("SELECT name FROM migration_history WHERE name = ?;");
stmt->setString(1, migration.name);
stmt->setString(1, migration.name.c_str());
auto* res = stmt->executeQuery();
bool doExit = res->next();
delete res;
@ -56,11 +56,11 @@ void MigrationRunner::RunMigrations() {
if (migration.name == "5_brick_model_sd0.sql") {
runSd0Migrations = true;
} else {
finalSQL.append(migration.data);
finalSQL.append(migration.data.c_str());
}
stmt = Database::CreatePreppedStmt("INSERT INTO migration_history (name) VALUES (?);");
stmt->setString(1, migration.name);
stmt->setString(1, migration.name.c_str());
stmt->execute();
delete stmt;
}
@ -76,7 +76,7 @@ void MigrationRunner::RunMigrations() {
for (auto& query : migration) {
try {
if (query.empty()) continue;
simpleStatement->execute(query);
simpleStatement->execute(query.c_str());
} catch (sql::SQLException& e) {
Game::logger->Log("MigrationRunner", "Encountered error running migration: %s", e.what());
}
@ -103,7 +103,7 @@ void MigrationRunner::RunSQLiteMigrations() {
if (migration.data.empty()) continue;
stmt = Database::CreatePreppedStmt("SELECT name FROM migration_history WHERE name = ?;");
stmt->setString(1, migration.name);
stmt->setString(1, migration.name.c_str());
auto* res = stmt->executeQuery();
bool doExit = res->next();
delete res;

View File

@ -237,7 +237,7 @@ int main(int argc, char** argv) {
//If we found a server, update it's IP and port to the current one.
if (result->next()) {
auto* updateStatement = Database::CreatePreppedStmt("UPDATE `servers` SET `ip` = ?, `port` = ? WHERE `id` = ?");
updateStatement->setString(1, master_server_ip);
updateStatement->setString(1, master_server_ip.c_str());
updateStatement->setInt(2, Game::server->GetPort());
updateStatement->setInt(3, result->getInt("id"));
updateStatement->execute();
@ -245,7 +245,7 @@ int main(int argc, char** argv) {
} else {
//If we didn't find a server, create one.
auto* insertStatement = Database::CreatePreppedStmt("INSERT INTO `servers` (`name`, `ip`, `port`, `state`, `version`) VALUES ('master', ?, ?, 0, 171023)");
insertStatement->setString(1, master_server_ip);
insertStatement->setString(1, master_server_ip.c_str());
insertStatement->setInt(2, Game::server->GetPort());
insertStatement->execute();
delete insertStatement;