* Adds a modicum of additional checking to the Inventory Service (MySQL only)
* Enable "opengridmode=true" in your Inventory Connector (where the mysql connection strings are) to enable if you are running a 'wide-open-grid'. * More comprehensive rollback support being implemented, should be available later today.0.6.8-post-fixes
parent
7ecd43864f
commit
4973c057eb
|
@ -48,6 +48,10 @@ namespace OpenSim.Data.MySQL
|
|||
/// </summary>
|
||||
private MySQLManager database;
|
||||
|
||||
private bool rollbackStore = false;
|
||||
private bool opengridmode = false;
|
||||
private string rollbackDir = "";
|
||||
|
||||
public void Initialise()
|
||||
{
|
||||
m_log.Info("[MySQLInventoryData]: " + Name + " cannot be default-initialized!");
|
||||
|
@ -82,6 +86,10 @@ namespace OpenSim.Data.MySQL
|
|||
string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
|
||||
string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
|
||||
|
||||
rollbackDir = GridDataMySqlFile.ParseFileReadValue("rollbackdir");
|
||||
rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true";
|
||||
opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true";
|
||||
|
||||
database =
|
||||
new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling,
|
||||
settingPort);
|
||||
|
@ -851,16 +859,25 @@ namespace OpenSim.Data.MySQL
|
|||
{
|
||||
List<InventoryFolderBase> subFolders = getFolderHierarchy(folderID);
|
||||
|
||||
//Delete all sub-folders
|
||||
foreach (InventoryFolderBase f in subFolders)
|
||||
// Dont delete in OGM - makes for easier restores if someone sends a malcious command. (just restore the folder entry)
|
||||
if (opengridmode == false)
|
||||
{
|
||||
deleteOneFolder(f.ID);
|
||||
deleteItemsInFolder(f.ID);
|
||||
//Delete all sub-folders
|
||||
foreach (InventoryFolderBase f in subFolders)
|
||||
{
|
||||
deleteOneFolder(f.ID);
|
||||
deleteItemsInFolder(f.ID);
|
||||
}
|
||||
}
|
||||
|
||||
//Delete the actual row
|
||||
deleteOneFolder(folderID);
|
||||
deleteItemsInFolder(folderID);
|
||||
|
||||
// Just delete the folder context in OGM
|
||||
if (opengridmode == false)
|
||||
{
|
||||
deleteItemsInFolder(folderID);
|
||||
}
|
||||
}
|
||||
|
||||
public List<InventoryItemBase> fetchActiveGestures(UUID avatarID)
|
||||
|
|
Loading…
Reference in New Issue