From 23438e66e7ee3cd71652cdf6fd6a801544179ec0 Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 18 Nov 2009 08:53:07 +0000 Subject: [PATCH] Implement generic delete method --- OpenSim/Data/IPresenceData.cs | 3 ++- OpenSim/Data/MySQL/MySQLGenericTableHandler.cs | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/OpenSim/Data/IPresenceData.cs b/OpenSim/Data/IPresenceData.cs index 020ba5d10e..e5a8ebdffc 100644 --- a/OpenSim/Data/IPresenceData.cs +++ b/OpenSim/Data/IPresenceData.cs @@ -48,7 +48,8 @@ namespace OpenSim.Data PresenceData Get(UUID principalID); - bool SetDataItem(UUID principalID, string item, string value); + bool SetUserDataItem(UUID principalID, string item, string value); + bool SetRegionDataItem(UUID principalID, string item, string value); bool Delete(UUID regionID); } diff --git a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs index 1521dc73f6..4e27e26e35 100644 --- a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs +++ b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs @@ -112,7 +112,7 @@ namespace OpenSim.Data.MySQL for (int i = 0 ; i < fields.Length ; i++) { cmd.Parameters.AddWithValue(fields[i], keys[i]); - terms.Add(fields[i] + " = ?" + fields[i]); + terms.Add("`" + fields[i] + "` = ?" + fields[i]); } string where = String.Join(" and ", terms.ToArray()); @@ -198,5 +198,18 @@ namespace OpenSim.Data.MySQL return false; } + + public bool Delete(string field, string val) + { + MySqlCommand cmd = new MySqlCommand(); + + cmd.CommandText = String.Format("delete from {0} where `{1}` = ?{1}", m_Realm, field); + cmd.Parameters.AddWithValue(field, val); + + if (ExecuteNonQuery(cmd) > 0) + return true; + + return false; + } } }