- Add Dispose method to IRegionDataStore
- Add necessary dummy Dispose-methods where they are missing - Implement the SQLite Dispose-methods (currently only used for unit tests, in the next commit)0.6.0-stable
parent
48978ba3e0
commit
1c08f46ec3
|
@ -156,6 +156,11 @@ namespace OpenSim.Data.MSSQL
|
|||
|
||||
//After this we have a empty fully configured DataSet.
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dispose the database
|
||||
/// </summary>
|
||||
public void Dispose() {}
|
||||
|
||||
/// <summary>
|
||||
/// Loads the objects present in the region.
|
||||
|
|
|
@ -203,6 +203,8 @@ namespace OpenSim.Data.MySQL
|
|||
}
|
||||
}
|
||||
|
||||
public void Dispose() {}
|
||||
|
||||
/// <summary>
|
||||
/// Get the wait_timeout value for our connection
|
||||
/// </summary>
|
||||
|
|
|
@ -105,6 +105,8 @@ namespace OpenSim.Data.NHibernate
|
|||
*
|
||||
**********************************************************************/
|
||||
|
||||
public void Dispose() {}
|
||||
|
||||
public void StoreRegionSettings(RegionSettings rs)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -43,6 +43,10 @@ namespace OpenSim.Data.Null
|
|||
return;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
|
||||
public void StoreRegionSettings(RegionSettings rs)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -56,7 +56,14 @@ namespace OpenSim.Data.SQLite
|
|||
|
||||
private SqliteConnection m_conn;
|
||||
|
||||
override public void Dispose() { }
|
||||
override public void Dispose()
|
||||
{
|
||||
if (m_conn != null)
|
||||
{
|
||||
m_conn.Close();
|
||||
m_conn = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <list type="bullet">
|
||||
|
|
|
@ -46,6 +46,7 @@ namespace OpenSim.Data.SQLite
|
|||
private const string invItemsSelect = "select * from inventoryitems";
|
||||
private const string invFoldersSelect = "select * from inventoryfolders";
|
||||
|
||||
private SqliteConnection conn;
|
||||
private DataSet ds;
|
||||
private SqliteDataAdapter invItemsDa;
|
||||
private SqliteDataAdapter invFoldersDa;
|
||||
|
@ -71,7 +72,7 @@ namespace OpenSim.Data.SQLite
|
|||
dbconnect = "URI=file:inventoryStore.db,version=3";
|
||||
}
|
||||
m_log.Info("[INVENTORY DB]: Sqlite - connecting: " + dbconnect);
|
||||
SqliteConnection conn = new SqliteConnection(dbconnect);
|
||||
conn = new SqliteConnection(dbconnect);
|
||||
|
||||
conn.Open();
|
||||
|
||||
|
@ -101,6 +102,29 @@ namespace OpenSim.Data.SQLite
|
|||
ds.AcceptChanges();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Closes the inventory interface
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
if(conn != null) {
|
||||
conn.Close();
|
||||
conn = null;
|
||||
}
|
||||
if(invItemsDa != null) {
|
||||
invItemsDa.Dispose();
|
||||
invItemsDa = null;
|
||||
}
|
||||
if(invFoldersDa != null) {
|
||||
invFoldersDa.Dispose();
|
||||
invFoldersDa = null;
|
||||
}
|
||||
if(ds != null) {
|
||||
ds.Dispose();
|
||||
ds = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
@ -277,13 +301,6 @@ namespace OpenSim.Data.SQLite
|
|||
// TODO: DataSet commit
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Closes the inventory interface
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The name of this DB provider
|
||||
/// </summary>
|
||||
|
|
|
@ -203,6 +203,46 @@ namespace OpenSim.Data.SQLite
|
|||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if(m_conn != null) {
|
||||
m_conn.Close();
|
||||
m_conn = null;
|
||||
}
|
||||
if(ds != null) {
|
||||
ds.Dispose();
|
||||
ds = null;
|
||||
}
|
||||
if(primDa != null) {
|
||||
primDa.Dispose();
|
||||
primDa = null;
|
||||
}
|
||||
if(shapeDa != null) {
|
||||
shapeDa.Dispose();
|
||||
shapeDa = null;
|
||||
}
|
||||
if(itemsDa != null) {
|
||||
itemsDa.Dispose();
|
||||
itemsDa = null;
|
||||
}
|
||||
if(terrainDa != null) {
|
||||
terrainDa.Dispose();
|
||||
terrainDa = null;
|
||||
}
|
||||
if(landDa != null) {
|
||||
landDa.Dispose();
|
||||
landDa = null;
|
||||
}
|
||||
if(landAccessListDa != null) {
|
||||
landAccessListDa.Dispose();
|
||||
landAccessListDa = null;
|
||||
}
|
||||
if(regionSettingsDa != null) {
|
||||
regionSettingsDa.Dispose();
|
||||
regionSettingsDa = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void StoreRegionSettings(RegionSettings rs)
|
||||
{
|
||||
lock (ds)
|
||||
|
|
|
@ -122,7 +122,30 @@ namespace OpenSim.Data.SQLite
|
|||
return;
|
||||
}
|
||||
|
||||
public override void Dispose () {}
|
||||
public override void Dispose ()
|
||||
{
|
||||
if(g_conn != null) {
|
||||
g_conn.Close();
|
||||
g_conn = null;
|
||||
}
|
||||
if(ds != null) {
|
||||
ds.Dispose();
|
||||
ds = null;
|
||||
}
|
||||
if(da != null) {
|
||||
da.Dispose();
|
||||
da = null;
|
||||
}
|
||||
if(daf != null) {
|
||||
daf.Dispose();
|
||||
daf = null;
|
||||
}
|
||||
if(dua != null) {
|
||||
dua.Dispose();
|
||||
dua = null;
|
||||
}
|
||||
aplist = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// see IUserDataPlugin,
|
||||
|
|
|
@ -41,6 +41,11 @@ namespace OpenSim.Region.Environment.Interfaces
|
|||
/// a connection string for the database</param>
|
||||
void Initialise(string filename);
|
||||
|
||||
/// <summary>
|
||||
/// Dispose the database
|
||||
/// </summary>
|
||||
void Dispose();
|
||||
|
||||
/// <summary>
|
||||
/// Stores all object's details apart from inventory
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue