Preliminary work on the new default region setting mechanism

This commit is contained in:
Melanie
2010-01-09 20:46:32 +00:00
parent 25fdbd6cbc
commit 28d6705358
11 changed files with 180 additions and 1 deletions

View File

@@ -274,5 +274,31 @@ namespace OpenSim.Data.MySQL
return false;
}
public List<RegionData> GetDefaultRegions(UUID scopeID)
{
string command = "select * from `"+m_Realm+"` where (flags & 1) <> 0";
if (scopeID != UUID.Zero)
command += " and ScopeID = ?scopeID";
MySqlCommand cmd = new MySqlCommand(command);
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
return RunCommand(cmd);
}
public List<RegionData> GetFallbackRegions(UUID scopeID, int x, int y)
{
string command = "select * from `"+m_Realm+"` where (flags & 2) <> 0";
if (scopeID != UUID.Zero)
command += " and ScopeID = ?scopeID";
MySqlCommand cmd = new MySqlCommand(command);
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
// TODO: distance-sort results
return RunCommand(cmd);
}
}
}

View File

@@ -0,0 +1,6 @@
BEGIN;
ALTER TABLE `regions` ADD COLUMN `flags` integer NOT NULL DEFAULT 0;
CREATE INDEX flags ON regions(flags);
COMMIT;