summaryrefslogtreecommitdiff
path: root/modules/database/db_sql_live.cpp
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2024-11-11 10:42:57 +0000
committerSadie Powell <sadie@witchery.services>2024-11-11 10:44:20 +0000
commit9411dac991de7361669621167ebc2968969ab24f (patch)
treeed7248a1495310bbe84f23dd7f5d73a0b5b12a97 /modules/database/db_sql_live.cpp
parentaa32f7c9266368f1d669e646e40f4b7b3fd53bb5 (diff)
Add a helper function to db_sql(_live) for getting a table name.
Diffstat (limited to 'modules/database/db_sql_live.cpp')
-rw-r--r--modules/database/db_sql_live.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/modules/database/db_sql_live.cpp b/modules/database/db_sql_live.cpp
index ea1fb1a27..b9f4477cf 100644
--- a/modules/database/db_sql_live.cpp
+++ b/modules/database/db_sql_live.cpp
@@ -53,6 +53,11 @@ private:
return init && SQL;
}
+ Anope::string GetTableName(Serialize::Type *s_type)
+ {
+ return this->prefix + s_type->GetName();
+ }
+
void RunQuery(const Query &query)
{
/* Can this be threaded? */
@@ -106,11 +111,11 @@ public:
if (!s_type)
continue;
- std::vector<Query> create = this->SQL->CreateTable(this->prefix + s_type->GetName(), data);
+ auto create = this->SQL->CreateTable(GetTableName(s_type), data);
for (const auto &query : create)
this->RunQueryResult(query);
- Result res = this->RunQueryResult(this->SQL->BuildInsert(this->prefix + s_type->GetName(), obj->id, data));
+ auto res = this->RunQueryResult(this->SQL->BuildInsert(GetTableName(s_type), obj->id, data));
if (res.GetID() && obj->id != res.GetID())
{
/* In this case obj is new, so place it into the object map */
@@ -163,7 +168,7 @@ public:
if (s_type)
{
if (obj->id > 0)
- this->RunQuery("DELETE FROM `" + this->prefix + s_type->GetName() + "` WHERE `id` = " + Anope::ToString(obj->id));
+ this->RunQuery("DELETE FROM `" + GetTableName(s_type) + "` WHERE `id` = " + Anope::ToString(obj->id));
s_type->objects.erase(obj->id);
}
this->updated_items.erase(obj);
@@ -174,7 +179,7 @@ public:
if (!this->CheckInit() || obj->GetTimestamp() == Anope::CurTime)
return;
- Query query("SELECT * FROM `" + this->prefix + obj->GetName() + "` WHERE (`timestamp` >= " + this->SQL->FromUnixtime(obj->GetTimestamp()) + " OR `timestamp` IS NULL)");
+ Query query("SELECT * FROM `" + GetTableName(obj) + "` WHERE (`timestamp` >= " + this->SQL->FromUnixtime(obj->GetTimestamp()) + " OR `timestamp` IS NULL)");
obj->UpdateTimestamp();
@@ -236,7 +241,7 @@ public:
else
{
if (!s)
- this->RunQuery("UPDATE `" + prefix + obj->GetName() + "` SET `timestamp` = " + this->SQL->FromUnixtime(obj->GetTimestamp()) + " WHERE `id` = " + Anope::ToString(id));
+ this->RunQuery("UPDATE `" + GetTableName(obj) + "` SET `timestamp` = " + this->SQL->FromUnixtime(obj->GetTimestamp()) + " WHERE `id` = " + Anope::ToString(id));
else
delete s;
}
@@ -245,7 +250,7 @@ public:
if (clear_null)
{
- query = "DELETE FROM `" + this->prefix + obj->GetName() + "` WHERE `timestamp` IS NULL";
+ query = "DELETE FROM `" + GetTableName(obj) + "` WHERE `timestamp` IS NULL";
this->RunQuery(query);
}
}