aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Data.MySQL
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Data.MySQL')
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLGridData.cs85
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLUserData.cs81
2 files changed, 165 insertions, 1 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
index fdfc61c..930b3f4 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
@@ -169,6 +169,91 @@ namespace OpenSim.Framework.Data.MySQL
169 return null; 169 return null;
170 } 170 }
171 } 171 }
172 /// <summary>
173 /// // Returns a list of avatar and UUIDs that match the query
174 /// </summary>
175
176 public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
177 {
178 List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
179 string[] querysplit;
180 querysplit = query.Split(' ');
181 if (querysplit.Length == 2)
182 {
183 try
184 {
185 lock (database)
186 {
187 Dictionary<string, string> param = new Dictionary<string, string>();
188 param["?first"] = querysplit[0];
189 param["?second"] = querysplit[1];
190
191 IDbCommand result =
192 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param);
193 IDataReader reader = result.ExecuteReader();
194
195
196 while (reader.Read())
197 {
198 AvatarPickerAvatar user = new AvatarPickerAvatar();
199 user.AvatarID = new LLUUID((string)reader["UUID"]);
200 user.firstName = (string)reader["username"];
201 user.lastName = (string)reader["surname"];
202 returnlist.Add(user);
203
204 }
205 reader.Close();
206 result.Dispose();
207 }
208 }
209 catch (Exception e)
210 {
211 database.Reconnect();
212 MainLog.Instance.Error(e.ToString());
213 return returnlist;
214 }
215
216
217
218 }
219 else if (querysplit.Length == 1)
220 {
221
222 try
223 {
224 lock (database)
225 {
226 Dictionary<string, string> param = new Dictionary<string, string>();
227 param["?first"] = querysplit[0];
228 param["?second"] = querysplit[1];
229
230 IDbCommand result =
231 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param);
232 IDataReader reader = result.ExecuteReader();
233
234
235 while (reader.Read())
236 {
237 AvatarPickerAvatar user = new AvatarPickerAvatar();
238 user.AvatarID = new LLUUID((string)reader["UUID"]);
239 user.firstName = (string)reader["username"];
240 user.lastName = (string)reader["surname"];
241 returnlist.Add(user);
242
243 }
244 reader.Close();
245 result.Dispose();
246 }
247 }
248 catch (Exception e)
249 {
250 database.Reconnect();
251 MainLog.Instance.Error(e.ToString());
252 return returnlist;
253 }
254 }
255 return returnlist;
256 }
172 257
173 /// <summary> 258 /// <summary>
174 /// Returns a sim profile from it's UUID 259 /// Returns a sim profile from it's UUID
diff --git a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
index 8846650..3ae1fba 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
@@ -97,7 +97,6 @@ namespace OpenSim.Framework.Data.MySQL
97 97
98 reader.Close(); 98 reader.Close();
99 result.Dispose(); 99 result.Dispose();
100
101 return row; 100 return row;
102 } 101 }
103 } 102 }
@@ -108,7 +107,87 @@ namespace OpenSim.Framework.Data.MySQL
108 return null; 107 return null;
109 } 108 }
110 } 109 }
110 public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
111 {
112 List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>();
113 string[] querysplit;
114 querysplit = query.Split(' ');
115 if (querysplit.Length == 2)
116 {
117 try
118 {
119 lock (database)
120 {
121 Dictionary<string, string> param = new Dictionary<string, string>();
122 param["?first"] = querysplit[0];
123 param["?second"] = querysplit[1];
124
125 IDbCommand result =
126 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param);
127 IDataReader reader = result.ExecuteReader();
128
129
130 while (reader.Read())
131 {
132 OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar();
133 user.AvatarID = new LLUUID((string)reader["UUID"]);
134 user.firstName = (string)reader["username"];
135 user.lastName = (string)reader["surname"];
136 returnlist.Add(user);
137
138 }
139 reader.Close();
140 result.Dispose();
141 }
142 }
143 catch (Exception e)
144 {
145 database.Reconnect();
146 MainLog.Instance.Error(e.ToString());
147 return returnlist;
148 }
111 149
150
151
152 }
153 else if (querysplit.Length == 1)
154 {
155
156 try
157 {
158 lock (database)
159 {
160 Dictionary<string, string> param = new Dictionary<string, string>();
161 param["?first"] = querysplit[0];
162 param["?second"] = querysplit[1];
163
164 IDbCommand result =
165 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param);
166 IDataReader reader = result.ExecuteReader();
167
168
169 while (reader.Read())
170 {
171 OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar();
172 user.AvatarID = new LLUUID((string)reader["UUID"]);
173 user.firstName = (string)reader["username"];
174 user.lastName = (string)reader["surname"];
175 returnlist.Add(user);
176
177 }
178 reader.Close();
179 result.Dispose();
180 }
181 }
182 catch (Exception e)
183 {
184 database.Reconnect();
185 MainLog.Instance.Error(e.ToString());
186 return returnlist;
187 }
188 }
189 return returnlist;
190 }
112 /// <summary> 191 /// <summary>
113 /// Searches the database for a specified user profile by UUID 192 /// Searches the database for a specified user profile by UUID
114 /// </summary> 193 /// </summary>