diff options
Diffstat (limited to 'OpenSim/Data/MSSQL/MSSQLRegionData.cs')
-rw-r--r-- | OpenSim/Data/MSSQL/MSSQLRegionData.cs | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/OpenSim/Data/MSSQL/MSSQLRegionData.cs b/OpenSim/Data/MSSQL/MSSQLRegionData.cs index 66c3f81..73c67d4 100644 --- a/OpenSim/Data/MSSQL/MSSQLRegionData.cs +++ b/OpenSim/Data/MSSQL/MSSQLRegionData.cs | |||
@@ -306,38 +306,37 @@ namespace OpenSim.Data.MSSQL | |||
306 | return true; | 306 | return true; |
307 | } | 307 | } |
308 | return false; | 308 | return false; |
309 | } | 309 | } |
310 | 310 | ||
311 | public List<RegionData> GetDefaultRegions(UUID scopeID) | 311 | public List<RegionData> GetDefaultRegions(UUID scopeID) |
312 | { | 312 | { |
313 | string sql = "SELECT * FROM [" + m_Realm + "] WHERE (flags & 1) <> 0"; | 313 | return Get((int)RegionFlags.DefaultRegion, scopeID); |
314 | if (scopeID != UUID.Zero) | ||
315 | sql += " AND ScopeID = @scopeID"; | ||
316 | |||
317 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) | ||
318 | using (SqlCommand cmd = new SqlCommand(sql, conn)) | ||
319 | { | ||
320 | cmd.Parameters.Add(m_database.CreateParameter("@scopeID", scopeID)); | ||
321 | conn.Open(); | ||
322 | return RunCommand(cmd); | ||
323 | } | ||
324 | |||
325 | } | 314 | } |
326 | 315 | ||
327 | public List<RegionData> GetFallbackRegions(UUID scopeID, int x, int y) | 316 | public List<RegionData> GetFallbackRegions(UUID scopeID, int x, int y) |
328 | { | 317 | { |
329 | string sql = "SELECT * FROM [" + m_Realm + "] WHERE (flags & 2) <> 0"; | 318 | // TODO: distance-sort results |
330 | if (scopeID != UUID.Zero) | 319 | return Get((int)RegionFlags.FallbackRegion, scopeID); |
331 | sql += " AND ScopeID = @scopeID"; | 320 | } |
332 | 321 | ||
333 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) | 322 | public List<RegionData> GetHyperlinks(UUID scopeID) |
334 | using (SqlCommand cmd = new SqlCommand(sql, conn)) | 323 | { |
335 | { | 324 | return Get((int)RegionFlags.Hyperlink, scopeID); |
336 | cmd.Parameters.Add(m_database.CreateParameter("@scopeID", scopeID)); | 325 | } |
337 | conn.Open(); | 326 | |
338 | // TODO: distance-sort results | 327 | private List<RegionData> Get(int regionFlags, UUID scopeID) |
339 | return RunCommand(cmd); | 328 | { |
340 | } | 329 | string sql = "SELECT * FROM [" + m_Realm + "] WHERE (flags & " + regionFlags.ToString() + ") <> 0"; |
341 | } | 330 | if (scopeID != UUID.Zero) |
331 | sql += " AND ScopeID = @scopeID"; | ||
332 | |||
333 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) | ||
334 | using (SqlCommand cmd = new SqlCommand(sql, conn)) | ||
335 | { | ||
336 | cmd.Parameters.Add(m_database.CreateParameter("@scopeID", scopeID)); | ||
337 | conn.Open(); | ||
338 | return RunCommand(cmd); | ||
339 | } | ||
340 | } | ||
342 | } | 341 | } |
343 | } | 342 | } |