diff --git a/OpenSim/Data/IXInventoryData.cs b/OpenSim/Data/IXInventoryData.cs index ca4750660a..29db40f322 100644 --- a/OpenSim/Data/IXInventoryData.cs +++ b/OpenSim/Data/IXInventoryData.cs @@ -78,6 +78,7 @@ namespace OpenSim.Data public interface IXInventoryData { + XInventoryFolder[] GetFolder(string field, string val); XInventoryFolder[] GetFolders(string[] fields, string[] vals); XInventoryItem[] GetItems(string[] fields, string[] vals); diff --git a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs index ce228b59a6..a583285733 100644 --- a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs +++ b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs @@ -37,10 +37,9 @@ namespace OpenSim.Data.MySQL { public class MySQLGenericTableHandler : MySqlFramework where T: class, new() { -// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - protected Dictionary m_Fields = - new Dictionary(); + protected Dictionary m_Fields = new Dictionary(); protected List m_ColumnNames = null; protected string m_Realm; @@ -69,7 +68,7 @@ namespace OpenSim.Data.MySQL protected void CommonConstruct(string storeName) { - if (storeName != String.Empty) + if (!string.IsNullOrEmpty(storeName)) { // We always use a new connection for any Migrations using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) @@ -120,7 +119,7 @@ namespace OpenSim.Data.MySQL using (MySqlCommand cmd = new MySqlCommand()) { cmd.Parameters.AddWithValue(field, key); - cmd.CommandText = string.Format("select * from {0} where `{1}` = ?{1}", m_Realm, field); + cmd.CommandText = $"select * from {m_Realm} where `{field}` = ?{field}"; return DoQuery(cmd); } } @@ -284,10 +283,7 @@ namespace OpenSim.Data.MySQL { using (MySqlCommand cmd = new MySqlCommand()) { - string query = String.Format("select * from {0} where {1}", - m_Realm, where); - - cmd.CommandText = query; + cmd.CommandText = $"select * from {m_Realm} where {where}"; ; return DoQuery(cmd); } @@ -295,7 +291,7 @@ namespace OpenSim.Data.MySQL public virtual bool Store(T row) { -// m_log.DebugFormat("[MYSQL GENERIC TABLE HANDLER]: Store(T row) invoked"); + //m_log.DebugFormat("[MYSQL GENERIC TABLE HANDLER]: Store(T row) invoked"); using (MySqlCommand cmd = new MySqlCommand()) { @@ -313,9 +309,7 @@ namespace OpenSim.Data.MySQL // InventoryTransferModule or we may be required to substitute a DBNull here. if (fi.GetValue(row) == null) throw new NullReferenceException( - string.Format( - "[MYSQL GENERIC TABLE HANDLER]: Trying to store field {0} for {1} which is unexpectedly null", - fi.Name, row)); + $"[MYSQL GENERIC TABLE HANDLER]: Trying to store field {fi.Name} for {row} which is unexpectedly null"); cmd.Parameters.AddWithValue(fi.Name, fi.GetValue(row).ToString()); } @@ -333,7 +327,7 @@ namespace OpenSim.Data.MySQL } } - query = String.Format("replace into {0} (`", m_Realm) + String.Join("`,`", names.ToArray()) + "`) values (" + String.Join(",", values.ToArray()) + ")"; + query = $"replace into {m_Realm} (`" + String.Join("`,`", names.ToArray()) + "`) values (" + String.Join(",", values.ToArray()) + ")"; cmd.CommandText = query; @@ -351,9 +345,9 @@ namespace OpenSim.Data.MySQL public virtual bool Delete(string[] fields, string[] keys) { -// m_log.DebugFormat( -// "[MYSQL GENERIC TABLE HANDLER]: Delete(string[] fields, string[] keys) invoked with {0}:{1}", -// string.Join(",", fields), string.Join(",", keys)); + //m_log.DebugFormat( + // "[MYSQL GENERIC TABLE HANDLER]: Delete(string[] fields, string[] keys) invoked with {0}:{1}", + // string.Join(",", fields), string.Join(",", keys)); int flen = fields.Length; if (flen == 0 || flen != keys.Length) diff --git a/OpenSim/Data/MySQL/MySQLXInventoryData.cs b/OpenSim/Data/MySQL/MySQLXInventoryData.cs index 501999425d..703e58ba4f 100644 --- a/OpenSim/Data/MySQL/MySQLXInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLXInventoryData.cs @@ -28,17 +28,14 @@ using System; using System.Collections.Generic; using System.Data; -using System.Linq; -using System.Reflection; using log4net; using MySql.Data.MySqlClient; using OpenMetaverse; -using OpenSim.Framework; namespace OpenSim.Data.MySQL { /// - /// A MySQL Interface for the Asset Server + /// A MySQL Interface for the Inventory Server /// public class MySQLXInventoryData : IXInventoryData { @@ -47,10 +44,13 @@ namespace OpenSim.Data.MySQL public MySQLXInventoryData(string conn, string realm) { - m_Folders = new MySqlFolderHandler( - conn, "inventoryfolders", "InventoryStore"); - m_Items = new MySqlItemHandler( - conn, "inventoryitems", String.Empty); + m_Folders = new MySqlFolderHandler(conn, "inventoryfolders", "InventoryStore"); + m_Items = new MySqlItemHandler(conn, "inventoryitems", string.Empty); + } + + public XInventoryFolder[] GetFolder(string field, string val) + { + return m_Folders.Get(field, val); } public XInventoryFolder[] GetFolders(string[] fields, string[] vals) @@ -74,9 +74,9 @@ namespace OpenSim.Data.MySQL public bool StoreItem(XInventoryItem item) { if (item.inventoryName.Length > 64) - item.inventoryName = item.inventoryName.Substring(0, 64); + item.inventoryName = item.inventoryName[..64]; if (item.inventoryDescription.Length > 128) - item.inventoryDescription = item.inventoryDescription.Substring(0, 128); + item.inventoryDescription = item.inventoryDescription[..128]; return m_Items.Store(item); } @@ -124,10 +124,9 @@ namespace OpenSim.Data.MySQL public class MySqlItemHandler : MySqlInventoryHandler { -// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - public MySqlItemHandler(string c, string t, string m) : - base(c, t, m) + public MySqlItemHandler(string c, string t, string m) : base(c, t, m) { } @@ -141,7 +140,7 @@ namespace OpenSim.Data.MySQL return false; // Don't increment folder version here since Delete(string, string) calls Delete(string[], string[]) -// IncrementFolderVersion(retrievedItems[0].parentFolderID); + //IncrementFolderVersion(retrievedItems[0].parentFolderID); return true; } @@ -193,9 +192,9 @@ namespace OpenSim.Data.MySQL { using (MySqlCommand cmd = new MySqlCommand()) { -// cmd.CommandText = String.Format("select * from inventoryitems where avatarId = ?uuid and assetType = ?type and flags & 1", m_Realm); + //cmd.CommandText = String.Format("select * from inventoryitems where avatarId = ?uuid and assetType = ?type and flags & 1", m_Realm); - cmd.CommandText = String.Format("select * from inventoryitems where avatarId = ?uuid and assetType = ?type and flags & 1"); + cmd.CommandText = "select * from inventoryitems where avatarId = ?uuid and assetType = ?type and flags & 1"; cmd.Parameters.AddWithValue("?uuid", principalID.ToString()); cmd.Parameters.AddWithValue("?type", (int)AssetType.Gesture); @@ -214,9 +213,9 @@ namespace OpenSim.Data.MySQL { cmd.Connection = dbcon; -// cmd.CommandText = String.Format("select bit_or(inventoryCurrentPermissions) as inventoryCurrentPermissions from inventoryitems where avatarID = ?PrincipalID and assetID = ?AssetID group by assetID", m_Realm); + //cmd.CommandText = String.Format("select bit_or(inventoryCurrentPermissions) as inventoryCurrentPermissions from inventoryitems where avatarID = ?PrincipalID and assetID = ?AssetID group by assetID", m_Realm); - cmd.CommandText = String.Format("select bit_or(inventoryCurrentPermissions) as inventoryCurrentPermissions from inventoryitems where avatarID = ?PrincipalID and assetID = ?AssetID group by assetID"); + cmd.CommandText = "select bit_or(inventoryCurrentPermissions) as inventoryCurrentPermissions from inventoryitems where avatarID = ?PrincipalID and assetID = ?AssetID group by assetID"; cmd.Parameters.AddWithValue("?PrincipalID", principalID.ToString()); cmd.Parameters.AddWithValue("?AssetID", assetID.ToString()); @@ -250,10 +249,9 @@ namespace OpenSim.Data.MySQL public class MySqlFolderHandler : MySqlInventoryHandler { -// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - public MySqlFolderHandler(string c, string t, string m) : - base(c, t, m) + public MySqlFolderHandler(string c, string t, string m) : base(c, t, m) { } @@ -268,9 +266,7 @@ namespace OpenSim.Data.MySQL using (MySqlCommand cmd = new MySqlCommand()) { - cmd.CommandText - = String.Format( - "update {0} set parentFolderID = ?ParentFolderID where folderID = ?folderID", m_Realm); + cmd.CommandText = $"update {m_Realm} set parentFolderID = ?ParentFolderID where folderID = ?folderID"; cmd.Parameters.AddWithValue("?ParentFolderID", newParentFolderID); cmd.Parameters.AddWithValue("?folderID", id); @@ -306,18 +302,18 @@ namespace OpenSim.Data.MySQL protected bool IncrementFolderVersion(string folderID) { -// m_log.DebugFormat("[MYSQL FOLDER HANDLER]: Incrementing version on folder {0}", folderID); -// Util.PrintCallStack(); + //m_log.DebugFormat("[MYSQL FOLDER HANDLER]: Incrementing version on folder {0}", folderID); + //Util.PrintCallStack(); - using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) + using (MySqlConnection dbcon = new(m_connectionString)) { dbcon.Open(); - using (MySqlCommand cmd = new MySqlCommand()) + using (MySqlCommand cmd = new()) { cmd.Connection = dbcon; - cmd.CommandText = String.Format("update inventoryfolders set version=version+1 where folderID = ?folderID"); + cmd.CommandText = "update inventoryfolders set version=version+1 where folderID = ?folderID"; cmd.Parameters.AddWithValue("?folderID", folderID); try diff --git a/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs b/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs index 4c10ac99b7..e1a3cf08ee 100644 --- a/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs +++ b/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs @@ -64,6 +64,11 @@ namespace OpenSim.Data.PGSQL return newUUID; } + public XInventoryFolder[] GetFolder(string field, string val) + { + return m_Folders.Get(field, val); + } + public XInventoryFolder[] GetFolders(string[] fields, string[] vals) { return m_Folders.Get(fields, vals); diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index e8345d39cf..fcbe575e20 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs @@ -2831,6 +2831,11 @@ namespace OpenSim.Data.SQLite da.InsertCommand.Connection = conn; da.UpdateCommand = createUpdateCommand("regionenvironment", "region_id=:region_id", ds.Tables["regionenvironment"]); da.UpdateCommand.Connection = conn; + + SqliteCommand delete = new SqliteCommand("delete from regionenvironment where region_id= :region_id"); + delete.Parameters.Add(createSqliteParameter("region_id", typeof(String))); + da.DeleteCommand = delete; + da.DeleteCommand.Connection = conn; } private void setupRegionSpawnPointsCommands(SqliteDataAdapter da, SqliteConnection conn) diff --git a/OpenSim/Data/SQLite/SQLiteXInventoryData.cs b/OpenSim/Data/SQLite/SQLiteXInventoryData.cs index 4992e73828..4b2f7c1a0e 100644 --- a/OpenSim/Data/SQLite/SQLiteXInventoryData.cs +++ b/OpenSim/Data/SQLite/SQLiteXInventoryData.cs @@ -60,6 +60,11 @@ namespace OpenSim.Data.SQLite conn, "inventoryitems", String.Empty); } + public XInventoryFolder[] GetFolder(string field, string val) + { + return m_Folders.Get(field, val); + } + public XInventoryFolder[] GetFolders(string[] fields, string[] vals) { return m_Folders.Get(fields, vals); diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index 3521528a7b..9eb653e900 100755 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs @@ -174,10 +174,10 @@ namespace OpenSim.Framework.Servers m_consoleAppender.Console = (ConsoleBase)m_console; // If there is no threshold set then the threshold is effectively everything. - if (null == m_consoleAppender.Threshold) + if (m_consoleAppender.Threshold is null) m_consoleAppender.Threshold = Level.All; - Notice(String.Format("Console log level is {0}", m_consoleAppender.Threshold)); + //Notice($"Console log level is {m_consoleAppender.Threshold}"); } if (m_logFileAppender != null && startupConfig != null) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/FetchLibDescModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/FetchLibDescModule.cs index 535b8a72f7..7bb39e4c6c 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/FetchLibDescModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/FetchLibDescModule.cs @@ -59,7 +59,7 @@ namespace OpenSim.Region.ClientStack.Linden public OSHttpRequest request; } - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); /// /// Control whether requests will be processed asynchronously. diff --git a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs index aa207d2012..db2d146330 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs @@ -26,27 +26,20 @@ */ using System; -using System.Collections; using System.Net; using System.Reflection; -using System.IO; -using System.Web; using Mono.Addins; using log4net; using Nini.Config; using OpenMetaverse; -using OpenMetaverse.StructuredData; using OpenMetaverse.Messages.Linden; using OpenSim.Framework; -using OpenSim.Framework.Servers; using OpenSim.Framework.Servers.HttpServer; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; -using OpenSim.Services.Interfaces; using Caps = OpenSim.Framework.Capabilities.Caps; using OSD = OpenMetaverse.StructuredData.OSD; using OSDMap = OpenMetaverse.StructuredData.OSDMap; -using OpenSim.Framework.Capabilities; using ExtraParamType = OpenMetaverse.ExtraParamType; namespace OpenSim.Region.ClientStack.Linden diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 43340445e7..30fb07fec3 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2783,9 +2783,11 @@ namespace OpenSim.Region.Framework.Scenes for(int i = 0; i < partList.Length; ++i) { SceneObjectPart part = partList[i]; + if (part is null) + continue; if (removeScripts) - part.Inventory.SendReleaseScriptsControl(); + part.Inventory?.SendReleaseScriptsControl(); if (part.KeyframeMotion is not null) {