diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 297c9b28f8..730e53a876 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs @@ -171,6 +171,7 @@ namespace OpenSim config.Set("serverside_object_permissions", false); config.Set("storage_plugin", "OpenSim.Framework.Data.SQLite.dll"); config.Set("storage_connection_string", "URI=file:OpenSim.db,version=3"); + config.Set("storage_prim_inventories_experimental", false); config.Set("startup_console_commands_file", ""); config.Set("shutdown_console_commands_file", ""); config.Set("script_engine", "OpenSim.Region.ScriptEngine.DotNetEngine.dll"); @@ -242,6 +243,8 @@ namespace OpenSim m_storageDll = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.MonoSqlite.dll"); m_storageConnectionString = startupConfig.GetString("storage_connection_string", "URI=file:OpenSim.db,version=3"); + m_storagePersistPrimInventories + = startupConfig.GetBoolean("storage_prim_inventories_experimental", false); m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", ""); m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", ""); @@ -465,7 +468,7 @@ namespace OpenSim protected override StorageManager CreateStorageManager(string connectionstring) { - return new StorageManager(m_storageDll, connectionstring); + return new StorageManager(m_storageDll, connectionstring, m_storagePersistPrimInventories); } protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index e9331e9db8..e74873d31c 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs @@ -57,6 +57,10 @@ namespace OpenSim.Region.ClientStack protected StorageManager m_storageManager; protected string m_storageConnectionString; + + // An attribute to indicate whether prim inventories should be persisted. + // Probably will be temporary until this stops being experimental. + protected bool m_storagePersistPrimInventories; public SceneManager SceneManager { @@ -152,4 +156,4 @@ namespace OpenSim.Region.ClientStack protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, AgentCircuitManager circuitManager); } -} \ No newline at end of file +} diff --git a/OpenSim/Region/Environment/StorageManager.cs b/OpenSim/Region/Environment/StorageManager.cs index 811e452a95..1c41373495 100644 --- a/OpenSim/Region/Environment/StorageManager.cs +++ b/OpenSim/Region/Environment/StorageManager.cs @@ -47,7 +47,7 @@ namespace OpenSim.Region.Environment m_dataStore = storage; } - public StorageManager(string dllName, string connectionstring) + public StorageManager(string dllName, string connectionstring, bool persistPrimInventories) { MainLog.Instance.Verbose("DATASTORE", "Attempting to load " + dllName); Assembly pluginAssembly = Assembly.LoadFrom(dllName); @@ -62,7 +62,7 @@ namespace OpenSim.Region.Environment { IRegionDataStore plug = (IRegionDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); - plug.Initialise(connectionstring, false); + plug.Initialise(connectionstring, persistPrimInventories); m_dataStore = plug; diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs index d872bf64e0..9844f9ec5f 100644 --- a/OpenSim/Region/Examples/SimpleApp/Program.cs +++ b/OpenSim/Region/Examples/SimpleApp/Program.cs @@ -186,7 +186,7 @@ namespace SimpleApp protected override StorageManager CreateStorageManager(string connectionstring) { - return new StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap"); + return new StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap", false); } protected override PhysicsScene GetPhysicsScene() @@ -215,4 +215,4 @@ namespace SimpleApp app.Run(); } } -} \ No newline at end of file +} diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs index 765f6a2a79..e260dc0716 100644 --- a/OpenSim/Tools/Export/OpenSimExport.cs +++ b/OpenSim/Tools/Export/OpenSimExport.cs @@ -54,7 +54,8 @@ namespace OpenSim.Tools.Export sman = new StorageManager( startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"), - startup.GetString("storage_connection_string", "") + startup.GetString("storage_connection_string", ""), + false ); } @@ -113,4 +114,4 @@ namespace OpenSim.Tools.Export return config; } } -} \ No newline at end of file +}