diff options
Diffstat (limited to 'OpenSim/Data/MySQL')
-rw-r--r-- | OpenSim/Data/MySQL/MySQLFriendsData.cs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/OpenSim/Data/MySQL/MySQLFriendsData.cs b/OpenSim/Data/MySQL/MySQLFriendsData.cs index 69fac9d..130ba5e 100644 --- a/OpenSim/Data/MySQL/MySQLFriendsData.cs +++ b/OpenSim/Data/MySQL/MySQLFriendsData.cs | |||
@@ -44,6 +44,11 @@ namespace OpenSim.Data.MySQL | |||
44 | 44 | ||
45 | public bool Delete(UUID principalID, string friend) | 45 | public bool Delete(UUID principalID, string friend) |
46 | { | 46 | { |
47 | return Delete(principalID.ToString(), friend); | ||
48 | } | ||
49 | |||
50 | public bool Delete(string principalID, string friend) | ||
51 | { | ||
47 | MySqlCommand cmd = new MySqlCommand(); | 52 | MySqlCommand cmd = new MySqlCommand(); |
48 | 53 | ||
49 | cmd.CommandText = String.Format("delete from {0} where PrincipalID = ?PrincipalID and Friend = ?Friend", m_Realm); | 54 | cmd.CommandText = String.Format("delete from {0} where PrincipalID = ?PrincipalID and Friend = ?Friend", m_Realm); |
@@ -57,16 +62,20 @@ namespace OpenSim.Data.MySQL | |||
57 | 62 | ||
58 | public FriendsData[] GetFriends(UUID principalID) | 63 | public FriendsData[] GetFriends(UUID principalID) |
59 | { | 64 | { |
60 | return GetFriends(principalID.ToString()); | 65 | MySqlCommand cmd = new MySqlCommand(); |
66 | |||
67 | cmd.CommandText = String.Format("select a.*,case when b.Flags is null then -1 else b.Flags end as TheirFlags from {0} as a left join {0} as b on a.PrincipalID = b.Friend and a.Friend = b.PrincipalID where a.PrincipalID = ?PrincipalID", m_Realm); | ||
68 | cmd.Parameters.AddWithValue("?PrincipalID", principalID.ToString()); | ||
69 | |||
70 | return DoQuery(cmd); | ||
61 | } | 71 | } |
62 | 72 | ||
63 | public FriendsData[] GetFriends(string principalID) | 73 | public FriendsData[] GetFriends(string principalID) |
64 | { | 74 | { |
65 | MySqlCommand cmd = new MySqlCommand(); | 75 | MySqlCommand cmd = new MySqlCommand(); |
66 | 76 | ||
67 | cmd.CommandText = String.Format("select a.*,case when b.Flags is null then -1 else b.Flags end as TheirFlags from {0} as a left join {0} as b on a.PrincipalID = b.Friend and a.Friend = b.PrincipalID where a.PrincipalID = ?PrincipalID", m_Realm); | 77 | cmd.CommandText = String.Format("select a.*,case when b.Flags is null then -1 else b.Flags end as TheirFlags from {0} as a left join {0} as b on a.PrincipalID = b.Friend and a.Friend = b.PrincipalID where a.PrincipalID LIKE ?PrincipalID", m_Realm); |
68 | cmd.Parameters.AddWithValue("?PrincipalID", principalID.ToString()); | 78 | cmd.Parameters.AddWithValue("?PrincipalID", principalID.ToString() + '%'); |
69 | |||
70 | return DoQuery(cmd); | 79 | return DoQuery(cmd); |
71 | } | 80 | } |
72 | } | 81 | } |