aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-01-11 18:44:53 +0000
committerJustin Clarke Casey2008-01-11 18:44:53 +0000
commit82d7fb75227f30946e856aba3ec20e580532ebff (patch)
treeda2e13ff63681e5280abe3ae244b3de8490d685f /OpenSim
parent* Do database implementation for prim inventory items in mysql (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs5
-rw-r--r--OpenSim/Region/ClientStack/RegionApplicationBase.cs6
-rw-r--r--OpenSim/Region/Environment/StorageManager.cs4
-rw-r--r--OpenSim/Region/Examples/SimpleApp/Program.cs4
-rw-r--r--OpenSim/Tools/Export/OpenSimExport.cs5
5 files changed, 16 insertions, 8 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}
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 765f6a2..e260dc0 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -54,7 +54,8 @@ namespace OpenSim.Tools.Export
54 54
55 sman = new StorageManager( 55 sman = new StorageManager(
56 startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"), 56 startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
57 startup.GetString("storage_connection_string", "") 57 startup.GetString("storage_connection_string", ""),
58 false
58 ); 59 );
59 } 60 }
60 61
@@ -113,4 +114,4 @@ namespace OpenSim.Tools.Export
113 return config; 114 return config;
114 } 115 }
115 } 116 }
116} \ No newline at end of file 117}