From 26c5b329886e3bbf81e2c853ef2fc6d648ad5273 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Jun 2012 22:39:03 +0200 Subject: Add the ability to query the MYSQL databse for a list of the stored prim UUIDs --- OpenSim/Data/MSSQL/MSSQLSimulationData.cs | 5 +++++ OpenSim/Data/MySQL/MySQLSimulationData.cs | 31 +++++++++++++++++++++++++++++ OpenSim/Data/Null/NullSimulationData.cs | 5 +++++ OpenSim/Data/SQLite/SQLiteSimulationData.cs | 4 ++++ 4 files changed, 45 insertions(+) (limited to 'OpenSim/Data') diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs index d9dfe86..df496a7 100644 --- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs @@ -2136,5 +2136,10 @@ VALUES } } } + + public UUID[] GetObjectIDs(UUID regionID) + { + return new UUID[0]; + } } } diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index ec7a454..b978334 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -1911,6 +1911,37 @@ namespace OpenSim.Data.MySQL } } + public UUID[] GetObjectIDs(UUID regionID) + { + List uuids = new List(); + + lock (m_dbLock) + { + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) + { + dbcon.Open(); + + using (MySqlCommand cmd = dbcon.CreateCommand()) + { + cmd.CommandText = "select UUID prom prims where RegionUUID = ?RegionUUID"; + cmd.Parameters.AddWithValue("RegionUUID", regionID.ToString()); + + using (IDataReader reader = ExecuteReader(cmd)) + { + while (reader.Read()) + { + UUID id = new UUID(reader["UUID"].ToString()); + + uuids.Add(id); + } + } + } + } + } + + return uuids.ToArray(); + } + private void LoadSpawnPoints(RegionSettings rs) { rs.ClearSpawnPoints(); diff --git a/OpenSim/Data/Null/NullSimulationData.cs b/OpenSim/Data/Null/NullSimulationData.cs index b788976..24b4511 100644 --- a/OpenSim/Data/Null/NullSimulationData.cs +++ b/OpenSim/Data/Null/NullSimulationData.cs @@ -133,5 +133,10 @@ namespace OpenSim.Data.Null public void Shutdown() { } + + public UUID[] GetObjectIDs(UUID regionID) + { + return new UUID[0]; + } } } diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index 7e7c08a..9ec285c 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs @@ -2791,5 +2791,9 @@ namespace OpenSim.Data.SQLite } } + public UUID[] GetObjectIDs(UUID regionID) + { + return new UUID[0]; + } } } -- cgit v1.1 From b700f58d5e82f971c7f6e4381e8ae99ca230977a Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Jun 2012 23:41:00 +0200 Subject: Typo fix --- OpenSim/Data/MySQL/MySQLSimulationData.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'OpenSim/Data') diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index b978334..1999d89 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -119,8 +119,10 @@ namespace OpenSim.Data.MySQL // Eligibility check // - if ((flags & (uint)PrimFlags.Temporary) != 0) - return; + // PrimFlags.Temporary is not used in OpenSim code and cannot + // be guaranteed to always be clear. Don't check it. +// if ((flags & (uint)PrimFlags.Temporary) != 0) +// return; if ((flags & (uint)PrimFlags.TemporaryOnRez) != 0) return; @@ -1923,7 +1925,7 @@ namespace OpenSim.Data.MySQL using (MySqlCommand cmd = dbcon.CreateCommand()) { - cmd.CommandText = "select UUID prom prims where RegionUUID = ?RegionUUID"; + cmd.CommandText = "select UUID from prims where RegionUUID = ?RegionUUID"; cmd.Parameters.AddWithValue("RegionUUID", regionID.ToString()); using (IDataReader reader = ExecuteReader(cmd)) -- cgit v1.1