diff options
author | Justin Clarke Casey | 2008-01-11 18:44:53 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-01-11 18:44:53 +0000 |
commit | 82d7fb75227f30946e856aba3ec20e580532ebff (patch) | |
tree | da2e13ff63681e5280abe3ae244b3de8490d685f /OpenSim/Region | |
parent | * Do database implementation for prim inventory items in mysql (diff) | |
download | opensim-SC-82d7fb75227f30946e856aba3ec20e580532ebff.zip opensim-SC-82d7fb75227f30946e856aba3ec20e580532ebff.tar.gz opensim-SC-82d7fb75227f30946e856aba3ec20e580532ebff.tar.bz2 opensim-SC-82d7fb75227f30946e856aba3ec20e580532ebff.tar.xz |
* Exprimental prim inventory persistence can now be enabled by users.
* This can be turned on by setting storage_prim_inventories_experimental = True in OpenSim.ini
* Implemented for sqlite and MySQL, no MSSQL implementation yet
* As an experimental feature, there is no guarantee that this won't take down your region or that the db representation won't need to change.
* More (and continuing) details at http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/RegionApplicationBase.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Environment/StorageManager.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Examples/SimpleApp/Program.cs | 4 |
4 files changed, 13 insertions, 6 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 297c9b2..730e53a 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -171,6 +171,7 @@ namespace OpenSim | |||
171 | config.Set("serverside_object_permissions", false); | 171 | config.Set("serverside_object_permissions", false); |
172 | config.Set("storage_plugin", "OpenSim.Framework.Data.SQLite.dll"); | 172 | config.Set("storage_plugin", "OpenSim.Framework.Data.SQLite.dll"); |
173 | config.Set("storage_connection_string", "URI=file:OpenSim.db,version=3"); | 173 | config.Set("storage_connection_string", "URI=file:OpenSim.db,version=3"); |
174 | config.Set("storage_prim_inventories_experimental", false); | ||
174 | config.Set("startup_console_commands_file", ""); | 175 | config.Set("startup_console_commands_file", ""); |
175 | config.Set("shutdown_console_commands_file", ""); | 176 | config.Set("shutdown_console_commands_file", ""); |
176 | config.Set("script_engine", "OpenSim.Region.ScriptEngine.DotNetEngine.dll"); | 177 | config.Set("script_engine", "OpenSim.Region.ScriptEngine.DotNetEngine.dll"); |
@@ -242,6 +243,8 @@ namespace OpenSim | |||
242 | m_storageDll = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.MonoSqlite.dll"); | 243 | m_storageDll = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.MonoSqlite.dll"); |
243 | m_storageConnectionString | 244 | m_storageConnectionString |
244 | = startupConfig.GetString("storage_connection_string", "URI=file:OpenSim.db,version=3"); | 245 | = startupConfig.GetString("storage_connection_string", "URI=file:OpenSim.db,version=3"); |
246 | m_storagePersistPrimInventories | ||
247 | = startupConfig.GetBoolean("storage_prim_inventories_experimental", false); | ||
245 | 248 | ||
246 | m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", ""); | 249 | m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", ""); |
247 | m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", ""); | 250 | m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", ""); |
@@ -465,7 +468,7 @@ namespace OpenSim | |||
465 | 468 | ||
466 | protected override StorageManager CreateStorageManager(string connectionstring) | 469 | protected override StorageManager CreateStorageManager(string connectionstring) |
467 | { | 470 | { |
468 | return new StorageManager(m_storageDll, connectionstring); | 471 | return new StorageManager(m_storageDll, connectionstring, m_storagePersistPrimInventories); |
469 | } | 472 | } |
470 | 473 | ||
471 | protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, | 474 | protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, |
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index e9331e9..e74873d 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs | |||
@@ -57,6 +57,10 @@ namespace OpenSim.Region.ClientStack | |||
57 | 57 | ||
58 | protected StorageManager m_storageManager; | 58 | protected StorageManager m_storageManager; |
59 | protected string m_storageConnectionString; | 59 | protected string m_storageConnectionString; |
60 | |||
61 | // An attribute to indicate whether prim inventories should be persisted. | ||
62 | // Probably will be temporary until this stops being experimental. | ||
63 | protected bool m_storagePersistPrimInventories; | ||
60 | 64 | ||
61 | public SceneManager SceneManager | 65 | public SceneManager SceneManager |
62 | { | 66 | { |
@@ -152,4 +156,4 @@ namespace OpenSim.Region.ClientStack | |||
152 | protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, | 156 | protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, |
153 | AgentCircuitManager circuitManager); | 157 | AgentCircuitManager circuitManager); |
154 | } | 158 | } |
155 | } \ No newline at end of file | 159 | } |
diff --git a/OpenSim/Region/Environment/StorageManager.cs b/OpenSim/Region/Environment/StorageManager.cs index 811e452..1c41373 100644 --- a/OpenSim/Region/Environment/StorageManager.cs +++ b/OpenSim/Region/Environment/StorageManager.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Region.Environment | |||
47 | m_dataStore = storage; | 47 | m_dataStore = storage; |
48 | } | 48 | } |
49 | 49 | ||
50 | public StorageManager(string dllName, string connectionstring) | 50 | public StorageManager(string dllName, string connectionstring, bool persistPrimInventories) |
51 | { | 51 | { |
52 | MainLog.Instance.Verbose("DATASTORE", "Attempting to load " + dllName); | 52 | MainLog.Instance.Verbose("DATASTORE", "Attempting to load " + dllName); |
53 | Assembly pluginAssembly = Assembly.LoadFrom(dllName); | 53 | Assembly pluginAssembly = Assembly.LoadFrom(dllName); |
@@ -62,7 +62,7 @@ namespace OpenSim.Region.Environment | |||
62 | { | 62 | { |
63 | IRegionDataStore plug = | 63 | IRegionDataStore plug = |
64 | (IRegionDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); | 64 | (IRegionDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); |
65 | plug.Initialise(connectionstring, false); | 65 | plug.Initialise(connectionstring, persistPrimInventories); |
66 | 66 | ||
67 | m_dataStore = plug; | 67 | m_dataStore = plug; |
68 | 68 | ||
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs index d872bf6..9844f9e 100644 --- a/OpenSim/Region/Examples/SimpleApp/Program.cs +++ b/OpenSim/Region/Examples/SimpleApp/Program.cs | |||
@@ -186,7 +186,7 @@ namespace SimpleApp | |||
186 | 186 | ||
187 | protected override StorageManager CreateStorageManager(string connectionstring) | 187 | protected override StorageManager CreateStorageManager(string connectionstring) |
188 | { | 188 | { |
189 | return new StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap"); | 189 | return new StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap", false); |
190 | } | 190 | } |
191 | 191 | ||
192 | protected override PhysicsScene GetPhysicsScene() | 192 | protected override PhysicsScene GetPhysicsScene() |
@@ -215,4 +215,4 @@ namespace SimpleApp | |||
215 | app.Run(); | 215 | app.Run(); |
216 | } | 216 | } |
217 | } | 217 | } |
218 | } \ No newline at end of file | 218 | } |