summaryrefslogtreecommitdiff
path: root/modules/database
diff options
context:
space:
mode:
Diffstat (limited to 'modules/database')
-rw-r--r--modules/database/sql.cpp24
1 files changed, 1 insertions, 23 deletions
diff --git a/modules/database/sql.cpp b/modules/database/sql.cpp
index 7ca4eb6d7..1739f168d 100644
--- a/modules/database/sql.cpp
+++ b/modules/database/sql.cpp
@@ -30,21 +30,6 @@ class DBSQL : public Module, public Pipe
bool inited = false;
Anope::string prefix;
ServiceReference<Provider> SQL;
- std::unordered_multimap<Serialize::Object *, Serialize::FieldBase *> cache;
-
- void CacheMiss(Serialize::Object *object, Serialize::FieldBase *field)
- {
- cache.insert(std::make_pair(object, field));
- }
-
- bool IsCacheMiss(Serialize::Object *object, Serialize::FieldBase *field)
- {
- auto range = cache.equal_range(object);
- for (auto it = range.first; it != range.second; ++it)
- if (it->second == field)
- return true;
- return false;
- }
Result Run(const Query &query)
{
@@ -91,8 +76,7 @@ class DBSQL : public Module, public Pipe
void OnNotify() override
{
Commit();
- Serialize::Clear();
- cache.clear();
+ Serialize::GC();
}
void OnReload(Configuration::Conf *conf) override
@@ -208,14 +192,8 @@ class DBSQL : public Module, public Pipe
{
SQL::Result::Value v;
- if (IsCacheMiss(object, field))
- return EVENT_CONTINUE;
-
if (!GetValue(object, field, v))
- {
- CacheMiss(object, field);
return EVENT_CONTINUE;
- }
value = v.value;
return EVENT_ALLOW;