aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/PGSQL/PGSQLEstateData.cs
diff options
context:
space:
mode:
authorDavid Walter Seikel2016-11-03 21:44:39 +1000
committerDavid Walter Seikel2016-11-03 21:44:39 +1000
commit134f86e8d5c414409631b25b8c6f0ee45fbd8631 (patch)
tree216b89d3fb89acfb81be1e440c25c41ab09fa96d /OpenSim/Data/PGSQL/PGSQLEstateData.cs
parentMore changing to production grid. Double oops. (diff)
downloadopensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.zip
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.gz
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.bz2
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.xz
Initial update to OpenSim 0.8.2.1 source code.
Diffstat (limited to '')
-rw-r--r--OpenSim/Data/PGSQL/PGSQLEstateData.cs (renamed from OpenSim/Data/MSSQL/MSSQLEstateData.cs)197
1 files changed, 111 insertions, 86 deletions
diff --git a/OpenSim/Data/MSSQL/MSSQLEstateData.cs b/OpenSim/Data/PGSQL/PGSQLEstateData.cs
index 1faa249..b5ca235 100644
--- a/OpenSim/Data/MSSQL/MSSQLEstateData.cs
+++ b/OpenSim/Data/PGSQL/PGSQLEstateData.cs
@@ -27,38 +27,44 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Data;
31using System.Data.SqlClient;
32using System.Reflection; 30using System.Reflection;
33using log4net; 31using log4net;
34using OpenMetaverse; 32using OpenMetaverse;
35using OpenSim.Framework; 33using OpenSim.Framework;
36using OpenSim.Region.Framework.Interfaces; 34using OpenSim.Region.Framework.Interfaces;
35using System.Data;
36using Npgsql;
37using NpgsqlTypes;
37 38
38namespace OpenSim.Data.MSSQL 39namespace OpenSim.Data.PGSQL
39{ 40{
40 public class MSSQLEstateStore : IEstateDataStore 41 public class PGSQLEstateStore : IEstateDataStore
41 { 42 {
42 private const string _migrationStore = "EstateStore"; 43 private const string _migrationStore = "EstateStore";
43 44
44 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 45 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
45 46
46 private MSSQLManager _Database; 47 private PGSQLManager _Database;
47 private string m_connectionString; 48 private string m_connectionString;
48 private FieldInfo[] _Fields; 49 private FieldInfo[] _Fields;
49 private Dictionary<string, FieldInfo> _FieldMap = new Dictionary<string, FieldInfo>(); 50 private Dictionary<string, FieldInfo> _FieldMap = new Dictionary<string, FieldInfo>();
50 51
51 #region Public methods 52 #region Public methods
52 53
53 public MSSQLEstateStore() 54 public PGSQLEstateStore()
54 { 55 {
55 } 56 }
56 57
57 public MSSQLEstateStore(string connectionString) 58 public PGSQLEstateStore(string connectionString)
58 { 59 {
59 Initialise(connectionString); 60 Initialise(connectionString);
60 } 61 }
61 62
63 protected virtual Assembly Assembly
64 {
65 get { return GetType().Assembly; }
66 }
67
62 /// <summary> 68 /// <summary>
63 /// Initialises the estatedata class. 69 /// Initialises the estatedata class.
64 /// </summary> 70 /// </summary>
@@ -68,11 +74,11 @@ namespace OpenSim.Data.MSSQL
68 if (!string.IsNullOrEmpty(connectionString)) 74 if (!string.IsNullOrEmpty(connectionString))
69 { 75 {
70 m_connectionString = connectionString; 76 m_connectionString = connectionString;
71 _Database = new MSSQLManager(connectionString); 77 _Database = new PGSQLManager(connectionString);
72 } 78 }
73 79
74 //Migration settings 80 //Migration settings
75 using (SqlConnection conn = new SqlConnection(m_connectionString)) 81 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
76 { 82 {
77 conn.Open(); 83 conn.Open();
78 Migration m = new Migration(conn, GetType().Assembly, "EstateStore"); 84 Migration m = new Migration(conn, GetType().Assembly, "EstateStore");
@@ -101,15 +107,17 @@ namespace OpenSim.Data.MSSQL
101 { 107 {
102 EstateSettings es = new EstateSettings(); 108 EstateSettings es = new EstateSettings();
103 109
104 string sql = "select estate_settings." + String.Join(",estate_settings.", FieldList) + " from estate_map left join estate_settings on estate_map.EstateID = estate_settings.EstateID where estate_settings.EstateID is not null and RegionID = @RegionID"; 110 string sql = "select estate_settings.\"" + String.Join("\",estate_settings.\"", FieldList) +
111 "\" from estate_map left join estate_settings on estate_map.\"EstateID\" = estate_settings.\"EstateID\" " +
112 " where estate_settings.\"EstateID\" is not null and \"RegionID\" = :RegionID";
105 113
106 bool insertEstate = false; 114 bool insertEstate = false;
107 using (SqlConnection conn = new SqlConnection(m_connectionString)) 115 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
108 using (SqlCommand cmd = new SqlCommand(sql, conn)) 116 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
109 { 117 {
110 cmd.Parameters.Add(_Database.CreateParameter("@RegionID", regionID)); 118 cmd.Parameters.Add(_Database.CreateParameter("RegionID", regionID));
111 conn.Open(); 119 conn.Open();
112 using (SqlDataReader reader = cmd.ExecuteReader()) 120 using (NpgsqlDataReader reader = cmd.ExecuteReader())
113 { 121 {
114 if (reader.Read()) 122 if (reader.Read())
115 { 123 {
@@ -119,11 +127,15 @@ namespace OpenSim.Data.MSSQL
119 object v = reader[name]; 127 object v = reader[name];
120 if (f.FieldType == typeof(bool)) 128 if (f.FieldType == typeof(bool))
121 { 129 {
122 f.SetValue(es, Convert.ToInt32(v) != 0); 130 f.SetValue(es, v);
123 } 131 }
124 else if (f.FieldType == typeof(UUID)) 132 else if (f.FieldType == typeof(UUID))
125 { 133 {
126 f.SetValue(es, new UUID((Guid)v)); // uuid); 134 UUID estUUID = UUID.Zero;
135
136 UUID.TryParse(v.ToString(), out estUUID);
137
138 f.SetValue(es, estUUID);
127 } 139 }
128 else if (f.FieldType == typeof(string)) 140 else if (f.FieldType == typeof(string))
129 { 141 {
@@ -187,25 +199,37 @@ namespace OpenSim.Data.MSSQL
187 199
188 names.Remove("EstateID"); 200 names.Remove("EstateID");
189 201
190 string sql = string.Format("insert into estate_settings ({0}) values ( @{1})", String.Join(",", names.ToArray()), String.Join(", @", names.ToArray())); 202 string sql = string.Format("insert into estate_settings (\"{0}\") values ( :{1} )", String.Join("\",\"", names.ToArray()), String.Join(", :", names.ToArray()));
191 203
192 //_Log.Debug("[DB ESTATE]: SQL: " + sql); 204 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
193 using (SqlConnection conn = new SqlConnection(m_connectionString)) 205 using (NpgsqlCommand insertCommand = new NpgsqlCommand(sql, conn))
194 using (SqlCommand insertCommand = new SqlCommand(sql, conn))
195 { 206 {
196 insertCommand.CommandText = sql + " SET @ID = SCOPE_IDENTITY()"; 207 insertCommand.CommandText = sql;
197 208
198 foreach (string name in names) 209 foreach (string name in names)
199 { 210 {
200 insertCommand.Parameters.Add(_Database.CreateParameter("@" + name, _FieldMap[name].GetValue(es))); 211 insertCommand.Parameters.Add(_Database.CreateParameter("" + name, _FieldMap[name].GetValue(es)));
201 } 212 }
202 SqlParameter idParameter = new SqlParameter("@ID", SqlDbType.Int); 213 //NpgsqlParameter idParameter = new NpgsqlParameter("ID", SqlDbType.Int);
203 idParameter.Direction = ParameterDirection.Output; 214 //idParameter.Direction = ParameterDirection.Output;
204 insertCommand.Parameters.Add(idParameter); 215 //insertCommand.Parameters.Add(idParameter);
205 conn.Open(); 216 conn.Open();
206 insertCommand.ExecuteNonQuery();
207 217
208 es.EstateID = Convert.ToUInt32(idParameter.Value); 218 es.EstateID = 100;
219
220 if (insertCommand.ExecuteNonQuery() > 0)
221 {
222 insertCommand.CommandText = "Select cast(lastval() as int) as ID ;";
223
224 using (NpgsqlDataReader result = insertCommand.ExecuteReader())
225 {
226 if (result.Read())
227 {
228 es.EstateID = (uint)result.GetInt32(0);
229 }
230 }
231 }
232
209 } 233 }
210 234
211 //TODO check if this is needed?? 235 //TODO check if this is needed??
@@ -225,20 +249,20 @@ namespace OpenSim.Data.MSSQL
225 string sql = string.Format("UPDATE estate_settings SET "); 249 string sql = string.Format("UPDATE estate_settings SET ");
226 foreach (string name in names) 250 foreach (string name in names)
227 { 251 {
228 sql += name + " = @" + name + ", "; 252 sql += "\"" + name + "\" = :" + name + ", ";
229 } 253 }
230 sql = sql.Remove(sql.LastIndexOf(",")); 254 sql = sql.Remove(sql.LastIndexOf(","));
231 sql += " WHERE EstateID = @EstateID"; 255 sql += " WHERE \"EstateID\" = :EstateID";
232 256
233 using (SqlConnection conn = new SqlConnection(m_connectionString)) 257 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
234 using (SqlCommand cmd = new SqlCommand(sql, conn)) 258 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
235 { 259 {
236 foreach (string name in names) 260 foreach (string name in names)
237 { 261 {
238 cmd.Parameters.Add(_Database.CreateParameter("@" + name, _FieldMap[name].GetValue(es))); 262 cmd.Parameters.Add(_Database.CreateParameter("" + name, _FieldMap[name].GetValue(es)));
239 } 263 }
240 264
241 cmd.Parameters.Add(_Database.CreateParameter("@EstateID", es.EstateID)); 265 cmd.Parameters.Add(_Database.CreateParameter("EstateID", es.EstateID));
242 conn.Open(); 266 conn.Open();
243 cmd.ExecuteNonQuery(); 267 cmd.ExecuteNonQuery();
244 } 268 }
@@ -262,16 +286,16 @@ namespace OpenSim.Data.MSSQL
262 { 286 {
263 es.ClearBans(); 287 es.ClearBans();
264 288
265 string sql = "select bannedUUID from estateban where EstateID = @EstateID"; 289 string sql = "select \"bannedUUID\" from estateban where \"EstateID\" = :EstateID";
266 290
267 using (SqlConnection conn = new SqlConnection(m_connectionString)) 291 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
268 using (SqlCommand cmd = new SqlCommand(sql, conn)) 292 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
269 { 293 {
270 SqlParameter idParameter = new SqlParameter("@EstateID", SqlDbType.Int); 294 NpgsqlParameter idParameter = new NpgsqlParameter("EstateID", DbType.Int32);
271 idParameter.Value = es.EstateID; 295 idParameter.Value = es.EstateID;
272 cmd.Parameters.Add(idParameter); 296 cmd.Parameters.Add(idParameter);
273 conn.Open(); 297 conn.Open();
274 using (SqlDataReader reader = cmd.ExecuteReader()) 298 using (NpgsqlDataReader reader = cmd.ExecuteReader())
275 { 299 {
276 while (reader.Read()) 300 while (reader.Read())
277 { 301 {
@@ -290,14 +314,14 @@ namespace OpenSim.Data.MSSQL
290 { 314 {
291 List<UUID> uuids = new List<UUID>(); 315 List<UUID> uuids = new List<UUID>();
292 316
293 string sql = string.Format("select uuid from {0} where EstateID = @EstateID", table); 317 string sql = string.Format("select uuid from {0} where \"EstateID\" = :EstateID", table);
294 318
295 using (SqlConnection conn = new SqlConnection(m_connectionString)) 319 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
296 using (SqlCommand cmd = new SqlCommand(sql, conn)) 320 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
297 { 321 {
298 cmd.Parameters.Add(_Database.CreateParameter("@EstateID", estateID)); 322 cmd.Parameters.Add(_Database.CreateParameter("EstateID", estateID));
299 conn.Open(); 323 conn.Open();
300 using (SqlDataReader reader = cmd.ExecuteReader()) 324 using (NpgsqlDataReader reader = cmd.ExecuteReader())
301 { 325 {
302 while (reader.Read()) 326 while (reader.Read())
303 { 327 {
@@ -312,21 +336,21 @@ namespace OpenSim.Data.MSSQL
312 private void SaveBanList(EstateSettings es) 336 private void SaveBanList(EstateSettings es)
313 { 337 {
314 //Delete first 338 //Delete first
315 using (SqlConnection conn = new SqlConnection(m_connectionString)) 339 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
316 { 340 {
317 conn.Open(); 341 conn.Open();
318 using (SqlCommand cmd = conn.CreateCommand()) 342 using (NpgsqlCommand cmd = conn.CreateCommand())
319 { 343 {
320 cmd.CommandText = "delete from estateban where EstateID = @EstateID"; 344 cmd.CommandText = "delete from estateban where \"EstateID\" = :EstateID";
321 cmd.Parameters.AddWithValue("@EstateID", (int)es.EstateID); 345 cmd.Parameters.AddWithValue("EstateID", (int)es.EstateID);
322 cmd.ExecuteNonQuery(); 346 cmd.ExecuteNonQuery();
323 347
324 //Insert after 348 //Insert after
325 cmd.CommandText = "insert into estateban (EstateID, bannedUUID,bannedIp, bannedIpHostMask, bannedNameMask) values ( @EstateID, @bannedUUID, '','','' )"; 349 cmd.CommandText = "insert into estateban (\"EstateID\", \"bannedUUID\",\"bannedIp\", \"bannedIpHostMask\", \"bannedNameMask\") values ( :EstateID, :bannedUUID, '','','' )";
326 cmd.Parameters.AddWithValue("@bannedUUID", Guid.Empty); 350 cmd.Parameters.AddWithValue("bannedUUID", Guid.Empty);
327 foreach (EstateBan b in es.EstateBans) 351 foreach (EstateBan b in es.EstateBans)
328 { 352 {
329 cmd.Parameters["@bannedUUID"].Value = b.BannedUserID.Guid; 353 cmd.Parameters["bannedUUID"].Value = b.BannedUserID.Guid;
330 cmd.ExecuteNonQuery(); 354 cmd.ExecuteNonQuery();
331 } 355 }
332 } 356 }
@@ -335,20 +359,20 @@ namespace OpenSim.Data.MSSQL
335 359
336 private void SaveUUIDList(uint estateID, string table, UUID[] data) 360 private void SaveUUIDList(uint estateID, string table, UUID[] data)
337 { 361 {
338 using (SqlConnection conn = new SqlConnection(m_connectionString)) 362 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
339 { 363 {
340 conn.Open(); 364 conn.Open();
341 using (SqlCommand cmd = conn.CreateCommand()) 365 using (NpgsqlCommand cmd = conn.CreateCommand())
342 { 366 {
343 cmd.Parameters.AddWithValue("@EstateID", (int)estateID); 367 cmd.Parameters.AddWithValue("EstateID", (int)estateID);
344 cmd.CommandText = string.Format("delete from {0} where EstateID = @EstateID", table); 368 cmd.CommandText = string.Format("delete from {0} where \"EstateID\" = :EstateID", table);
345 cmd.ExecuteNonQuery(); 369 cmd.ExecuteNonQuery();
346 370
347 cmd.CommandText = string.Format("insert into {0} (EstateID, uuid) values ( @EstateID, @uuid )", table); 371 cmd.CommandText = string.Format("insert into {0} (\"EstateID\", uuid) values ( :EstateID, :uuid )", table);
348 cmd.Parameters.AddWithValue("@uuid", Guid.Empty); 372 cmd.Parameters.AddWithValue("uuid", Guid.Empty);
349 foreach (UUID uuid in data) 373 foreach (UUID uuid in data)
350 { 374 {
351 cmd.Parameters["@uuid"].Value = uuid.Guid; //.ToString(); //TODO check if this works 375 cmd.Parameters["uuid"].Value = uuid.Guid; //.ToString(); //TODO check if this works
352 cmd.ExecuteNonQuery(); 376 cmd.ExecuteNonQuery();
353 } 377 }
354 } 378 }
@@ -358,14 +382,14 @@ namespace OpenSim.Data.MSSQL
358 public EstateSettings LoadEstateSettings(int estateID) 382 public EstateSettings LoadEstateSettings(int estateID)
359 { 383 {
360 EstateSettings es = new EstateSettings(); 384 EstateSettings es = new EstateSettings();
361 string sql = "select estate_settings." + String.Join(",estate_settings.", FieldList) + " from estate_settings where EstateID = @EstateID"; 385 string sql = "select estate_settings.\"" + String.Join("\",estate_settings.\"", FieldList) + "\" from estate_settings where \"EstateID\" = :EstateID";
362 using (SqlConnection conn = new SqlConnection(m_connectionString)) 386 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
363 { 387 {
364 conn.Open(); 388 conn.Open();
365 using (SqlCommand cmd = new SqlCommand(sql, conn)) 389 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
366 { 390 {
367 cmd.Parameters.AddWithValue("@EstateID", (int)estateID); 391 cmd.Parameters.AddWithValue("EstateID", (int)estateID);
368 using (SqlDataReader reader = cmd.ExecuteReader()) 392 using (NpgsqlDataReader reader = cmd.ExecuteReader())
369 { 393 {
370 if (reader.Read()) 394 if (reader.Read())
371 { 395 {
@@ -428,13 +452,13 @@ namespace OpenSim.Data.MSSQL
428 public List<int> GetEstates(string search) 452 public List<int> GetEstates(string search)
429 { 453 {
430 List<int> result = new List<int>(); 454 List<int> result = new List<int>();
431 string sql = "select estateID from estate_settings where EstateName = @EstateName"; 455 string sql = "select \"EstateID\" from estate_settings where lower(\"EstateName\") = lower(:EstateName)";
432 using (SqlConnection conn = new SqlConnection(m_connectionString)) 456 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
433 { 457 {
434 conn.Open(); 458 conn.Open();
435 using (SqlCommand cmd = new SqlCommand(sql, conn)) 459 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
436 { 460 {
437 cmd.Parameters.AddWithValue("@EstateName", search); 461 cmd.Parameters.AddWithValue("EstateName", search);
438 462
439 using (IDataReader reader = cmd.ExecuteReader()) 463 using (IDataReader reader = cmd.ExecuteReader())
440 { 464 {
@@ -453,11 +477,11 @@ namespace OpenSim.Data.MSSQL
453 public List<int> GetEstatesAll() 477 public List<int> GetEstatesAll()
454 { 478 {
455 List<int> result = new List<int>(); 479 List<int> result = new List<int>();
456 string sql = "select estateID from estate_settings"; 480 string sql = "select \"EstateID\" from estate_settings";
457 using (SqlConnection conn = new SqlConnection(m_connectionString)) 481 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
458 { 482 {
459 conn.Open(); 483 conn.Open();
460 using (SqlCommand cmd = new SqlCommand(sql, conn)) 484 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
461 { 485 {
462 using (IDataReader reader = cmd.ExecuteReader()) 486 using (IDataReader reader = cmd.ExecuteReader())
463 { 487 {
@@ -476,13 +500,13 @@ namespace OpenSim.Data.MSSQL
476 public List<int> GetEstatesByOwner(UUID ownerID) 500 public List<int> GetEstatesByOwner(UUID ownerID)
477 { 501 {
478 List<int> result = new List<int>(); 502 List<int> result = new List<int>();
479 string sql = "select estateID from estate_settings where EstateOwner = @EstateOwner"; 503 string sql = "select \"EstateID\" from estate_settings where \"EstateOwner\" = :EstateOwner";
480 using (SqlConnection conn = new SqlConnection(m_connectionString)) 504 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
481 { 505 {
482 conn.Open(); 506 conn.Open();
483 using (SqlCommand cmd = new SqlCommand(sql, conn)) 507 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
484 { 508 {
485 cmd.Parameters.AddWithValue("@EstateOwner", ownerID); 509 cmd.Parameters.AddWithValue("EstateOwner", ownerID);
486 510
487 using (IDataReader reader = cmd.ExecuteReader()) 511 using (IDataReader reader = cmd.ExecuteReader())
488 { 512 {
@@ -500,28 +524,29 @@ namespace OpenSim.Data.MSSQL
500 524
501 public bool LinkRegion(UUID regionID, int estateID) 525 public bool LinkRegion(UUID regionID, int estateID)
502 { 526 {
503 string deleteSQL = "delete from estate_map where RegionID = @RegionID"; 527 string deleteSQL = "delete from estate_map where \"RegionID\" = :RegionID";
504 string insertSQL = "insert into estate_map values (@RegionID, @EstateID)"; 528 string insertSQL = "insert into estate_map values (:RegionID, :EstateID)";
505 using (SqlConnection conn = new SqlConnection(m_connectionString)) 529 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
506 { 530 {
507 conn.Open(); 531 conn.Open();
508 SqlTransaction transaction = conn.BeginTransaction(); 532
533 NpgsqlTransaction transaction = conn.BeginTransaction();
509 534
510 try 535 try
511 { 536 {
512 using (SqlCommand cmd = new SqlCommand(deleteSQL, conn)) 537 using (NpgsqlCommand cmd = new NpgsqlCommand(deleteSQL, conn))
513 { 538 {
514 cmd.Transaction = transaction; 539 cmd.Transaction = transaction;
515 cmd.Parameters.AddWithValue("@RegionID", regionID.Guid); 540 cmd.Parameters.AddWithValue("RegionID", regionID.Guid);
516 541
517 cmd.ExecuteNonQuery(); 542 cmd.ExecuteNonQuery();
518 } 543 }
519 544
520 using (SqlCommand cmd = new SqlCommand(insertSQL, conn)) 545 using (NpgsqlCommand cmd = new NpgsqlCommand(insertSQL, conn))
521 { 546 {
522 cmd.Transaction = transaction; 547 cmd.Transaction = transaction;
523 cmd.Parameters.AddWithValue("@RegionID", regionID.Guid); 548 cmd.Parameters.AddWithValue("RegionID", regionID.Guid);
524 cmd.Parameters.AddWithValue("@EstateID", estateID); 549 cmd.Parameters.AddWithValue("EstateID", estateID);
525 550
526 int ret = cmd.ExecuteNonQuery(); 551 int ret = cmd.ExecuteNonQuery();
527 552
@@ -545,13 +570,13 @@ namespace OpenSim.Data.MSSQL
545 public List<UUID> GetRegions(int estateID) 570 public List<UUID> GetRegions(int estateID)
546 { 571 {
547 List<UUID> result = new List<UUID>(); 572 List<UUID> result = new List<UUID>();
548 string sql = "select RegionID from estate_map where EstateID = @EstateID"; 573 string sql = "select \"RegionID\" from estate_map where \"EstateID\" = :EstateID";
549 using (SqlConnection conn = new SqlConnection(m_connectionString)) 574 using (NpgsqlConnection conn = new NpgsqlConnection(m_connectionString))
550 { 575 {
551 conn.Open(); 576 conn.Open();
552 using (SqlCommand cmd = new SqlCommand(sql, conn)) 577 using (NpgsqlCommand cmd = new NpgsqlCommand(sql, conn))
553 { 578 {
554 cmd.Parameters.AddWithValue("@EstateID", estateID); 579 cmd.Parameters.AddWithValue("EstateID", estateID);
555 580
556 using (IDataReader reader = cmd.ExecuteReader()) 581 using (IDataReader reader = cmd.ExecuteReader())
557 { 582 {