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