From 4c25008850f92bcc79502c71a0e4d34c883d27d0 Mon Sep 17 00:00:00 2001
From: MW
Date: Mon, 8 Oct 2007 10:30:15 +0000
Subject: Applied patch 485, inventory patch from tleiades (thanks again).
---
OpenSim/Framework/Data.MySQL/MySQLManager.cs | 164 +++------------------------
1 file changed, 17 insertions(+), 147 deletions(-)
(limited to 'OpenSim/Framework/Data.MySQL/MySQLManager.cs')
diff --git a/OpenSim/Framework/Data.MySQL/MySQLManager.cs b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
index a83ee45..ea174b2 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLManager.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
@@ -31,6 +31,7 @@ using System.Data;
using libsecondlife;
using MySql.Data.MySqlClient;
using OpenSim.Framework.Types;
+using OpenSim.Framework.Console;
namespace OpenSim.Framework.Data.MySQL
{
@@ -42,7 +43,7 @@ namespace OpenSim.Framework.Data.MySQL
///
/// The database connection object
///
- IDbConnection dbcon;
+ MySqlConnection dbcon;
///
/// Connection string for ADO.net
///
@@ -65,7 +66,7 @@ namespace OpenSim.Framework.Data.MySQL
dbcon.Open();
- Console.WriteLine("MySQL connection established");
+ MainLog.Instance.Verbose("MySQL connection established");
}
catch (Exception e)
{
@@ -74,6 +75,14 @@ namespace OpenSim.Framework.Data.MySQL
}
///
+ /// Get the connection being used
+ ///
+ public MySqlConnection Connection
+ {
+ get { return dbcon; }
+ }
+
+ ///
/// Shuts down the database connection
///
public void Close()
@@ -99,7 +108,7 @@ namespace OpenSim.Framework.Data.MySQL
}
catch (Exception e)
{
- Console.WriteLine("Unable to reconnect to database " + e.ToString());
+ MainLog.Instance.Error("Unable to reconnect to database " + e.ToString());
}
}
}
@@ -142,7 +151,7 @@ namespace OpenSim.Framework.Data.MySQL
}
catch (Exception e)
{
- Console.WriteLine("Unable to reconnect to database " + e.ToString());
+ MainLog.Instance.Error("Unable to reconnect to database " + e.ToString());
}
// Run the query again
@@ -160,7 +169,7 @@ namespace OpenSim.Framework.Data.MySQL
catch (Exception e)
{
// Return null if it fails.
- Console.WriteLine("Failed during Query generation: " + e.ToString());
+ MainLog.Instance.Error("Failed during Query generation: " + e.ToString());
return null;
}
}
@@ -352,72 +361,7 @@ namespace OpenSim.Framework.Data.MySQL
return retval;
}
- ///
- /// Reads a list of inventory folders returned by a query.
- ///
- /// A MySQL Data Reader
- /// A List containing inventory folders
- public List readInventoryFolders(IDataReader reader)
- {
- List rows = new List();
-
- while(reader.Read())
- {
- try
- {
- InventoryFolderBase folder = new InventoryFolderBase();
-
- folder.agentID = new LLUUID((string)reader["agentID"]);
- folder.parentID = new LLUUID((string)reader["parentFolderID"]);
- folder.folderID = new LLUUID((string)reader["folderID"]);
- folder.name = (string)reader["folderName"];
-
- rows.Add(folder);
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- }
-
- return rows;
- }
-
- ///
- /// Reads a collection of items from an SQL result
- ///
- /// The SQL Result
- /// A List containing Inventory Items
- public List readInventoryItems(IDataReader reader)
- {
- List rows = new List();
- while (reader.Read())
- {
- try
- {
- InventoryItemBase item = new InventoryItemBase();
-
- item.assetID = new LLUUID((string)reader["assetID"]);
- item.avatarID = new LLUUID((string)reader["avatarID"]);
- item.inventoryCurrentPermissions = Convert.ToUInt32(reader["inventoryCurrentPermissions"].ToString());
- item.inventoryDescription = (string)reader["inventoryDescription"];
- item.inventoryID = new LLUUID((string)reader["inventoryID"]);
- item.inventoryName = (string)reader["inventoryName"];
- item.inventoryNextPermissions = Convert.ToUInt32(reader["inventoryNextPermissions"].ToString());
- item.parentFolderID = new LLUUID((string)reader["parentFolderID"]);
- item.assetType = Convert.ToInt32(reader["type"].ToString());
-
- rows.Add(item);
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- }
-
- return rows;
- }
///
/// Inserts a new row into the log database
@@ -455,87 +399,13 @@ namespace OpenSim.Framework.Data.MySQL
}
catch (Exception e)
{
- Console.WriteLine(e.ToString());
- return false;
- }
-
- return returnval;
- }
-
- ///
- /// Inserts a new item into the database
- ///
- /// The item
- /// Success?
- public bool insertItem(InventoryItemBase item)
- {
- string sql = "REPLACE INTO inventoryitems (inventoryID, assetID, type, parentFolderID, avatarID, inventoryName, inventoryDescription, inventoryNextPermissions, inventoryCurrentPermissions) VALUES ";
- sql += "(?inventoryID, ?assetID, ?type, ?parentFolderID, ?avatarID, ?inventoryName, ?inventoryDescription, ?inventoryNextPermissions, ?inventoryCurrentPermissions)";
-
- Dictionary parameters = new Dictionary();
- parameters["?inventoryID"] = item.inventoryID.ToStringHyphenated();
- parameters["?assetID"] = item.assetID.ToStringHyphenated();
- parameters["?type"] = item.assetType.ToString();
- parameters["?parentFolderID"] = item.parentFolderID.ToStringHyphenated();
- parameters["?avatarID"] = item.avatarID.ToStringHyphenated();
- parameters["?inventoryName"] = item.inventoryName;
- parameters["?inventoryDescription"] = item.inventoryDescription;
- parameters["?inventoryNextPermissions"] = item.inventoryNextPermissions.ToString();
- parameters["?inventoryCurrentPermissions"] = item.inventoryCurrentPermissions.ToString();
-
- bool returnval = false;
-
- try
- {
- IDbCommand result = Query(sql, parameters);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
+ MainLog.Instance.Error(e.ToString());
return false;
}
return returnval;
}
- ///
- /// Inserts a new folder into the database
- ///
- /// The folder
- /// Success?
- public bool insertFolder(InventoryFolderBase folder)
- {
- string sql = "REPLACE INTO inventoryfolders (folderID, agentID, parentFolderID, folderName) VALUES ";
- sql += "(?folderID, ?agentID, ?parentFolderID, ?folderName)";
-
- Dictionary parameters = new Dictionary();
- parameters["?folderID"] = folder.folderID.ToStringHyphenated();
- parameters["?agentID"] = folder.agentID.ToStringHyphenated();
- parameters["?parentFolderID"] = folder.parentID.ToStringHyphenated();
- parameters["?folderName"] = folder.name;
-
- bool returnval = false;
- try
- {
- IDbCommand result = Query(sql, parameters);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- return false;
- }
- return returnval;
- }
///
/// Creates a new user and inserts it into the database
@@ -614,7 +484,7 @@ namespace OpenSim.Framework.Data.MySQL
}
catch (Exception e)
{
- Console.WriteLine(e.ToString());
+ MainLog.Instance.Error(e.ToString());
return false;
}
@@ -683,7 +553,7 @@ namespace OpenSim.Framework.Data.MySQL
}
catch (Exception e)
{
- Console.WriteLine(e.ToString());
+ MainLog.Instance.Error(e.ToString());
return false;
}
--
cgit v1.1