diff options
Diffstat (limited to 'OpenSim/Framework/Data.MySQL')
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLAssetData.cs | 14 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLDataStore.cs | 404 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLGridData.cs | 49 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs | 4 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLLogData.cs | 2 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLUserData.cs | 53 |
7 files changed, 269 insertions, 259 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs b/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs index 19ae115..b20c54e 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs | |||
@@ -83,13 +83,13 @@ namespace OpenSim.Framework.Data.MySQL | |||
83 | if (dbReader.Read()) | 83 | if (dbReader.Read()) |
84 | { | 84 | { |
85 | asset = new AssetBase(); | 85 | asset = new AssetBase(); |
86 | asset.Data = (byte[])dbReader["data"]; | 86 | asset.Data = (byte[]) dbReader["data"]; |
87 | asset.Description = (string)dbReader["description"]; | 87 | asset.Description = (string) dbReader["description"]; |
88 | asset.FullID = assetID; | 88 | asset.FullID = assetID; |
89 | asset.InvType = (sbyte)dbReader["invType"]; | 89 | asset.InvType = (sbyte) dbReader["invType"]; |
90 | asset.Local = ((sbyte)dbReader["local"]) != 0 ? true : false; | 90 | asset.Local = ((sbyte) dbReader["local"]) != 0 ? true : false; |
91 | asset.Name = (string)dbReader["name"]; | 91 | asset.Name = (string) dbReader["name"]; |
92 | asset.Type = (sbyte)dbReader["assetType"]; | 92 | asset.Type = (sbyte) dbReader["assetType"]; |
93 | } | 93 | } |
94 | dbReader.Close(); | 94 | dbReader.Close(); |
95 | cmd.Dispose(); | 95 | cmd.Dispose(); |
@@ -98,7 +98,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
98 | catch (Exception) | 98 | catch (Exception) |
99 | { | 99 | { |
100 | MainLog.Instance.Warn("ASSETS", "MySql failure fetching asset"); | 100 | MainLog.Instance.Warn("ASSETS", "MySql failure fetching asset"); |
101 | } | 101 | } |
102 | } | 102 | } |
103 | return asset; | 103 | return asset; |
104 | } | 104 | } |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs index c48c88f..fcf8c6f 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs | |||
@@ -31,15 +31,12 @@ using System.Collections.Generic; | |||
31 | using System.Data; | 31 | using System.Data; |
32 | using System.Diagnostics; | 32 | using System.Diagnostics; |
33 | using System.IO; | 33 | using System.IO; |
34 | using System.Text; | ||
35 | using libsecondlife; | 34 | using libsecondlife; |
36 | using MySql.Data.MySqlClient; | 35 | using MySql.Data.MySqlClient; |
37 | using OpenSim.Framework.Console; | 36 | using OpenSim.Framework.Console; |
38 | using OpenSim.Region.Environment.Interfaces; | 37 | using OpenSim.Region.Environment.Interfaces; |
39 | using OpenSim.Region.Environment.LandManagement; | 38 | using OpenSim.Region.Environment.LandManagement; |
40 | using OpenSim.Region.Environment.Scenes; | 39 | using OpenSim.Region.Environment.Scenes; |
41 | using System.Data.SqlClient; | ||
42 | using System.Data.Common; | ||
43 | 40 | ||
44 | namespace OpenSim.Framework.Data.MySQL | 41 | namespace OpenSim.Framework.Data.MySQL |
45 | { | 42 | { |
@@ -130,7 +127,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
130 | { | 127 | { |
131 | foreach (SceneObjectPart prim in obj.Children.Values) | 128 | foreach (SceneObjectPart prim in obj.Children.Values) |
132 | { | 129 | { |
133 | if ((prim.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) == 0) | 130 | if ((prim.ObjectFlags & (uint) LLObject.ObjectFlags.Physics) == 0) |
134 | { | 131 | { |
135 | MainLog.Instance.Verbose("DATASTORE", "Adding obj: " + obj.UUID + " to region: " + regionUUID); | 132 | MainLog.Instance.Verbose("DATASTORE", "Adding obj: " + obj.UUID + " to region: " + regionUUID); |
136 | addPrim(prim, obj.UUID, regionUUID); | 133 | addPrim(prim, obj.UUID, regionUUID); |
@@ -156,7 +153,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
156 | DataRow[] primRows = prims.Select(selectExp); | 153 | DataRow[] primRows = prims.Select(selectExp); |
157 | foreach (DataRow row in primRows) | 154 | foreach (DataRow row in primRows) |
158 | { | 155 | { |
159 | LLUUID uuid = new LLUUID((string)row["UUID"]); | 156 | LLUUID uuid = new LLUUID((string) row["UUID"]); |
160 | DataRow shapeRow = shapes.Rows.Find(Util.ToRawUuidString(uuid)); | 157 | DataRow shapeRow = shapes.Rows.Find(Util.ToRawUuidString(uuid)); |
161 | if (shapeRow != null) | 158 | if (shapeRow != null) |
162 | { | 159 | { |
@@ -191,8 +188,8 @@ namespace OpenSim.Framework.Data.MySQL | |||
191 | { | 188 | { |
192 | try | 189 | try |
193 | { | 190 | { |
194 | string uuid = (string)primRow["UUID"]; | 191 | string uuid = (string) primRow["UUID"]; |
195 | string objID = (string)primRow["SceneGroupID"]; | 192 | string objID = (string) primRow["SceneGroupID"]; |
196 | if (uuid == objID) //is new SceneObjectGroup ? | 193 | if (uuid == objID) //is new SceneObjectGroup ? |
197 | { | 194 | { |
198 | SceneObjectGroup group = new SceneObjectGroup(); | 195 | SceneObjectGroup group = new SceneObjectGroup(); |
@@ -255,10 +252,9 @@ namespace OpenSim.Framework.Data.MySQL | |||
255 | lock (m_dataSet) | 252 | lock (m_dataSet) |
256 | { | 253 | { |
257 | MySqlCommand cmd = new MySqlCommand("insert into terrain(RegionUUID, Revision, Heightfield)" + | 254 | MySqlCommand cmd = new MySqlCommand("insert into terrain(RegionUUID, Revision, Heightfield)" + |
258 | " values(?RegionUUID, ?Revision, ?Heightfield)", m_connection); | 255 | " values(?RegionUUID, ?Revision, ?Heightfield)", m_connection); |
259 | using (cmd) | 256 | using (cmd) |
260 | { | 257 | { |
261 | |||
262 | cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID))); | 258 | cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID))); |
263 | cmd.Parameters.Add(new MySqlParameter("?Revision", revision)); | 259 | cmd.Parameters.Add(new MySqlParameter("?Revision", revision)); |
264 | cmd.Parameters.Add(new MySqlParameter("?Heightfield", serializeTerrain(ter))); | 260 | cmd.Parameters.Add(new MySqlParameter("?Heightfield", serializeTerrain(ter))); |
@@ -269,7 +265,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
269 | 265 | ||
270 | public double[,] LoadTerrain(LLUUID regionID) | 266 | public double[,] LoadTerrain(LLUUID regionID) |
271 | { | 267 | { |
272 | double[,] terret = new double[256, 256]; | 268 | double[,] terret = new double[256,256]; |
273 | terret.Initialize(); | 269 | terret.Initialize(); |
274 | 270 | ||
275 | MySqlCommand cmd = new MySqlCommand( | 271 | MySqlCommand cmd = new MySqlCommand( |
@@ -278,7 +274,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
278 | , m_connection); | 274 | , m_connection); |
279 | 275 | ||
280 | MySqlParameter param = new MySqlParameter(); | 276 | MySqlParameter param = new MySqlParameter(); |
281 | cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID))); | 277 | cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID))); |
282 | 278 | ||
283 | if (m_connection.State != ConnectionState.Open) | 279 | if (m_connection.State != ConnectionState.Open) |
284 | { | 280 | { |
@@ -290,15 +286,15 @@ namespace OpenSim.Framework.Data.MySQL | |||
290 | int rev = 0; | 286 | int rev = 0; |
291 | if (row.Read()) | 287 | if (row.Read()) |
292 | { | 288 | { |
293 | byte[] heightmap = (byte[])row["Heightfield"]; | 289 | byte[] heightmap = (byte[]) row["Heightfield"]; |
294 | for (int x = 0; x < 256; x++) | 290 | for (int x = 0; x < 256; x++) |
295 | { | 291 | { |
296 | for (int y = 0; y < 256; y++) | 292 | for (int y = 0; y < 256; y++) |
297 | { | 293 | { |
298 | terret[x, y] = BitConverter.ToDouble(heightmap, ((x * 256) + y) * 8); | 294 | terret[x, y] = BitConverter.ToDouble(heightmap, ((x*256) + y)*8); |
299 | } | 295 | } |
300 | } | 296 | } |
301 | rev = (int)row["Revision"]; | 297 | rev = (int) row["Revision"]; |
302 | } | 298 | } |
303 | else | 299 | else |
304 | { | 300 | { |
@@ -322,7 +318,9 @@ namespace OpenSim.Framework.Data.MySQL | |||
322 | cmd.ExecuteNonQuery(); | 318 | cmd.ExecuteNonQuery(); |
323 | } | 319 | } |
324 | 320 | ||
325 | using (MySqlCommand cmd = new MySqlCommand("delete from landaccesslist where LandUUID=?UUID", m_connection)) | 321 | using ( |
322 | MySqlCommand cmd = new MySqlCommand("delete from landaccesslist where LandUUID=?UUID", m_connection) | ||
323 | ) | ||
326 | { | 324 | { |
327 | cmd.Parameters.Add(new MySqlParameter("?UUID", Util.ToRawUuidString(globalID))); | 325 | cmd.Parameters.Add(new MySqlParameter("?UUID", Util.ToRawUuidString(globalID))); |
328 | cmd.ExecuteNonQuery(); | 326 | cmd.ExecuteNonQuery(); |
@@ -336,7 +334,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
336 | { | 334 | { |
337 | DataTable land = m_landTable; | 335 | DataTable land = m_landTable; |
338 | DataTable landaccesslist = m_landAccessListTable; | 336 | DataTable landaccesslist = m_landAccessListTable; |
339 | 337 | ||
340 | DataRow landRow = land.Rows.Find(Util.ToRawUuidString(parcel.landData.globalID)); | 338 | DataRow landRow = land.Rows.Find(Util.ToRawUuidString(parcel.landData.globalID)); |
341 | if (landRow == null) | 339 | if (landRow == null) |
342 | { | 340 | { |
@@ -349,7 +347,9 @@ namespace OpenSim.Framework.Data.MySQL | |||
349 | fillLandRow(landRow, parcel.landData, regionUUID); | 347 | fillLandRow(landRow, parcel.landData, regionUUID); |
350 | } | 348 | } |
351 | 349 | ||
352 | using (MySqlCommand cmd = new MySqlCommand("delete from landaccesslist where LandUUID=?LandUUID", m_connection)) | 350 | using ( |
351 | MySqlCommand cmd = | ||
352 | new MySqlCommand("delete from landaccesslist where LandUUID=?LandUUID", m_connection)) | ||
353 | { | 353 | { |
354 | cmd.Parameters.Add(new MySqlParameter("?LandUUID", Util.ToRawUuidString(parcel.landData.globalID))); | 354 | cmd.Parameters.Add(new MySqlParameter("?LandUUID", Util.ToRawUuidString(parcel.landData.globalID))); |
355 | cmd.ExecuteNonQuery(); | 355 | cmd.ExecuteNonQuery(); |
@@ -361,13 +361,12 @@ namespace OpenSim.Framework.Data.MySQL | |||
361 | fillLandAccessRow(newAccessRow, entry, parcel.landData.globalID); | 361 | fillLandAccessRow(newAccessRow, entry, parcel.landData.globalID); |
362 | landaccesslist.Rows.Add(newAccessRow); | 362 | landaccesslist.Rows.Add(newAccessRow); |
363 | } | 363 | } |
364 | |||
365 | } | 364 | } |
366 | 365 | ||
367 | Commit(); | 366 | Commit(); |
368 | } | 367 | } |
369 | 368 | ||
370 | public List<Framework.LandData> LoadLandObjects(LLUUID regionUUID) | 369 | public List<LandData> LoadLandObjects(LLUUID regionUUID) |
371 | { | 370 | { |
372 | List<LandData> landDataForRegion = new List<LandData>(); | 371 | List<LandData> landDataForRegion = new List<LandData>(); |
373 | lock (m_dataSet) | 372 | lock (m_dataSet) |
@@ -403,7 +402,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
403 | foreach (DataRow row in table.Rows) | 402 | foreach (DataRow row in table.Rows) |
404 | { | 403 | { |
405 | //--- Display the original values, if there are any. | 404 | //--- Display the original values, if there are any. |
406 | if (row.HasVersion(System.Data.DataRowVersion.Original)) | 405 | if (row.HasVersion(DataRowVersion.Original)) |
407 | { | 406 | { |
408 | Debug.Write("Original Row Values ===> "); | 407 | Debug.Write("Original Row Values ===> "); |
409 | foreach (DataColumn column in table.Columns) | 408 | foreach (DataColumn column in table.Columns) |
@@ -412,7 +411,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
412 | Debug.WriteLine(""); | 411 | Debug.WriteLine(""); |
413 | } | 412 | } |
414 | //--- Display the current values, if there are any. | 413 | //--- Display the current values, if there are any. |
415 | if (row.HasVersion(System.Data.DataRowVersion.Current)) | 414 | if (row.HasVersion(DataRowVersion.Current)) |
416 | { | 415 | { |
417 | Debug.Write("Current Row Values ====> "); | 416 | Debug.Write("Current Row Values ====> "); |
418 | foreach (DataColumn column in table.Columns) | 417 | foreach (DataColumn column in table.Columns) |
@@ -470,9 +469,9 @@ namespace OpenSim.Framework.Data.MySQL | |||
470 | { | 469 | { |
471 | DataTable terrain = new DataTable("terrain"); | 470 | DataTable terrain = new DataTable("terrain"); |
472 | 471 | ||
473 | createCol(terrain, "RegionUUID", typeof(String)); | 472 | createCol(terrain, "RegionUUID", typeof (String)); |
474 | createCol(terrain, "Revision", typeof(Int32)); | 473 | createCol(terrain, "Revision", typeof (Int32)); |
475 | DataColumn heightField = createCol(terrain, "Heightfield", typeof(Byte[])); | 474 | DataColumn heightField = createCol(terrain, "Heightfield", typeof (Byte[])); |
476 | return terrain; | 475 | return terrain; |
477 | } | 476 | } |
478 | 477 | ||
@@ -480,62 +479,62 @@ namespace OpenSim.Framework.Data.MySQL | |||
480 | { | 479 | { |
481 | DataTable prims = new DataTable("prims"); | 480 | DataTable prims = new DataTable("prims"); |
482 | 481 | ||
483 | createCol(prims, "UUID", typeof(String)); | 482 | createCol(prims, "UUID", typeof (String)); |
484 | createCol(prims, "RegionUUID", typeof(String)); | 483 | createCol(prims, "RegionUUID", typeof (String)); |
485 | createCol(prims, "ParentID", typeof(Int32)); | 484 | createCol(prims, "ParentID", typeof (Int32)); |
486 | createCol(prims, "CreationDate", typeof(Int32)); | 485 | createCol(prims, "CreationDate", typeof (Int32)); |
487 | createCol(prims, "Name", typeof(String)); | 486 | createCol(prims, "Name", typeof (String)); |
488 | createCol(prims, "SceneGroupID", typeof(String)); | 487 | createCol(prims, "SceneGroupID", typeof (String)); |
489 | // various text fields | 488 | // various text fields |
490 | createCol(prims, "Text", typeof(String)); | 489 | createCol(prims, "Text", typeof (String)); |
491 | createCol(prims, "Description", typeof(String)); | 490 | createCol(prims, "Description", typeof (String)); |
492 | createCol(prims, "SitName", typeof(String)); | 491 | createCol(prims, "SitName", typeof (String)); |
493 | createCol(prims, "TouchName", typeof(String)); | 492 | createCol(prims, "TouchName", typeof (String)); |
494 | // permissions | 493 | // permissions |
495 | createCol(prims, "ObjectFlags", typeof(Int32)); | 494 | createCol(prims, "ObjectFlags", typeof (Int32)); |
496 | createCol(prims, "CreatorID", typeof(String)); | 495 | createCol(prims, "CreatorID", typeof (String)); |
497 | createCol(prims, "OwnerID", typeof(String)); | 496 | createCol(prims, "OwnerID", typeof (String)); |
498 | createCol(prims, "GroupID", typeof(String)); | 497 | createCol(prims, "GroupID", typeof (String)); |
499 | createCol(prims, "LastOwnerID", typeof(String)); | 498 | createCol(prims, "LastOwnerID", typeof (String)); |
500 | createCol(prims, "OwnerMask", typeof(Int32)); | 499 | createCol(prims, "OwnerMask", typeof (Int32)); |
501 | createCol(prims, "NextOwnerMask", typeof(Int32)); | 500 | createCol(prims, "NextOwnerMask", typeof (Int32)); |
502 | createCol(prims, "GroupMask", typeof(Int32)); | 501 | createCol(prims, "GroupMask", typeof (Int32)); |
503 | createCol(prims, "EveryoneMask", typeof(Int32)); | 502 | createCol(prims, "EveryoneMask", typeof (Int32)); |
504 | createCol(prims, "BaseMask", typeof(Int32)); | 503 | createCol(prims, "BaseMask", typeof (Int32)); |
505 | // vectors | 504 | // vectors |
506 | createCol(prims, "PositionX", typeof(Double)); | 505 | createCol(prims, "PositionX", typeof (Double)); |
507 | createCol(prims, "PositionY", typeof(Double)); | 506 | createCol(prims, "PositionY", typeof (Double)); |
508 | createCol(prims, "PositionZ", typeof(Double)); | 507 | createCol(prims, "PositionZ", typeof (Double)); |
509 | createCol(prims, "GroupPositionX", typeof(Double)); | 508 | createCol(prims, "GroupPositionX", typeof (Double)); |
510 | createCol(prims, "GroupPositionY", typeof(Double)); | 509 | createCol(prims, "GroupPositionY", typeof (Double)); |
511 | createCol(prims, "GroupPositionZ", typeof(Double)); | 510 | createCol(prims, "GroupPositionZ", typeof (Double)); |
512 | createCol(prims, "VelocityX", typeof(Double)); | 511 | createCol(prims, "VelocityX", typeof (Double)); |
513 | createCol(prims, "VelocityY", typeof(Double)); | 512 | createCol(prims, "VelocityY", typeof (Double)); |
514 | createCol(prims, "VelocityZ", typeof(Double)); | 513 | createCol(prims, "VelocityZ", typeof (Double)); |
515 | createCol(prims, "AngularVelocityX", typeof(Double)); | 514 | createCol(prims, "AngularVelocityX", typeof (Double)); |
516 | createCol(prims, "AngularVelocityY", typeof(Double)); | 515 | createCol(prims, "AngularVelocityY", typeof (Double)); |
517 | createCol(prims, "AngularVelocityZ", typeof(Double)); | 516 | createCol(prims, "AngularVelocityZ", typeof (Double)); |
518 | createCol(prims, "AccelerationX", typeof(Double)); | 517 | createCol(prims, "AccelerationX", typeof (Double)); |
519 | createCol(prims, "AccelerationY", typeof(Double)); | 518 | createCol(prims, "AccelerationY", typeof (Double)); |
520 | createCol(prims, "AccelerationZ", typeof(Double)); | 519 | createCol(prims, "AccelerationZ", typeof (Double)); |
521 | // quaternions | 520 | // quaternions |
522 | createCol(prims, "RotationX", typeof(Double)); | 521 | createCol(prims, "RotationX", typeof (Double)); |
523 | createCol(prims, "RotationY", typeof(Double)); | 522 | createCol(prims, "RotationY", typeof (Double)); |
524 | createCol(prims, "RotationZ", typeof(Double)); | 523 | createCol(prims, "RotationZ", typeof (Double)); |
525 | createCol(prims, "RotationW", typeof(Double)); | 524 | createCol(prims, "RotationW", typeof (Double)); |
526 | // sit target | 525 | // sit target |
527 | createCol(prims, "SitTargetOffsetX", typeof(Double)); | 526 | createCol(prims, "SitTargetOffsetX", typeof (Double)); |
528 | createCol(prims, "SitTargetOffsetY", typeof(Double)); | 527 | createCol(prims, "SitTargetOffsetY", typeof (Double)); |
529 | createCol(prims, "SitTargetOffsetZ", typeof(Double)); | 528 | createCol(prims, "SitTargetOffsetZ", typeof (Double)); |
530 | 529 | ||
531 | createCol(prims, "SitTargetOrientW", typeof(Double)); | 530 | createCol(prims, "SitTargetOrientW", typeof (Double)); |
532 | createCol(prims, "SitTargetOrientX", typeof(Double)); | 531 | createCol(prims, "SitTargetOrientX", typeof (Double)); |
533 | createCol(prims, "SitTargetOrientY", typeof(Double)); | 532 | createCol(prims, "SitTargetOrientY", typeof (Double)); |
534 | createCol(prims, "SitTargetOrientZ", typeof(Double)); | 533 | createCol(prims, "SitTargetOrientZ", typeof (Double)); |
535 | 534 | ||
536 | 535 | ||
537 | // Add in contraints | 536 | // Add in contraints |
538 | prims.PrimaryKey = new DataColumn[] { prims.Columns["UUID"] }; | 537 | prims.PrimaryKey = new DataColumn[] {prims.Columns["UUID"]}; |
539 | 538 | ||
540 | return prims; | 539 | return prims; |
541 | } | 540 | } |
@@ -543,42 +542,42 @@ namespace OpenSim.Framework.Data.MySQL | |||
543 | private DataTable createLandTable() | 542 | private DataTable createLandTable() |
544 | { | 543 | { |
545 | DataTable land = new DataTable("land"); | 544 | DataTable land = new DataTable("land"); |
546 | createCol(land, "UUID", typeof(String)); | 545 | createCol(land, "UUID", typeof (String)); |
547 | createCol(land, "RegionUUID", typeof(String)); | 546 | createCol(land, "RegionUUID", typeof (String)); |
548 | createCol(land, "LocalLandID", typeof(Int32)); | 547 | createCol(land, "LocalLandID", typeof (Int32)); |
549 | 548 | ||
550 | // Bitmap is a byte[512] | 549 | // Bitmap is a byte[512] |
551 | createCol(land, "Bitmap", typeof(Byte[])); | 550 | createCol(land, "Bitmap", typeof (Byte[])); |
552 | 551 | ||
553 | createCol(land, "Name", typeof(String)); | 552 | createCol(land, "Name", typeof (String)); |
554 | createCol(land, "Description", typeof(String)); | 553 | createCol(land, "Description", typeof (String)); |
555 | createCol(land, "OwnerUUID", typeof(String)); | 554 | createCol(land, "OwnerUUID", typeof (String)); |
556 | createCol(land, "IsGroupOwned", typeof(Int32)); | 555 | createCol(land, "IsGroupOwned", typeof (Int32)); |
557 | createCol(land, "Area", typeof(Int32)); | 556 | createCol(land, "Area", typeof (Int32)); |
558 | createCol(land, "AuctionID", typeof(Int32)); //Unemplemented | 557 | createCol(land, "AuctionID", typeof (Int32)); //Unemplemented |
559 | createCol(land, "Category", typeof(Int32)); //Enum libsecondlife.Parcel.ParcelCategory | 558 | createCol(land, "Category", typeof (Int32)); //Enum libsecondlife.Parcel.ParcelCategory |
560 | createCol(land, "ClaimDate", typeof(Int32)); | 559 | createCol(land, "ClaimDate", typeof (Int32)); |
561 | createCol(land, "ClaimPrice", typeof(Int32)); | 560 | createCol(land, "ClaimPrice", typeof (Int32)); |
562 | createCol(land, "GroupUUID", typeof(String)); | 561 | createCol(land, "GroupUUID", typeof (String)); |
563 | createCol(land, "SalePrice", typeof(Int32)); | 562 | createCol(land, "SalePrice", typeof (Int32)); |
564 | createCol(land, "LandStatus", typeof(Int32)); //Enum. libsecondlife.Parcel.ParcelStatus | 563 | createCol(land, "LandStatus", typeof (Int32)); //Enum. libsecondlife.Parcel.ParcelStatus |
565 | createCol(land, "LandFlags", typeof(Int32)); | 564 | createCol(land, "LandFlags", typeof (Int32)); |
566 | createCol(land, "LandingType", typeof(Int32)); | 565 | createCol(land, "LandingType", typeof (Int32)); |
567 | createCol(land, "MediaAutoScale", typeof(Int32)); | 566 | createCol(land, "MediaAutoScale", typeof (Int32)); |
568 | createCol(land, "MediaTextureUUID", typeof(String)); | 567 | createCol(land, "MediaTextureUUID", typeof (String)); |
569 | createCol(land, "MediaURL", typeof(String)); | 568 | createCol(land, "MediaURL", typeof (String)); |
570 | createCol(land, "MusicURL", typeof(String)); | 569 | createCol(land, "MusicURL", typeof (String)); |
571 | createCol(land, "PassHours", typeof(Double)); | 570 | createCol(land, "PassHours", typeof (Double)); |
572 | createCol(land, "PassPrice", typeof(Int32)); | 571 | createCol(land, "PassPrice", typeof (Int32)); |
573 | createCol(land, "SnapshotUUID", typeof(String)); | 572 | createCol(land, "SnapshotUUID", typeof (String)); |
574 | createCol(land, "UserLocationX", typeof(Double)); | 573 | createCol(land, "UserLocationX", typeof (Double)); |
575 | createCol(land, "UserLocationY", typeof(Double)); | 574 | createCol(land, "UserLocationY", typeof (Double)); |
576 | createCol(land, "UserLocationZ", typeof(Double)); | 575 | createCol(land, "UserLocationZ", typeof (Double)); |
577 | createCol(land, "UserLookAtX", typeof(Double)); | 576 | createCol(land, "UserLookAtX", typeof (Double)); |
578 | createCol(land, "UserLookAtY", typeof(Double)); | 577 | createCol(land, "UserLookAtY", typeof (Double)); |
579 | createCol(land, "UserLookAtZ", typeof(Double)); | 578 | createCol(land, "UserLookAtZ", typeof (Double)); |
580 | 579 | ||
581 | land.PrimaryKey = new DataColumn[] { land.Columns["UUID"] }; | 580 | land.PrimaryKey = new DataColumn[] {land.Columns["UUID"]}; |
582 | 581 | ||
583 | return land; | 582 | return land; |
584 | } | 583 | } |
@@ -586,9 +585,9 @@ namespace OpenSim.Framework.Data.MySQL | |||
586 | private DataTable createLandAccessListTable() | 585 | private DataTable createLandAccessListTable() |
587 | { | 586 | { |
588 | DataTable landaccess = new DataTable("landaccesslist"); | 587 | DataTable landaccess = new DataTable("landaccesslist"); |
589 | createCol(landaccess, "LandUUID", typeof(String)); | 588 | createCol(landaccess, "LandUUID", typeof (String)); |
590 | createCol(landaccess, "AccessUUID", typeof(String)); | 589 | createCol(landaccess, "AccessUUID", typeof (String)); |
591 | createCol(landaccess, "Flags", typeof(Int32)); | 590 | createCol(landaccess, "Flags", typeof (Int32)); |
592 | 591 | ||
593 | return landaccess; | 592 | return landaccess; |
594 | } | 593 | } |
@@ -596,38 +595,38 @@ namespace OpenSim.Framework.Data.MySQL | |||
596 | private DataTable createShapeTable() | 595 | private DataTable createShapeTable() |
597 | { | 596 | { |
598 | DataTable shapes = new DataTable("primshapes"); | 597 | DataTable shapes = new DataTable("primshapes"); |
599 | createCol(shapes, "UUID", typeof(String)); | 598 | createCol(shapes, "UUID", typeof (String)); |
600 | // shape is an enum | 599 | // shape is an enum |
601 | createCol(shapes, "Shape", typeof(Int32)); | 600 | createCol(shapes, "Shape", typeof (Int32)); |
602 | // vectors | 601 | // vectors |
603 | createCol(shapes, "ScaleX", typeof(Double)); | 602 | createCol(shapes, "ScaleX", typeof (Double)); |
604 | createCol(shapes, "ScaleY", typeof(Double)); | 603 | createCol(shapes, "ScaleY", typeof (Double)); |
605 | createCol(shapes, "ScaleZ", typeof(Double)); | 604 | createCol(shapes, "ScaleZ", typeof (Double)); |
606 | // paths | 605 | // paths |
607 | createCol(shapes, "PCode", typeof(Int32)); | 606 | createCol(shapes, "PCode", typeof (Int32)); |
608 | createCol(shapes, "PathBegin", typeof(Int32)); | 607 | createCol(shapes, "PathBegin", typeof (Int32)); |
609 | createCol(shapes, "PathEnd", typeof(Int32)); | 608 | createCol(shapes, "PathEnd", typeof (Int32)); |
610 | createCol(shapes, "PathScaleX", typeof(Int32)); | 609 | createCol(shapes, "PathScaleX", typeof (Int32)); |
611 | createCol(shapes, "PathScaleY", typeof(Int32)); | 610 | createCol(shapes, "PathScaleY", typeof (Int32)); |
612 | createCol(shapes, "PathShearX", typeof(Int32)); | 611 | createCol(shapes, "PathShearX", typeof (Int32)); |
613 | createCol(shapes, "PathShearY", typeof(Int32)); | 612 | createCol(shapes, "PathShearY", typeof (Int32)); |
614 | createCol(shapes, "PathSkew", typeof(Int32)); | 613 | createCol(shapes, "PathSkew", typeof (Int32)); |
615 | createCol(shapes, "PathCurve", typeof(Int32)); | 614 | createCol(shapes, "PathCurve", typeof (Int32)); |
616 | createCol(shapes, "PathRadiusOffset", typeof(Int32)); | 615 | createCol(shapes, "PathRadiusOffset", typeof (Int32)); |
617 | createCol(shapes, "PathRevolutions", typeof(Int32)); | 616 | createCol(shapes, "PathRevolutions", typeof (Int32)); |
618 | createCol(shapes, "PathTaperX", typeof(Int32)); | 617 | createCol(shapes, "PathTaperX", typeof (Int32)); |
619 | createCol(shapes, "PathTaperY", typeof(Int32)); | 618 | createCol(shapes, "PathTaperY", typeof (Int32)); |
620 | createCol(shapes, "PathTwist", typeof(Int32)); | 619 | createCol(shapes, "PathTwist", typeof (Int32)); |
621 | createCol(shapes, "PathTwistBegin", typeof(Int32)); | 620 | createCol(shapes, "PathTwistBegin", typeof (Int32)); |
622 | // profile | 621 | // profile |
623 | createCol(shapes, "ProfileBegin", typeof(Int32)); | 622 | createCol(shapes, "ProfileBegin", typeof (Int32)); |
624 | createCol(shapes, "ProfileEnd", typeof(Int32)); | 623 | createCol(shapes, "ProfileEnd", typeof (Int32)); |
625 | createCol(shapes, "ProfileCurve", typeof(Int32)); | 624 | createCol(shapes, "ProfileCurve", typeof (Int32)); |
626 | createCol(shapes, "ProfileHollow", typeof(Int32)); | 625 | createCol(shapes, "ProfileHollow", typeof (Int32)); |
627 | createCol(shapes, "Texture", typeof(Byte[])); | 626 | createCol(shapes, "Texture", typeof (Byte[])); |
628 | createCol(shapes, "ExtraParams", typeof(Byte[])); | 627 | createCol(shapes, "ExtraParams", typeof (Byte[])); |
629 | 628 | ||
630 | shapes.PrimaryKey = new DataColumn[] { shapes.Columns["UUID"] }; | 629 | shapes.PrimaryKey = new DataColumn[] {shapes.Columns["UUID"]}; |
631 | 630 | ||
632 | return shapes; | 631 | return shapes; |
633 | } | 632 | } |
@@ -643,23 +642,23 @@ namespace OpenSim.Framework.Data.MySQL | |||
643 | private SceneObjectPart buildPrim(DataRow row) | 642 | private SceneObjectPart buildPrim(DataRow row) |
644 | { | 643 | { |
645 | SceneObjectPart prim = new SceneObjectPart(); | 644 | SceneObjectPart prim = new SceneObjectPart(); |
646 | prim.UUID = new LLUUID((String)row["UUID"]); | 645 | prim.UUID = new LLUUID((String) row["UUID"]); |
647 | // explicit conversion of integers is required, which sort | 646 | // explicit conversion of integers is required, which sort |
648 | // of sucks. No idea if there is a shortcut here or not. | 647 | // of sucks. No idea if there is a shortcut here or not. |
649 | prim.ParentID = Convert.ToUInt32(row["ParentID"]); | 648 | prim.ParentID = Convert.ToUInt32(row["ParentID"]); |
650 | prim.CreationDate = Convert.ToInt32(row["CreationDate"]); | 649 | prim.CreationDate = Convert.ToInt32(row["CreationDate"]); |
651 | prim.Name = (String)row["Name"]; | 650 | prim.Name = (String) row["Name"]; |
652 | // various text fields | 651 | // various text fields |
653 | prim.Text = (String)row["Text"]; | 652 | prim.Text = (String) row["Text"]; |
654 | prim.Description = (String)row["Description"]; | 653 | prim.Description = (String) row["Description"]; |
655 | prim.SitName = (String)row["SitName"]; | 654 | prim.SitName = (String) row["SitName"]; |
656 | prim.TouchName = (String)row["TouchName"]; | 655 | prim.TouchName = (String) row["TouchName"]; |
657 | // permissions | 656 | // permissions |
658 | prim.ObjectFlags = Convert.ToUInt32(row["ObjectFlags"]); | 657 | prim.ObjectFlags = Convert.ToUInt32(row["ObjectFlags"]); |
659 | prim.CreatorID = new LLUUID((String)row["CreatorID"]); | 658 | prim.CreatorID = new LLUUID((String) row["CreatorID"]); |
660 | prim.OwnerID = new LLUUID((String)row["OwnerID"]); | 659 | prim.OwnerID = new LLUUID((String) row["OwnerID"]); |
661 | prim.GroupID = new LLUUID((String)row["GroupID"]); | 660 | prim.GroupID = new LLUUID((String) row["GroupID"]); |
662 | prim.LastOwnerID = new LLUUID((String)row["LastOwnerID"]); | 661 | prim.LastOwnerID = new LLUUID((String) row["LastOwnerID"]); |
663 | prim.OwnerMask = Convert.ToUInt32(row["OwnerMask"]); | 662 | prim.OwnerMask = Convert.ToUInt32(row["OwnerMask"]); |
664 | prim.NextOwnerMask = Convert.ToUInt32(row["NextOwnerMask"]); | 663 | prim.NextOwnerMask = Convert.ToUInt32(row["NextOwnerMask"]); |
665 | prim.GroupMask = Convert.ToUInt32(row["GroupMask"]); | 664 | prim.GroupMask = Convert.ToUInt32(row["GroupMask"]); |
@@ -701,19 +700,27 @@ namespace OpenSim.Framework.Data.MySQL | |||
701 | try | 700 | try |
702 | { | 701 | { |
703 | prim.SetSitTargetLL(new LLVector3( | 702 | prim.SetSitTargetLL(new LLVector3( |
704 | Convert.ToSingle(row["SitTargetOffsetX"]), | 703 | Convert.ToSingle(row["SitTargetOffsetX"]), |
705 | Convert.ToSingle(row["SitTargetOffsetY"]), | 704 | Convert.ToSingle(row["SitTargetOffsetY"]), |
706 | Convert.ToSingle(row["SitTargetOffsetZ"])), new LLQuaternion( | 705 | Convert.ToSingle(row["SitTargetOffsetZ"])), new LLQuaternion( |
707 | Convert.ToSingle(row["SitTargetOrientX"]), | 706 | Convert.ToSingle( |
708 | Convert.ToSingle(row["SitTargetOrientY"]), | 707 | row["SitTargetOrientX"]), |
709 | Convert.ToSingle(row["SitTargetOrientZ"]), | 708 | Convert.ToSingle( |
710 | Convert.ToSingle(row["SitTargetOrientW"]))); | 709 | row["SitTargetOrientY"]), |
710 | Convert.ToSingle( | ||
711 | row["SitTargetOrientZ"]), | ||
712 | Convert.ToSingle( | ||
713 | row["SitTargetOrientW"]))); | ||
711 | } | 714 | } |
712 | catch (System.InvalidCastException) | 715 | catch (InvalidCastException) |
713 | { | 716 | { |
714 | // Database table was created before we got here and needs to be created! :P | 717 | // Database table was created before we got here and needs to be created! :P |
715 | 718 | ||
716 | using (MySqlCommand cmd = new MySqlCommand("ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;", m_connection)) | 719 | using ( |
720 | MySqlCommand cmd = | ||
721 | new MySqlCommand( | ||
722 | "ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;", | ||
723 | m_connection)) | ||
717 | { | 724 | { |
718 | cmd.ExecuteNonQuery(); | 725 | cmd.ExecuteNonQuery(); |
719 | } | 726 | } |
@@ -725,36 +732,42 @@ namespace OpenSim.Framework.Data.MySQL | |||
725 | { | 732 | { |
726 | LandData newData = new LandData(); | 733 | LandData newData = new LandData(); |
727 | 734 | ||
728 | newData.globalID = new LLUUID((String)row["UUID"]); | 735 | newData.globalID = new LLUUID((String) row["UUID"]); |
729 | newData.localID = Convert.ToInt32(row["LocalLandID"]); | 736 | newData.localID = Convert.ToInt32(row["LocalLandID"]); |
730 | 737 | ||
731 | // Bitmap is a byte[512] | 738 | // Bitmap is a byte[512] |
732 | newData.landBitmapByteArray = (Byte[])row["Bitmap"]; | 739 | newData.landBitmapByteArray = (Byte[]) row["Bitmap"]; |
733 | 740 | ||
734 | newData.landName = (String)row["Name"]; | 741 | newData.landName = (String) row["Name"]; |
735 | newData.landDesc = (String)row["Description"]; | 742 | newData.landDesc = (String) row["Description"]; |
736 | newData.ownerID = (String)row["OwnerUUID"]; | 743 | newData.ownerID = (String) row["OwnerUUID"]; |
737 | newData.isGroupOwned = Convert.ToBoolean(row["IsGroupOwned"]); | 744 | newData.isGroupOwned = Convert.ToBoolean(row["IsGroupOwned"]); |
738 | newData.area = Convert.ToInt32(row["Area"]); | 745 | newData.area = Convert.ToInt32(row["Area"]); |
739 | newData.auctionID = Convert.ToUInt32(row["AuctionID"]); //Unemplemented | 746 | newData.auctionID = Convert.ToUInt32(row["AuctionID"]); //Unemplemented |
740 | newData.category = (Parcel.ParcelCategory)Convert.ToInt32(row["Category"]); //Enum libsecondlife.Parcel.ParcelCategory | 747 | newData.category = (Parcel.ParcelCategory) Convert.ToInt32(row["Category"]); |
748 | //Enum libsecondlife.Parcel.ParcelCategory | ||
741 | newData.claimDate = Convert.ToInt32(row["ClaimDate"]); | 749 | newData.claimDate = Convert.ToInt32(row["ClaimDate"]); |
742 | newData.claimPrice = Convert.ToInt32(row["ClaimPrice"]); | 750 | newData.claimPrice = Convert.ToInt32(row["ClaimPrice"]); |
743 | newData.groupID = new LLUUID((String)row["GroupUUID"]); | 751 | newData.groupID = new LLUUID((String) row["GroupUUID"]); |
744 | newData.salePrice = Convert.ToInt32(row["SalePrice"]); | 752 | newData.salePrice = Convert.ToInt32(row["SalePrice"]); |
745 | newData.landStatus = (Parcel.ParcelStatus)Convert.ToInt32(row["LandStatus"]); //Enum. libsecondlife.Parcel.ParcelStatus | 753 | newData.landStatus = (Parcel.ParcelStatus) Convert.ToInt32(row["LandStatus"]); |
754 | //Enum. libsecondlife.Parcel.ParcelStatus | ||
746 | newData.landFlags = Convert.ToUInt32(row["LandFlags"]); | 755 | newData.landFlags = Convert.ToUInt32(row["LandFlags"]); |
747 | newData.landingType = Convert.ToByte(row["LandingType"]); | 756 | newData.landingType = Convert.ToByte(row["LandingType"]); |
748 | newData.mediaAutoScale = Convert.ToByte(row["MediaAutoScale"]); | 757 | newData.mediaAutoScale = Convert.ToByte(row["MediaAutoScale"]); |
749 | newData.mediaID = new LLUUID((String)row["MediaTextureUUID"]); | 758 | newData.mediaID = new LLUUID((String) row["MediaTextureUUID"]); |
750 | newData.mediaURL = (String)row["MediaURL"]; | 759 | newData.mediaURL = (String) row["MediaURL"]; |
751 | newData.musicURL = (String)row["MusicURL"]; | 760 | newData.musicURL = (String) row["MusicURL"]; |
752 | newData.passHours = Convert.ToSingle(row["PassHours"]); | 761 | newData.passHours = Convert.ToSingle(row["PassHours"]); |
753 | newData.passPrice = Convert.ToInt32(row["PassPrice"]); | 762 | newData.passPrice = Convert.ToInt32(row["PassPrice"]); |
754 | newData.snapshotID = (String)row["SnapshotUUID"]; | 763 | newData.snapshotID = (String) row["SnapshotUUID"]; |
755 | 764 | ||
756 | newData.userLocation = new LLVector3(Convert.ToSingle(row["UserLocationX"]), Convert.ToSingle(row["UserLocationY"]), Convert.ToSingle(row["UserLocationZ"])); | 765 | newData.userLocation = |
757 | newData.userLookAt = new LLVector3(Convert.ToSingle(row["UserLookAtX"]), Convert.ToSingle(row["UserLookAtY"]), Convert.ToSingle(row["UserLookAtZ"])); | 766 | new LLVector3(Convert.ToSingle(row["UserLocationX"]), Convert.ToSingle(row["UserLocationY"]), |
767 | Convert.ToSingle(row["UserLocationZ"])); | ||
768 | newData.userLookAt = | ||
769 | new LLVector3(Convert.ToSingle(row["UserLookAtX"]), Convert.ToSingle(row["UserLookAtY"]), | ||
770 | Convert.ToSingle(row["UserLookAtZ"])); | ||
758 | newData.parcelAccessList = new List<ParcelManager.ParcelAccessEntry>(); | 771 | newData.parcelAccessList = new List<ParcelManager.ParcelAccessEntry>(); |
759 | 772 | ||
760 | return newData; | 773 | return newData; |
@@ -763,7 +776,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
763 | private ParcelManager.ParcelAccessEntry buildLandAccessData(DataRow row) | 776 | private ParcelManager.ParcelAccessEntry buildLandAccessData(DataRow row) |
764 | { | 777 | { |
765 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); | 778 | ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); |
766 | entry.AgentID = new LLUUID((string)row["AccessUUID"]); | 779 | entry.AgentID = new LLUUID((string) row["AccessUUID"]); |
767 | entry.Flags = (ParcelManager.AccessList) Convert.ToInt32(row["Flags"]); | 780 | entry.Flags = (ParcelManager.AccessList) Convert.ToInt32(row["Flags"]); |
768 | entry.Time = new DateTime(); | 781 | entry.Time = new DateTime(); |
769 | return entry; | 782 | return entry; |
@@ -771,7 +784,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
771 | 784 | ||
772 | private Array serializeTerrain(double[,] val) | 785 | private Array serializeTerrain(double[,] val) |
773 | { | 786 | { |
774 | MemoryStream str = new MemoryStream(65536 * sizeof(double)); | 787 | MemoryStream str = new MemoryStream(65536*sizeof (double)); |
775 | BinaryWriter bw = new BinaryWriter(str); | 788 | BinaryWriter bw = new BinaryWriter(str); |
776 | 789 | ||
777 | // TODO: COMPATIBILITY - Add byte-order conversions | 790 | // TODO: COMPATIBILITY - Add byte-order conversions |
@@ -789,7 +802,8 @@ namespace OpenSim.Framework.Data.MySQL | |||
789 | row["ParentID"] = prim.ParentID; | 802 | row["ParentID"] = prim.ParentID; |
790 | row["CreationDate"] = prim.CreationDate; | 803 | row["CreationDate"] = prim.CreationDate; |
791 | row["Name"] = prim.Name; | 804 | row["Name"] = prim.Name; |
792 | row["SceneGroupID"] = Util.ToRawUuidString(sceneGroupID); // the UUID of the root part for this SceneObjectGroup | 805 | row["SceneGroupID"] = Util.ToRawUuidString(sceneGroupID); |
806 | // the UUID of the root part for this SceneObjectGroup | ||
793 | // various text fields | 807 | // various text fields |
794 | row["Text"] = prim.Text; | 808 | row["Text"] = prim.Text; |
795 | row["Description"] = prim.Description; | 809 | row["Description"] = prim.Description; |
@@ -841,18 +855,20 @@ namespace OpenSim.Framework.Data.MySQL | |||
841 | row["SitTargetOrientX"] = sitTargetOrient.X; | 855 | row["SitTargetOrientX"] = sitTargetOrient.X; |
842 | row["SitTargetOrientY"] = sitTargetOrient.Y; | 856 | row["SitTargetOrientY"] = sitTargetOrient.Y; |
843 | row["SitTargetOrientZ"] = sitTargetOrient.Z; | 857 | row["SitTargetOrientZ"] = sitTargetOrient.Z; |
844 | } | 858 | } |
845 | catch (MySql.Data.MySqlClient.MySqlException) | 859 | catch (MySqlException) |
846 | { | 860 | { |
847 | // Database table was created before we got here and needs to be created! :P | 861 | // Database table was created before we got here and needs to be created! :P |
848 | 862 | ||
849 | using (MySqlCommand cmd = new MySqlCommand("ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;", m_connection)) | 863 | using ( |
864 | MySqlCommand cmd = | ||
865 | new MySqlCommand( | ||
866 | "ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;", | ||
867 | m_connection)) | ||
850 | { | 868 | { |
851 | cmd.ExecuteNonQuery(); | 869 | cmd.ExecuteNonQuery(); |
852 | } | 870 | } |
853 | } | 871 | } |
854 | |||
855 | |||
856 | } | 872 | } |
857 | 873 | ||
858 | private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID) | 874 | private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID) |
@@ -929,11 +945,11 @@ namespace OpenSim.Framework.Data.MySQL | |||
929 | s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]); | 945 | s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]); |
930 | s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]); | 946 | s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]); |
931 | s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]); | 947 | s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]); |
932 | 948 | ||
933 | byte[] textureEntry = (byte[])row["Texture"]; | 949 | byte[] textureEntry = (byte[]) row["Texture"]; |
934 | s.TextureEntry = textureEntry; | 950 | s.TextureEntry = textureEntry; |
935 | 951 | ||
936 | s.ExtraParams = (byte[])row["ExtraParams"]; | 952 | s.ExtraParams = (byte[]) row["ExtraParams"]; |
937 | 953 | ||
938 | return s; | 954 | return s; |
939 | } | 955 | } |
@@ -1146,7 +1162,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
1146 | da.UpdateCommand = updateCommand; | 1162 | da.UpdateCommand = updateCommand; |
1147 | 1163 | ||
1148 | MySqlCommand delete = new MySqlCommand("delete from prims where UUID=?UUID"); | 1164 | MySqlCommand delete = new MySqlCommand("delete from prims where UUID=?UUID"); |
1149 | delete.Parameters.Add(createMySqlParameter("UUID", typeof(String))); | 1165 | delete.Parameters.Add(createMySqlParameter("UUID", typeof (String))); |
1150 | delete.Connection = conn; | 1166 | delete.Connection = conn; |
1151 | da.DeleteCommand = delete; | 1167 | da.DeleteCommand = delete; |
1152 | } | 1168 | } |
@@ -1181,7 +1197,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
1181 | da.UpdateCommand.Connection = conn; | 1197 | da.UpdateCommand.Connection = conn; |
1182 | 1198 | ||
1183 | MySqlCommand delete = new MySqlCommand("delete from primshapes where UUID = ?UUID"); | 1199 | MySqlCommand delete = new MySqlCommand("delete from primshapes where UUID = ?UUID"); |
1184 | delete.Parameters.Add(createMySqlParameter("UUID", typeof(String))); | 1200 | delete.Parameters.Add(createMySqlParameter("UUID", typeof (String))); |
1185 | delete.Connection = conn; | 1201 | delete.Connection = conn; |
1186 | da.DeleteCommand = delete; | 1202 | da.DeleteCommand = delete; |
1187 | } | 1203 | } |
@@ -1337,27 +1353,27 @@ namespace OpenSim.Framework.Data.MySQL | |||
1337 | 1353 | ||
1338 | private DbType dbtypeFromType(Type type) | 1354 | private DbType dbtypeFromType(Type type) |
1339 | { | 1355 | { |
1340 | if (type == typeof(String)) | 1356 | if (type == typeof (String)) |
1341 | { | 1357 | { |
1342 | return DbType.String; | 1358 | return DbType.String; |
1343 | } | 1359 | } |
1344 | else if (type == typeof(Int32)) | 1360 | else if (type == typeof (Int32)) |
1345 | { | 1361 | { |
1346 | return DbType.Int32; | 1362 | return DbType.Int32; |
1347 | } | 1363 | } |
1348 | else if (type == typeof(Double)) | 1364 | else if (type == typeof (Double)) |
1349 | { | 1365 | { |
1350 | return DbType.Double; | 1366 | return DbType.Double; |
1351 | } | 1367 | } |
1352 | else if (type == typeof(Byte)) | 1368 | else if (type == typeof (Byte)) |
1353 | { | 1369 | { |
1354 | return DbType.Byte; | 1370 | return DbType.Byte; |
1355 | } | 1371 | } |
1356 | else if (type == typeof(Double)) | 1372 | else if (type == typeof (Double)) |
1357 | { | 1373 | { |
1358 | return DbType.Double; | 1374 | return DbType.Double; |
1359 | } | 1375 | } |
1360 | else if (type == typeof(Byte[])) | 1376 | else if (type == typeof (Byte[])) |
1361 | { | 1377 | { |
1362 | return DbType.Binary; | 1378 | return DbType.Binary; |
1363 | } | 1379 | } |
@@ -1371,19 +1387,19 @@ namespace OpenSim.Framework.Data.MySQL | |||
1371 | // slightly differently. | 1387 | // slightly differently. |
1372 | private string MySqlType(Type type) | 1388 | private string MySqlType(Type type) |
1373 | { | 1389 | { |
1374 | if (type == typeof(String)) | 1390 | if (type == typeof (String)) |
1375 | { | 1391 | { |
1376 | return "varchar(255)"; | 1392 | return "varchar(255)"; |
1377 | } | 1393 | } |
1378 | else if (type == typeof(Int32)) | 1394 | else if (type == typeof (Int32)) |
1379 | { | 1395 | { |
1380 | return "integer"; | 1396 | return "integer"; |
1381 | } | 1397 | } |
1382 | else if (type == typeof(Double)) | 1398 | else if (type == typeof (Double)) |
1383 | { | 1399 | { |
1384 | return "float"; | 1400 | return "float"; |
1385 | } | 1401 | } |
1386 | else if (type == typeof(Byte[])) | 1402 | else if (type == typeof (Byte[])) |
1387 | { | 1403 | { |
1388 | return "longblob"; | 1404 | return "longblob"; |
1389 | } | 1405 | } |
@@ -1393,4 +1409,4 @@ namespace OpenSim.Framework.Data.MySQL | |||
1393 | } | 1409 | } |
1394 | } | 1410 | } |
1395 | } | 1411 | } |
1396 | } | 1412 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs index 7843562..7cfac12 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs | |||
@@ -31,6 +31,7 @@ using System.Collections.Generic; | |||
31 | using System.Data; | 31 | using System.Data; |
32 | using System.Security.Cryptography; | 32 | using System.Security.Cryptography; |
33 | using System.Text; | 33 | using System.Text; |
34 | using System.Text.RegularExpressions; | ||
34 | using libsecondlife; | 35 | using libsecondlife; |
35 | using OpenSim.Framework.Console; | 36 | using OpenSim.Framework.Console; |
36 | 37 | ||
@@ -62,7 +63,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
62 | database = | 63 | database = |
63 | new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, | 64 | new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, |
64 | settingPort); | 65 | settingPort); |
65 | 66 | ||
66 | TestTables(); | 67 | TestTables(); |
67 | } | 68 | } |
68 | 69 | ||
@@ -80,7 +81,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
80 | 81 | ||
81 | UpgradeRegionsTable(tableList["regions"]); | 82 | UpgradeRegionsTable(tableList["regions"]); |
82 | } | 83 | } |
83 | 84 | ||
84 | /// <summary> | 85 | /// <summary> |
85 | /// Create or upgrade the table if necessary | 86 | /// Create or upgrade the table if necessary |
86 | /// </summary> | 87 | /// </summary> |
@@ -94,10 +95,10 @@ namespace OpenSim.Framework.Data.MySQL | |||
94 | database.ExecuteResourceSql("CreateRegionsTable.sql"); | 95 | database.ExecuteResourceSql("CreateRegionsTable.sql"); |
95 | return; | 96 | return; |
96 | } | 97 | } |
97 | } | 98 | } |
98 | 99 | ||
99 | #endregion | 100 | #endregion |
100 | 101 | ||
101 | /// <summary> | 102 | /// <summary> |
102 | /// Shuts down the grid interface | 103 | /// Shuts down the grid interface |
103 | /// </summary> | 104 | /// </summary> |
@@ -203,42 +204,41 @@ namespace OpenSim.Framework.Data.MySQL | |||
203 | return null; | 204 | return null; |
204 | } | 205 | } |
205 | } | 206 | } |
207 | |||
206 | /// <summary> | 208 | /// <summary> |
207 | /// // Returns a list of avatar and UUIDs that match the query | 209 | /// // Returns a list of avatar and UUIDs that match the query |
208 | /// </summary> | 210 | /// </summary> |
209 | |||
210 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | 211 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) |
211 | { | 212 | { |
212 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | 213 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); |
213 | 214 | ||
214 | System.Text.RegularExpressions.Regex objAlphaNumericPattern = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]"); | 215 | Regex objAlphaNumericPattern = new Regex("[^a-zA-Z0-9]"); |
215 | 216 | ||
216 | string[] querysplit; | 217 | string[] querysplit; |
217 | querysplit = query.Split(' '); | 218 | querysplit = query.Split(' '); |
218 | if (querysplit.Length == 2) | 219 | if (querysplit.Length == 2) |
219 | { | 220 | { |
220 | Dictionary<string, string> param = new Dictionary<string, string>(); | 221 | Dictionary<string, string> param = new Dictionary<string, string>(); |
221 | param["?first"] = objAlphaNumericPattern.Replace(querysplit[0],"") + "%"; | 222 | param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%"; |
222 | param["?second"] = objAlphaNumericPattern.Replace(querysplit[1], "") + "%"; | 223 | param["?second"] = objAlphaNumericPattern.Replace(querysplit[1], "") + "%"; |
223 | try | 224 | try |
224 | { | 225 | { |
225 | lock (database) | 226 | lock (database) |
226 | { | 227 | { |
227 | |||
228 | |||
229 | IDbCommand result = | 228 | IDbCommand result = |
230 | database.Query("SELECT UUID,username,surname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100", param); | 229 | database.Query( |
230 | "SELECT UUID,username,surname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100", | ||
231 | param); | ||
231 | IDataReader reader = result.ExecuteReader(); | 232 | IDataReader reader = result.ExecuteReader(); |
232 | 233 | ||
233 | 234 | ||
234 | while (reader.Read()) | 235 | while (reader.Read()) |
235 | { | 236 | { |
236 | AvatarPickerAvatar user = new AvatarPickerAvatar(); | 237 | AvatarPickerAvatar user = new AvatarPickerAvatar(); |
237 | user.AvatarID = new LLUUID((string)reader["UUID"]); | 238 | user.AvatarID = new LLUUID((string) reader["UUID"]); |
238 | user.firstName = (string)reader["username"]; | 239 | user.firstName = (string) reader["username"]; |
239 | user.lastName = (string)reader["surname"]; | 240 | user.lastName = (string) reader["surname"]; |
240 | returnlist.Add(user); | 241 | returnlist.Add(user); |
241 | |||
242 | } | 242 | } |
243 | reader.Close(); | 243 | reader.Close(); |
244 | result.Dispose(); | 244 | result.Dispose(); |
@@ -250,33 +250,30 @@ namespace OpenSim.Framework.Data.MySQL | |||
250 | MainLog.Instance.Error(e.ToString()); | 250 | MainLog.Instance.Error(e.ToString()); |
251 | return returnlist; | 251 | return returnlist; |
252 | } | 252 | } |
253 | |||
254 | |||
255 | |||
256 | } | 253 | } |
257 | else if (querysplit.Length == 1) | 254 | else if (querysplit.Length == 1) |
258 | { | 255 | { |
259 | |||
260 | try | 256 | try |
261 | { | 257 | { |
262 | lock (database) | 258 | lock (database) |
263 | { | 259 | { |
264 | Dictionary<string, string> param = new Dictionary<string, string>(); | 260 | Dictionary<string, string> param = new Dictionary<string, string>(); |
265 | param["?first"] = objAlphaNumericPattern.Replace(querysplit[0],"") + "%"; | 261 | param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%"; |
266 | 262 | ||
267 | IDbCommand result = | 263 | IDbCommand result = |
268 | database.Query("SELECT UUID,username,surname FROM users WHERE username like ?first OR lastname like ?second", param); | 264 | database.Query( |
265 | "SELECT UUID,username,surname FROM users WHERE username like ?first OR lastname like ?second", | ||
266 | param); | ||
269 | IDataReader reader = result.ExecuteReader(); | 267 | IDataReader reader = result.ExecuteReader(); |
270 | 268 | ||
271 | 269 | ||
272 | while (reader.Read()) | 270 | while (reader.Read()) |
273 | { | 271 | { |
274 | AvatarPickerAvatar user = new AvatarPickerAvatar(); | 272 | AvatarPickerAvatar user = new AvatarPickerAvatar(); |
275 | user.AvatarID = new LLUUID((string)reader["UUID"]); | 273 | user.AvatarID = new LLUUID((string) reader["UUID"]); |
276 | user.firstName = (string)reader["username"]; | 274 | user.firstName = (string) reader["username"]; |
277 | user.lastName = (string)reader["surname"]; | 275 | user.lastName = (string) reader["surname"]; |
278 | returnlist.Add(user); | 276 | returnlist.Add(user); |
279 | |||
280 | } | 277 | } |
281 | reader.Close(); | 278 | reader.Close(); |
282 | result.Dispose(); | 279 | result.Dispose(); |
@@ -413,4 +410,4 @@ namespace OpenSim.Framework.Data.MySQL | |||
413 | } | 410 | } |
414 | } | 411 | } |
415 | } | 412 | } |
416 | } | 413 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs index a47a126..c317f4a 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs | |||
@@ -232,7 +232,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
232 | List<InventoryFolderBase> items = new List<InventoryFolderBase>(); | 232 | List<InventoryFolderBase> items = new List<InventoryFolderBase>(); |
233 | while (reader.Read()) | 233 | while (reader.Read()) |
234 | items.Add(readInventoryFolder(reader)); | 234 | items.Add(readInventoryFolder(reader)); |
235 | 235 | ||
236 | InventoryFolderBase rootFolder = null; | 236 | InventoryFolderBase rootFolder = null; |
237 | 237 | ||
238 | // There should only ever be one root folder for a user. However, if there's more | 238 | // There should only ever be one root folder for a user. However, if there's more |
@@ -637,4 +637,4 @@ namespace OpenSim.Framework.Data.MySQL | |||
637 | } | 637 | } |
638 | } | 638 | } |
639 | } | 639 | } |
640 | } | 640 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLLogData.cs b/OpenSim/Framework/Data.MySQL/MySQLLogData.cs index eda5cc5..d2605fa 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLLogData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLLogData.cs | |||
@@ -103,4 +103,4 @@ namespace OpenSim.Framework.Data.MySQL | |||
103 | return "0.1"; | 103 | return "0.1"; |
104 | } | 104 | } |
105 | } | 105 | } |
106 | } | 106 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLManager.cs b/OpenSim/Framework/Data.MySQL/MySQLManager.cs index d652db8..96f0c4d 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLManager.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLManager.cs | |||
@@ -666,4 +666,4 @@ namespace OpenSim.Framework.Data.MySQL | |||
666 | return returnval; | 666 | return returnval; |
667 | } | 667 | } |
668 | } | 668 | } |
669 | } | 669 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs index 4b86d80..2d96f6e 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs | |||
@@ -28,6 +28,7 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Data; | 30 | using System.Data; |
31 | using System.Text.RegularExpressions; | ||
31 | using libsecondlife; | 32 | using libsecondlife; |
32 | using OpenSim.Framework.Console; | 33 | using OpenSim.Framework.Console; |
33 | 34 | ||
@@ -61,7 +62,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
61 | database = | 62 | database = |
62 | new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, | 63 | new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, |
63 | settingPort); | 64 | settingPort); |
64 | 65 | ||
65 | TestTables(); | 66 | TestTables(); |
66 | } | 67 | } |
67 | 68 | ||
@@ -81,7 +82,7 @@ namespace OpenSim.Framework.Data.MySQL | |||
81 | UpgradeAgentsTable(tableList["agents"]); | 82 | UpgradeAgentsTable(tableList["agents"]); |
82 | UpgradeUsersTable(tableList["users"]); | 83 | UpgradeUsersTable(tableList["users"]); |
83 | } | 84 | } |
84 | 85 | ||
85 | /// <summary> | 86 | /// <summary> |
86 | /// Create or upgrade the table if necessary | 87 | /// Create or upgrade the table if necessary |
87 | /// </summary> | 88 | /// </summary> |
@@ -95,8 +96,8 @@ namespace OpenSim.Framework.Data.MySQL | |||
95 | database.ExecuteResourceSql("CreateAgentsTable.sql"); | 96 | database.ExecuteResourceSql("CreateAgentsTable.sql"); |
96 | return; | 97 | return; |
97 | } | 98 | } |
98 | } | 99 | } |
99 | 100 | ||
100 | /// <summary> | 101 | /// <summary> |
101 | /// Create or upgrade the table if necessary | 102 | /// Create or upgrade the table if necessary |
102 | /// </summary> | 103 | /// </summary> |
@@ -110,8 +111,8 @@ namespace OpenSim.Framework.Data.MySQL | |||
110 | database.ExecuteResourceSql("CreateUsersTable.sql"); | 111 | database.ExecuteResourceSql("CreateUsersTable.sql"); |
111 | return; | 112 | return; |
112 | } | 113 | } |
113 | } | 114 | } |
114 | 115 | ||
115 | #endregion | 116 | #endregion |
116 | 117 | ||
117 | // see IUserData | 118 | // see IUserData |
@@ -144,11 +145,11 @@ namespace OpenSim.Framework.Data.MySQL | |||
144 | } | 145 | } |
145 | } | 146 | } |
146 | 147 | ||
147 | public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | 148 | public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) |
148 | { | 149 | { |
149 | List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); | 150 | List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>(); |
150 | 151 | ||
151 | System.Text.RegularExpressions.Regex objAlphaNumericPattern = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]"); | 152 | Regex objAlphaNumericPattern = new Regex("[^a-zA-Z0-9]"); |
152 | 153 | ||
153 | string[] querysplit; | 154 | string[] querysplit; |
154 | querysplit = query.Split(' '); | 155 | querysplit = query.Split(' '); |
@@ -161,21 +162,20 @@ namespace OpenSim.Framework.Data.MySQL | |||
161 | { | 162 | { |
162 | lock (database) | 163 | lock (database) |
163 | { | 164 | { |
164 | |||
165 | |||
166 | IDbCommand result = | 165 | IDbCommand result = |
167 | database.Query("SELECT UUID,username,lastname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100", param); | 166 | database.Query( |
167 | "SELECT UUID,username,lastname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100", | ||
168 | param); | ||
168 | IDataReader reader = result.ExecuteReader(); | 169 | IDataReader reader = result.ExecuteReader(); |
169 | 170 | ||
170 | 171 | ||
171 | while (reader.Read()) | 172 | while (reader.Read()) |
172 | { | 173 | { |
173 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | 174 | Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar(); |
174 | user.AvatarID = new LLUUID((string)reader["UUID"]); | 175 | user.AvatarID = new LLUUID((string) reader["UUID"]); |
175 | user.firstName = (string)reader["username"]; | 176 | user.firstName = (string) reader["username"]; |
176 | user.lastName = (string)reader["lastname"]; | 177 | user.lastName = (string) reader["lastname"]; |
177 | returnlist.Add(user); | 178 | returnlist.Add(user); |
178 | |||
179 | } | 179 | } |
180 | reader.Close(); | 180 | reader.Close(); |
181 | result.Dispose(); | 181 | result.Dispose(); |
@@ -187,13 +187,9 @@ namespace OpenSim.Framework.Data.MySQL | |||
187 | MainLog.Instance.Error(e.ToString()); | 187 | MainLog.Instance.Error(e.ToString()); |
188 | return returnlist; | 188 | return returnlist; |
189 | } | 189 | } |
190 | |||
191 | |||
192 | |||
193 | } | 190 | } |
194 | else if (querysplit.Length == 1) | 191 | else if (querysplit.Length == 1) |
195 | { | 192 | { |
196 | |||
197 | try | 193 | try |
198 | { | 194 | { |
199 | lock (database) | 195 | lock (database) |
@@ -202,18 +198,19 @@ namespace OpenSim.Framework.Data.MySQL | |||
202 | param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%"; | 198 | param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%"; |
203 | 199 | ||
204 | IDbCommand result = | 200 | IDbCommand result = |
205 | database.Query("SELECT UUID,username,lastname FROM users WHERE username like ?first OR lastname like ?first LIMIT 100", param); | 201 | database.Query( |
202 | "SELECT UUID,username,lastname FROM users WHERE username like ?first OR lastname like ?first LIMIT 100", | ||
203 | param); | ||
206 | IDataReader reader = result.ExecuteReader(); | 204 | IDataReader reader = result.ExecuteReader(); |
207 | 205 | ||
208 | 206 | ||
209 | while (reader.Read()) | 207 | while (reader.Read()) |
210 | { | 208 | { |
211 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | 209 | Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar(); |
212 | user.AvatarID = new LLUUID((string)reader["UUID"]); | 210 | user.AvatarID = new LLUUID((string) reader["UUID"]); |
213 | user.firstName = (string)reader["username"]; | 211 | user.firstName = (string) reader["username"]; |
214 | user.lastName = (string)reader["lastname"]; | 212 | user.lastName = (string) reader["lastname"]; |
215 | returnlist.Add(user); | 213 | returnlist.Add(user); |
216 | |||
217 | } | 214 | } |
218 | reader.Close(); | 215 | reader.Close(); |
219 | result.Dispose(); | 216 | result.Dispose(); |
@@ -402,4 +399,4 @@ namespace OpenSim.Framework.Data.MySQL | |||
402 | return "0.1"; | 399 | return "0.1"; |
403 | } | 400 | } |
404 | } | 401 | } |
405 | } | 402 | } \ No newline at end of file |