From 391f2822c8f6da7d6ffa8114817a8baf2aa265d5 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 14 Feb 2013 20:57:40 -0500 Subject: This Serialize::Destroy method isn't actually needed anymore. Fixes weirdness from a few Serializable items we had on the stack. Added a comment about why operator< in Reference fails. --- modules/database/db_sql.cpp | 2 +- modules/database/db_sql_live.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/database/db_sql.cpp b/modules/database/db_sql.cpp index 170f7a5c8..74166d6dc 100644 --- a/modules/database/db_sql.cpp +++ b/modules/database/db_sql.cpp @@ -185,7 +185,7 @@ class DBSQL : public Module, public Pipe void OnSerializableDestruct(Serializable *obj) anope_override { Serialize::Type *s_type = obj->GetSerializableType(); - if (s_type) + if (s_type && obj->id > 0) this->RunBackground("DELETE FROM `" + this->prefix + s_type->GetName() + "` WHERE `id` = " + stringify(obj->id)); this->updated_items.erase(obj); } diff --git a/modules/database/db_sql_live.cpp b/modules/database/db_sql_live.cpp index 9a769a35c..ae37a7a9b 100644 --- a/modules/database/db_sql_live.cpp +++ b/modules/database/db_sql_live.cpp @@ -156,7 +156,8 @@ class DBMySQL : public Module, public Pipe Serialize::Type *s_type = obj->GetSerializableType(); if (s_type) { - this->RunQuery("DELETE FROM `" + this->prefix + s_type->GetName() + "` WHERE `id` = " + stringify(obj->id)); + if (obj->id > 0) + this->RunQuery("DELETE FROM `" + this->prefix + s_type->GetName() + "` WHERE `id` = " + stringify(obj->id)); s_type->objects.erase(obj->id); } this->updated_items.erase(obj); -- cgit