Introduce a separate connection string for estates, which defaults to the one gi
ven for the region datastore. Removes the flag to store prim inventories, which are now always stored.0.6.0-stable
parent
bbd076544d
commit
a73d87ef16
|
@ -71,7 +71,6 @@ namespace OpenSim.Data.MSSQL
|
|||
private DataTable m_landAccessListTable;
|
||||
|
||||
/// <summary>Temporary attribute while this is experimental</summary>
|
||||
private bool persistPrimInventories;
|
||||
|
||||
/***********************************************************************
|
||||
*
|
||||
|
@ -83,13 +82,11 @@ namespace OpenSim.Data.MSSQL
|
|||
/// see IRegionDataStore
|
||||
/// </summary>
|
||||
/// <param name="connectionString"></param>
|
||||
/// <param name="persistPrimInventories"></param>
|
||||
public void Initialise(string connectionString, bool persistPrimInventories)
|
||||
public void Initialise(string connectionString)
|
||||
{
|
||||
// Instance.Initialise("", true);
|
||||
|
||||
m_dataSet = new DataSet();
|
||||
this.persistPrimInventories = persistPrimInventories;
|
||||
|
||||
m_log.Info("[REGION DB]: MSSql - connecting: " + connectionString);
|
||||
m_connection = new SqlConnection(connectionString);
|
||||
|
@ -126,13 +123,10 @@ namespace OpenSim.Data.MSSQL
|
|||
setupShapeCommands(m_shapeDataAdapter, m_connection);
|
||||
m_shapeDataAdapter.Fill(m_shapeTable);
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
m_itemsTable = createItemsTable();
|
||||
m_dataSet.Tables.Add(m_itemsTable);
|
||||
SetupItemsCommands(m_itemsDataAdapter, m_connection);
|
||||
m_itemsDataAdapter.Fill(m_itemsTable);
|
||||
}
|
||||
|
||||
m_terrainTable = createTerrainTable();
|
||||
m_dataSet.Tables.Add(m_terrainTable);
|
||||
|
@ -218,10 +212,7 @@ namespace OpenSim.Data.MSSQL
|
|||
shapeRow.Delete();
|
||||
}
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
RemoveItems(new LLUUID((string)row["UUID"]));
|
||||
}
|
||||
|
||||
// Remove prim row
|
||||
row.Delete();
|
||||
|
@ -317,11 +308,8 @@ namespace OpenSim.Data.MSSQL
|
|||
createdObjects[new LLUUID(objID)].AddPart(prim);
|
||||
}
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
LoadItems(prim);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error("[DATASTORE]: Failed create prim object, exception and data follows");
|
||||
|
@ -589,10 +577,7 @@ namespace OpenSim.Data.MSSQL
|
|||
m_primDataAdapter.Update(m_primTable);
|
||||
m_shapeDataAdapter.Update(m_shapeTable);
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
m_itemsDataAdapter.Update(m_itemsTable);
|
||||
}
|
||||
|
||||
m_terrainDataAdapter.Update(m_terrainTable);
|
||||
m_landDataAdapter.Update(m_landTable);
|
||||
|
@ -1378,9 +1363,6 @@ namespace OpenSim.Data.MSSQL
|
|||
/// <param name="items"></param>
|
||||
public void StorePrimInventory(LLUUID primID, ICollection<TaskInventoryItem> items)
|
||||
{
|
||||
if (!persistPrimInventories)
|
||||
return;
|
||||
|
||||
m_log.InfoFormat("[REGION DB]: Persisting Prim Inventory with prim ID {0}", primID);
|
||||
|
||||
// For now, we're just going to crudely remove all the previous inventory items
|
||||
|
@ -1749,7 +1731,6 @@ namespace OpenSim.Data.MSSQL
|
|||
pDa.Fill(tmpDS, "prims");
|
||||
sDa.Fill(tmpDS, "primshapes");
|
||||
|
||||
if (persistPrimInventories)
|
||||
iDa.Fill(tmpDS, "primitems");
|
||||
|
||||
tDa.Fill(tmpDS, "terrain");
|
||||
|
@ -1765,7 +1746,6 @@ namespace OpenSim.Data.MSSQL
|
|||
pDa.Fill(tmpDS, "prims");
|
||||
sDa.Fill(tmpDS, "primshapes");
|
||||
|
||||
if (persistPrimInventories)
|
||||
iDa.Fill(tmpDS, "primitems");
|
||||
|
||||
tDa.Fill(tmpDS, "terrain");
|
||||
|
|
|
@ -92,9 +92,6 @@ namespace OpenSim.Data.MySQL
|
|||
private DataTable m_landAccessListTable;
|
||||
private DataTable m_regionSettingsTable;
|
||||
|
||||
/// <value>Temporary attribute while this is experimental</value>
|
||||
private bool persistPrimInventories;
|
||||
|
||||
/***********************************************************************
|
||||
*
|
||||
* Public Interface Functions
|
||||
|
@ -105,13 +102,11 @@ namespace OpenSim.Data.MySQL
|
|||
/// see IRegionDataStore
|
||||
/// </summary>
|
||||
/// <param name="connectionstring"></param>
|
||||
/// <param name="persistPrimInventories"></param>
|
||||
public void Initialise(string connectionString, bool persistPrimInventories)
|
||||
public void Initialise(string connectionString)
|
||||
{
|
||||
m_connectionString = connectionString;
|
||||
|
||||
m_dataSet = new DataSet();
|
||||
this.persistPrimInventories = persistPrimInventories;
|
||||
|
||||
int passPosition = 0;
|
||||
int passEndPosition = 0;
|
||||
|
@ -184,13 +179,10 @@ namespace OpenSim.Data.MySQL
|
|||
m_shapeDataAdapter.Fill(m_shapeTable);
|
||||
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
m_itemsTable = createItemsTable();
|
||||
m_dataSet.Tables.Add(m_itemsTable);
|
||||
SetupItemsCommands(m_itemsDataAdapter, m_connection);
|
||||
m_itemsDataAdapter.Fill(m_itemsTable);
|
||||
}
|
||||
|
||||
m_terrainTable = createTerrainTable();
|
||||
m_dataSet.Tables.Add(m_terrainTable);
|
||||
|
@ -429,10 +421,7 @@ namespace OpenSim.Data.MySQL
|
|||
shapeRow.Delete();
|
||||
}
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
RemoveItems(uuid);
|
||||
}
|
||||
|
||||
// Remove prim row
|
||||
row.Delete();
|
||||
|
@ -527,11 +516,8 @@ namespace OpenSim.Data.MySQL
|
|||
createdObjects[new LLUUID(objID)].AddPart(prim);
|
||||
}
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
LoadItems(prim);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error("[REGION DB]: Failed create prim object, exception and data follows");
|
||||
|
@ -827,10 +813,7 @@ namespace OpenSim.Data.MySQL
|
|||
m_primDataAdapter.Update(m_primTable);
|
||||
m_shapeDataAdapter.Update(m_shapeTable);
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
m_itemsDataAdapter.Update(m_itemsTable);
|
||||
}
|
||||
|
||||
m_terrainDataAdapter.Update(m_terrainTable);
|
||||
m_landDataAdapter.Update(m_landTable);
|
||||
|
@ -1812,9 +1795,6 @@ namespace OpenSim.Data.MySQL
|
|||
/// <param name="items"></param>
|
||||
public void StorePrimInventory(LLUUID primID, ICollection<TaskInventoryItem> items)
|
||||
{
|
||||
if (!persistPrimInventories)
|
||||
return;
|
||||
|
||||
m_log.InfoFormat("[REGION DB]: Persisting Prim Inventory with prim ID {0}", primID);
|
||||
|
||||
// For now, we're just going to crudely remove all the previous inventory items
|
||||
|
@ -2241,7 +2221,6 @@ namespace OpenSim.Data.MySQL
|
|||
// pDa.Fill(tmpDS, "prims");
|
||||
// sDa.Fill(tmpDS, "primshapes");
|
||||
|
||||
// if (persistPrimInventories)
|
||||
// iDa.Fill(tmpDS, "primitems");
|
||||
|
||||
// tDa.Fill(tmpDS, "terrain");
|
||||
|
|
|
@ -61,7 +61,7 @@ namespace OpenSim.Data.NHibernate
|
|||
// Initialise("SQLiteDialect;SqliteClientDriver;URI=file:OpenSim.db,version=3", true);
|
||||
// }
|
||||
|
||||
public void Initialise(string connect, bool persistpriminventories)
|
||||
public void Initialise(string connect)
|
||||
{
|
||||
// Split out the dialect, driver, and connect string
|
||||
char[] split = {';'};
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace OpenSim.Data.Null
|
|||
/// </summary>
|
||||
public class NullDataStore : IRegionDataStore
|
||||
{
|
||||
public void Initialise(string dbfile, bool persistPrimInventories)
|
||||
public void Initialise(string dbfile)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -68,7 +68,6 @@ namespace OpenSim.Data.SQLite
|
|||
private String m_connectionString;
|
||||
|
||||
// Temporary attribute while this is experimental
|
||||
private bool persistPrimInventories;
|
||||
|
||||
/***********************************************************************
|
||||
*
|
||||
|
@ -84,11 +83,9 @@ namespace OpenSim.Data.SQLite
|
|||
/// </list>
|
||||
/// </summary>
|
||||
/// <param name="connectionString">the connection string</param>
|
||||
/// <param name="persistPrimInventories">?</param>
|
||||
public void Initialise(string connectionString, bool persistPrimInventories)
|
||||
public void Initialise(string connectionString)
|
||||
{
|
||||
m_connectionString = connectionString;
|
||||
this.persistPrimInventories = persistPrimInventories;
|
||||
|
||||
ds = new DataSet();
|
||||
|
||||
|
@ -137,12 +134,9 @@ namespace OpenSim.Data.SQLite
|
|||
ds.Tables.Add(createShapeTable());
|
||||
setupShapeCommands(shapeDa, m_conn);
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
ds.Tables.Add(createItemsTable());
|
||||
setupItemsCommands(itemsDa, m_conn);
|
||||
itemsDa.Fill(ds.Tables["primitems"]);
|
||||
}
|
||||
|
||||
ds.Tables.Add(createTerrainTable());
|
||||
setupTerrainCommands(terrainDa, m_conn);
|
||||
|
@ -267,10 +261,7 @@ namespace OpenSim.Data.SQLite
|
|||
shapeRow.Delete();
|
||||
}
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
RemoveItems(uuid);
|
||||
}
|
||||
|
||||
// Remove prim row
|
||||
row.Delete();
|
||||
|
@ -367,11 +358,8 @@ namespace OpenSim.Data.SQLite
|
|||
createdObjects[new LLUUID(objID)].AddPart(prim);
|
||||
}
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
LoadItems(prim);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error("[REGION DB]: Failed create prim object, exception and data follows");
|
||||
|
@ -615,10 +603,7 @@ namespace OpenSim.Data.SQLite
|
|||
primDa.Update(ds, "prims");
|
||||
shapeDa.Update(ds, "primshapes");
|
||||
|
||||
if (persistPrimInventories)
|
||||
{
|
||||
itemsDa.Update(ds, "primitems");
|
||||
}
|
||||
|
||||
terrainDa.Update(ds, "terrain");
|
||||
landDa.Update(ds, "land");
|
||||
|
@ -1475,9 +1460,6 @@ namespace OpenSim.Data.SQLite
|
|||
/// <param name="items"></param>
|
||||
public void StorePrimInventory(LLUUID primID, ICollection<TaskInventoryItem> items)
|
||||
{
|
||||
if (!persistPrimInventories)
|
||||
return;
|
||||
|
||||
m_log.InfoFormat("[REGION DB]: Entered StorePrimInventory with prim ID {0}", primID);
|
||||
|
||||
DataTable dbItems = ds.Tables["primitems"];
|
||||
|
@ -1779,8 +1761,6 @@ namespace OpenSim.Data.SQLite
|
|||
// m_log.Warn("[REGION DB]: Shapes Table Already Exists");
|
||||
// }
|
||||
|
||||
// if (persistPrimInventories)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// icmd.ExecuteNonQuery();
|
||||
|
@ -1789,7 +1769,6 @@ namespace OpenSim.Data.SQLite
|
|||
// {
|
||||
// m_log.Warn("[REGION DB]: Primitives Inventory Table Already Exists");
|
||||
// }
|
||||
// }
|
||||
|
||||
// try
|
||||
// {
|
||||
|
@ -1851,7 +1830,6 @@ namespace OpenSim.Data.SQLite
|
|||
pDa.Fill(tmpDS, "prims");
|
||||
sDa.Fill(tmpDS, "primshapes");
|
||||
|
||||
if (persistPrimInventories)
|
||||
iDa.Fill(tmpDS, "primitems");
|
||||
|
||||
tDa.Fill(tmpDS, "terrain");
|
||||
|
@ -1874,7 +1852,6 @@ namespace OpenSim.Data.SQLite
|
|||
// pDa.Fill(tmpDS, "prims");
|
||||
// sDa.Fill(tmpDS, "primshapes");
|
||||
|
||||
// if (persistPrimInventories)
|
||||
// iDa.Fill(tmpDS, "primitems");
|
||||
|
||||
// tDa.Fill(tmpDS, "terrain");
|
||||
|
|
|
@ -300,9 +300,8 @@ namespace OpenSim
|
|||
}
|
||||
m_storageConnectionString
|
||||
= startupConfig.GetString("storage_connection_string", "URI=file:OpenSim.db,version=3");
|
||||
m_storagePersistPrimInventories
|
||||
= startupConfig.GetBoolean("storage_prim_inventories", true);
|
||||
|
||||
m_estateConnectionString
|
||||
= startupConfig.GetString("estate_connection_string", m_storageConnectionString);
|
||||
m_scriptEngine = startupConfig.GetString("script_engine", "OpenSim.Region.ScriptEngine.DotNetEngine.dll");
|
||||
m_assetStorage = startupConfig.GetString("asset_database", "local");
|
||||
m_clientstackDll = startupConfig.GetString("clientstack_plugin", "OpenSim.Region.ClientStack.LindenUDP.dll");
|
||||
|
@ -555,9 +554,9 @@ namespace OpenSim
|
|||
return clientServer;
|
||||
}
|
||||
|
||||
protected override StorageManager CreateStorageManager(string connectionstring)
|
||||
protected override StorageManager CreateStorageManager(string connectionstring, string estateconnectionstring)
|
||||
{
|
||||
return new StorageManager(m_storageDll, connectionstring, m_storagePersistPrimInventories);
|
||||
return new StorageManager(m_storageDll, connectionstring, estateconnectionstring);
|
||||
}
|
||||
|
||||
protected override ClientStackManager CreateClientStackManager()
|
||||
|
|
|
@ -62,13 +62,10 @@ namespace OpenSim.Region.ClientStack
|
|||
|
||||
protected StorageManager m_storageManager;
|
||||
protected string m_storageConnectionString;
|
||||
protected string m_estateConnectionString;
|
||||
|
||||
protected ClientStackManager m_clientStackManager;
|
||||
|
||||
// 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
|
||||
{
|
||||
get { return m_sceneManager; }
|
||||
|
@ -78,7 +75,7 @@ namespace OpenSim.Region.ClientStack
|
|||
{
|
||||
base.Startup();
|
||||
|
||||
m_storageManager = CreateStorageManager(m_storageConnectionString);
|
||||
m_storageManager = CreateStorageManager(m_storageConnectionString, m_estateConnectionString);
|
||||
|
||||
m_clientStackManager = CreateClientStackManager();
|
||||
|
||||
|
@ -101,7 +98,7 @@ namespace OpenSim.Region.ClientStack
|
|||
|
||||
// protected abstract ConsoleBase CreateConsole();
|
||||
protected abstract PhysicsScene GetPhysicsScene();
|
||||
protected abstract StorageManager CreateStorageManager(string connectionstring);
|
||||
protected abstract StorageManager CreateStorageManager(string connectionstring, string estateconnectionstring);
|
||||
protected abstract ClientStackManager CreateClientStackManager();
|
||||
|
||||
protected PhysicsScene GetPhysicsScene(string engine, string meshEngine, IConfigSource config)
|
||||
|
|
|
@ -39,8 +39,7 @@ namespace OpenSim.Region.Environment.Interfaces
|
|||
/// </summary>
|
||||
/// <param name="filename">The file to save the database to (may not be applicable). Alternatively,
|
||||
/// a connection string for the database</param>
|
||||
/// <param name="persistPrimInventories">Temporary switch while this option is immature</param>
|
||||
void Initialise(string filename, bool persistPrimInventories);
|
||||
void Initialise(string filename);
|
||||
|
||||
/// <summary>
|
||||
/// Stores all object's details apart from inventory
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace OpenSim.Region.Environment
|
|||
m_dataStore = storage;
|
||||
}
|
||||
|
||||
public StorageManager(string dllName, string connectionstring, bool persistPrimInventories)
|
||||
public StorageManager(string dllName, string connectionstring, string estateconnectionstring)
|
||||
{
|
||||
m_log.Info("[DATASTORE]: Attempting to load " + dllName);
|
||||
Assembly pluginAssembly = Assembly.LoadFrom(dllName);
|
||||
|
@ -70,7 +70,7 @@ namespace OpenSim.Region.Environment
|
|||
{
|
||||
IRegionDataStore plug =
|
||||
(IRegionDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
||||
plug.Initialise(connectionstring, persistPrimInventories);
|
||||
plug.Initialise(connectionstring);
|
||||
|
||||
m_dataStore = plug;
|
||||
|
||||
|
@ -83,7 +83,7 @@ namespace OpenSim.Region.Environment
|
|||
{
|
||||
IEstateDataStore estPlug =
|
||||
(IEstateDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
||||
estPlug.Initialise(connectionstring);
|
||||
estPlug.Initialise(estateconnectionstring);
|
||||
|
||||
m_estateDataStore = estPlug;
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ namespace OpenSimExport
|
|||
sman = new StorageManager(
|
||||
startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
|
||||
startup.GetString("storage_connection_string", String.Empty),
|
||||
false
|
||||
startup.GetString("estate_connection_string", String.Empty)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -42,16 +42,9 @@ storage_connection_string="URI=file:OpenSim.db,version=3";
|
|||
; note that the supplied account needs create privilegies if you want it to auto-create needed tables.
|
||||
; storage_plugin="OpenSim.Data.MySQL.dll"
|
||||
; storage_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;";
|
||||
|
||||
; turn on experimental storage of prim inventories in the region database
|
||||
|
||||
; Prim inventory storage is now turned on by default
|
||||
; However, this option remains in case it needs to be disabled
|
||||
; More details of the current state of this can be found at
|
||||
;
|
||||
; http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence
|
||||
;
|
||||
storage_prim_inventories = true
|
||||
; If you want to use a different database/server for estate data, then
|
||||
; uncomment and change this connect string. Defaults to the above if not set
|
||||
; estate_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;";
|
||||
|
||||
; Select whether you want to use local or grid asset storage.
|
||||
;
|
||||
|
|
Loading…
Reference in New Issue