diff options
author | Diva Canto | 2010-05-09 13:39:56 -0700 |
---|---|---|
committer | Diva Canto | 2010-05-09 13:39:56 -0700 |
commit | b233a4b2cab3a39f9edc17130cd7c2f2f807d6bb (patch) | |
tree | 0f895f8334a1f98f3ed9f273906f989314400ce5 /OpenSim/Data | |
parent | Add Delete handler to SQLite (NG) (diff) | |
download | opensim-SC_OLD-b233a4b2cab3a39f9edc17130cd7c2f2f807d6bb.zip opensim-SC_OLD-b233a4b2cab3a39f9edc17130cd7c2f2f807d6bb.tar.gz opensim-SC_OLD-b233a4b2cab3a39f9edc17130cd7c2f2f807d6bb.tar.bz2 opensim-SC_OLD-b233a4b2cab3a39f9edc17130cd7c2f2f807d6bb.tar.xz |
* Fixed spamming the assets table with map tiles. The tile image ID is now stored in regionsettings. Upon generation of a new tile image, the old one is deleted. Tested for SQLite and MySql standalone.
* Fixed small bug with map search where the local sim regions weren't found.
Diffstat (limited to 'OpenSim/Data')
-rw-r--r-- | OpenSim/Data/MySQL/MySQLAssetData.cs | 5 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/MySQLLegacyRegionData.cs | 6 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Resources/033_RegionStore.sql | 3 | ||||
-rw-r--r-- | OpenSim/Data/Null/NullRegionData.cs | 8 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/Resources/005_AssetStore.sql | 5 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/Resources/019_RegionStore.sql | 5 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteAssetData.cs | 10 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteRegionData.cs | 3 |
8 files changed, 36 insertions, 9 deletions
diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index 35eed56..13f5fa2 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs | |||
@@ -111,7 +111,7 @@ namespace OpenSim.Data.MySQL | |||
111 | dbcon.Open(); | 111 | dbcon.Open(); |
112 | 112 | ||
113 | using (MySqlCommand cmd = new MySqlCommand( | 113 | using (MySqlCommand cmd = new MySqlCommand( |
114 | "SELECT name, description, assetType, local, temporary, data FROM assets WHERE id=?id", | 114 | "SELECT name, description, assetType, local, temporary, asset_flags, data FROM assets WHERE id=?id", |
115 | dbcon)) | 115 | dbcon)) |
116 | { | 116 | { |
117 | cmd.Parameters.AddWithValue("?id", assetID.ToString()); | 117 | cmd.Parameters.AddWithValue("?id", assetID.ToString()); |
@@ -133,6 +133,7 @@ namespace OpenSim.Data.MySQL | |||
133 | asset.Local = false; | 133 | asset.Local = false; |
134 | 134 | ||
135 | asset.Temporary = Convert.ToBoolean(dbReader["temporary"]); | 135 | asset.Temporary = Convert.ToBoolean(dbReader["temporary"]); |
136 | asset.Flags = (AssetFlags)Convert.ToInt32(dbReader["asset_flags"]); | ||
136 | } | 137 | } |
137 | } | 138 | } |
138 | } | 139 | } |
@@ -345,7 +346,7 @@ namespace OpenSim.Data.MySQL | |||
345 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) | 346 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) |
346 | { | 347 | { |
347 | dbcon.Open(); | 348 | dbcon.Open(); |
348 | MySqlCommand cmd = new MySqlCommand("delete from assets where id=?id"); | 349 | MySqlCommand cmd = new MySqlCommand("delete from assets where id=?id", dbcon); |
349 | cmd.Parameters.AddWithValue("?id", id); | 350 | cmd.Parameters.AddWithValue("?id", id); |
350 | cmd.ExecuteNonQuery(); | 351 | cmd.ExecuteNonQuery(); |
351 | 352 | ||
diff --git a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs index a395ddc..8c83ef1 100644 --- a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs | |||
@@ -989,7 +989,8 @@ namespace OpenSim.Data.MySQL | |||
989 | "?TerrainLowerLimit, ?UseEstateSun, ?FixedSun, " + | 989 | "?TerrainLowerLimit, ?UseEstateSun, ?FixedSun, " + |
990 | "?SunPosition, ?Covenant, ?Sandbox, " + | 990 | "?SunPosition, ?Covenant, ?Sandbox, " + |
991 | "?SunVectorX, ?SunVectorY, ?SunVectorZ, " + | 991 | "?SunVectorX, ?SunVectorY, ?SunVectorZ, " + |
992 | "?LoadedCreationDateTime, ?LoadedCreationID)"; | 992 | "?LoadedCreationDateTime, ?LoadedCreationID)" + |
993 | "?map_tile_ID, ?TerrainImageID"; | ||
993 | 994 | ||
994 | FillRegionSettingsCommand(cmd, rs); | 995 | FillRegionSettingsCommand(cmd, rs); |
995 | 996 | ||
@@ -1276,6 +1277,8 @@ namespace OpenSim.Data.MySQL | |||
1276 | else | 1277 | else |
1277 | newSettings.LoadedCreationID = (String) row["loaded_creation_id"]; | 1278 | newSettings.LoadedCreationID = (String) row["loaded_creation_id"]; |
1278 | 1279 | ||
1280 | newSettings.TerrainImageID = new UUID((String)row["map_tile_ID"]); | ||
1281 | |||
1279 | return newSettings; | 1282 | return newSettings; |
1280 | } | 1283 | } |
1281 | 1284 | ||
@@ -1596,6 +1599,7 @@ namespace OpenSim.Data.MySQL | |||
1596 | cmd.Parameters.AddWithValue("Covenant", settings.Covenant.ToString()); | 1599 | cmd.Parameters.AddWithValue("Covenant", settings.Covenant.ToString()); |
1597 | cmd.Parameters.AddWithValue("LoadedCreationDateTime", settings.LoadedCreationDateTime); | 1600 | cmd.Parameters.AddWithValue("LoadedCreationDateTime", settings.LoadedCreationDateTime); |
1598 | cmd.Parameters.AddWithValue("LoadedCreationID", settings.LoadedCreationID); | 1601 | cmd.Parameters.AddWithValue("LoadedCreationID", settings.LoadedCreationID); |
1602 | cmd.Parameters.AddWithValue("TerrainImageID", settings.TerrainImageID); | ||
1599 | 1603 | ||
1600 | } | 1604 | } |
1601 | 1605 | ||
diff --git a/OpenSim/Data/MySQL/Resources/033_RegionStore.sql b/OpenSim/Data/MySQL/Resources/033_RegionStore.sql new file mode 100644 index 0000000..2832b41 --- /dev/null +++ b/OpenSim/Data/MySQL/Resources/033_RegionStore.sql | |||
@@ -0,0 +1,3 @@ | |||
1 | BEGIN; | ||
2 | ALTER TABLE regionsettings ADD map_tile_ID CHAR(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'; | ||
3 | COMMIT; | ||
diff --git a/OpenSim/Data/Null/NullRegionData.cs b/OpenSim/Data/Null/NullRegionData.cs index 30ad747..d596698 100644 --- a/OpenSim/Data/Null/NullRegionData.cs +++ b/OpenSim/Data/Null/NullRegionData.cs | |||
@@ -40,7 +40,7 @@ namespace OpenSim.Data.Null | |||
40 | { | 40 | { |
41 | private static NullRegionData Instance = null; | 41 | private static NullRegionData Instance = null; |
42 | 42 | ||
43 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
44 | 44 | ||
45 | Dictionary<UUID, RegionData> m_regionData = new Dictionary<UUID, RegionData>(); | 45 | Dictionary<UUID, RegionData> m_regionData = new Dictionary<UUID, RegionData>(); |
46 | 46 | ||
@@ -62,12 +62,14 @@ namespace OpenSim.Data.Null | |||
62 | { | 62 | { |
63 | if (regionName.Contains("%")) | 63 | if (regionName.Contains("%")) |
64 | { | 64 | { |
65 | if (r.RegionName.Contains(regionName.Replace("%", ""))) | 65 | string cleanname = regionName.Replace("%", ""); |
66 | m_log.DebugFormat("[NULL REGION DATA]: comparing {0} to {1}", cleanname.ToLower(), r.RegionName.ToLower()); | ||
67 | if (r.RegionName.ToLower().Contains(cleanname.ToLower())) | ||
66 | ret.Add(r); | 68 | ret.Add(r); |
67 | } | 69 | } |
68 | else | 70 | else |
69 | { | 71 | { |
70 | if (r.RegionName == regionName) | 72 | if (r.RegionName.ToLower() == regionName.ToLower()) |
71 | ret.Add(r); | 73 | ret.Add(r); |
72 | } | 74 | } |
73 | } | 75 | } |
diff --git a/OpenSim/Data/SQLite/Resources/005_AssetStore.sql b/OpenSim/Data/SQLite/Resources/005_AssetStore.sql new file mode 100644 index 0000000..f06121a --- /dev/null +++ b/OpenSim/Data/SQLite/Resources/005_AssetStore.sql | |||
@@ -0,0 +1,5 @@ | |||
1 | BEGIN; | ||
2 | |||
3 | ALTER TABLE assets ADD COLUMN asset_flags INTEGER NOT NULL DEFAULT 0; | ||
4 | |||
5 | COMMIT; | ||
diff --git a/OpenSim/Data/SQLite/Resources/019_RegionStore.sql b/OpenSim/Data/SQLite/Resources/019_RegionStore.sql new file mode 100644 index 0000000..d62f848 --- /dev/null +++ b/OpenSim/Data/SQLite/Resources/019_RegionStore.sql | |||
@@ -0,0 +1,5 @@ | |||
1 | BEGIN; | ||
2 | |||
3 | ALTER TABLE regionsettings ADD COLUMN map_tile_ID varchar(36) NOT NULL default '00000000-0000-0000-0000-000000000000'; | ||
4 | |||
5 | COMMIT; \ No newline at end of file | ||
diff --git a/OpenSim/Data/SQLite/SQLiteAssetData.cs b/OpenSim/Data/SQLite/SQLiteAssetData.cs index 2783ba1..7d6df8d 100644 --- a/OpenSim/Data/SQLite/SQLiteAssetData.cs +++ b/OpenSim/Data/SQLite/SQLiteAssetData.cs | |||
@@ -46,8 +46,8 @@ namespace OpenSim.Data.SQLite | |||
46 | private const string SelectAssetSQL = "select * from assets where UUID=:UUID"; | 46 | private const string SelectAssetSQL = "select * from assets where UUID=:UUID"; |
47 | private const string SelectAssetMetadataSQL = "select Name, Description, Type, Temporary, UUID from assets limit :start, :count"; | 47 | private const string SelectAssetMetadataSQL = "select Name, Description, Type, Temporary, UUID from assets limit :start, :count"; |
48 | private const string DeleteAssetSQL = "delete from assets where UUID=:UUID"; | 48 | private const string DeleteAssetSQL = "delete from assets where UUID=:UUID"; |
49 | private const string InsertAssetSQL = "insert into assets(UUID, Name, Description, Type, Local, Temporary, Data) values(:UUID, :Name, :Description, :Type, :Local, :Temporary, :Data)"; | 49 | private const string InsertAssetSQL = "insert into assets(UUID, Name, Description, Type, Local, Temporary, asset_flags, Data) values(:UUID, :Name, :Description, :Type, :Local, :Temporary, :Flags, :Data)"; |
50 | private const string UpdateAssetSQL = "update assets set Name=:Name, Description=:Description, Type=:Type, Local=:Local, Temporary=:Temporary, Data=:Data where UUID=:UUID"; | 50 | private const string UpdateAssetSQL = "update assets set Name=:Name, Description=:Description, Type=:Type, Local=:Local, Temporary=:Temporary, asset_flags=:Flags, Data=:Data where UUID=:UUID"; |
51 | private const string assetSelect = "select * from assets"; | 51 | private const string assetSelect = "select * from assets"; |
52 | 52 | ||
53 | private SqliteConnection m_conn; | 53 | private SqliteConnection m_conn; |
@@ -136,6 +136,7 @@ namespace OpenSim.Data.SQLite | |||
136 | cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); | 136 | cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); |
137 | cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); | 137 | cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); |
138 | cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); | 138 | cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); |
139 | cmd.Parameters.Add(new SqliteParameter(":Flags", asset.Flags)); | ||
139 | cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data)); | 140 | cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data)); |
140 | 141 | ||
141 | cmd.ExecuteNonQuery(); | 142 | cmd.ExecuteNonQuery(); |
@@ -154,6 +155,7 @@ namespace OpenSim.Data.SQLite | |||
154 | cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); | 155 | cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); |
155 | cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); | 156 | cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); |
156 | cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); | 157 | cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); |
158 | cmd.Parameters.Add(new SqliteParameter(":Flags", asset.Flags)); | ||
157 | cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data)); | 159 | cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data)); |
158 | 160 | ||
159 | cmd.ExecuteNonQuery(); | 161 | cmd.ExecuteNonQuery(); |
@@ -227,7 +229,8 @@ namespace OpenSim.Data.SQLite | |||
227 | asset.Description = (String) row["Description"]; | 229 | asset.Description = (String) row["Description"]; |
228 | asset.Local = Convert.ToBoolean(row["Local"]); | 230 | asset.Local = Convert.ToBoolean(row["Local"]); |
229 | asset.Temporary = Convert.ToBoolean(row["Temporary"]); | 231 | asset.Temporary = Convert.ToBoolean(row["Temporary"]); |
230 | asset.Data = (byte[]) row["Data"]; | 232 | asset.Flags = (AssetFlags)Convert.ToInt32(row["asset_flags"]); |
233 | asset.Data = (byte[])row["Data"]; | ||
231 | return asset; | 234 | return asset; |
232 | } | 235 | } |
233 | 236 | ||
@@ -240,6 +243,7 @@ namespace OpenSim.Data.SQLite | |||
240 | metadata.Description = (string) row["Description"]; | 243 | metadata.Description = (string) row["Description"]; |
241 | metadata.Type = Convert.ToSByte(row["Type"]); | 244 | metadata.Type = Convert.ToSByte(row["Type"]); |
242 | metadata.Temporary = Convert.ToBoolean(row["Temporary"]); // Not sure if this is correct. | 245 | metadata.Temporary = Convert.ToBoolean(row["Temporary"]); // Not sure if this is correct. |
246 | metadata.Flags = (AssetFlags)Convert.ToInt32(row["asset_flags"]); | ||
243 | 247 | ||
244 | // Current SHA1s are not stored/computed. | 248 | // Current SHA1s are not stored/computed. |
245 | metadata.SHA1 = new byte[] {}; | 249 | metadata.SHA1 = new byte[] {}; |
diff --git a/OpenSim/Data/SQLite/SQLiteRegionData.cs b/OpenSim/Data/SQLite/SQLiteRegionData.cs index 997664a..85703dc 100644 --- a/OpenSim/Data/SQLite/SQLiteRegionData.cs +++ b/OpenSim/Data/SQLite/SQLiteRegionData.cs | |||
@@ -1156,6 +1156,7 @@ namespace OpenSim.Data.SQLite | |||
1156 | createCol(regionsettings, "fixed_sun", typeof (Int32)); | 1156 | createCol(regionsettings, "fixed_sun", typeof (Int32)); |
1157 | createCol(regionsettings, "sun_position", typeof (Double)); | 1157 | createCol(regionsettings, "sun_position", typeof (Double)); |
1158 | createCol(regionsettings, "covenant", typeof(String)); | 1158 | createCol(regionsettings, "covenant", typeof(String)); |
1159 | createCol(regionsettings, "map_tile_ID", typeof(String)); | ||
1159 | regionsettings.PrimaryKey = new DataColumn[] { regionsettings.Columns["regionUUID"] }; | 1160 | regionsettings.PrimaryKey = new DataColumn[] { regionsettings.Columns["regionUUID"] }; |
1160 | return regionsettings; | 1161 | return regionsettings; |
1161 | } | 1162 | } |
@@ -1474,6 +1475,7 @@ namespace OpenSim.Data.SQLite | |||
1474 | newSettings.FixedSun = Convert.ToBoolean(row["fixed_sun"]); | 1475 | newSettings.FixedSun = Convert.ToBoolean(row["fixed_sun"]); |
1475 | newSettings.SunPosition = Convert.ToDouble(row["sun_position"]); | 1476 | newSettings.SunPosition = Convert.ToDouble(row["sun_position"]); |
1476 | newSettings.Covenant = new UUID((String) row["covenant"]); | 1477 | newSettings.Covenant = new UUID((String) row["covenant"]); |
1478 | newSettings.TerrainImageID = new UUID((String)row["map_tile_ID"]); | ||
1477 | 1479 | ||
1478 | return newSettings; | 1480 | return newSettings; |
1479 | } | 1481 | } |
@@ -1792,6 +1794,7 @@ namespace OpenSim.Data.SQLite | |||
1792 | row["fixed_sun"] = settings.FixedSun; | 1794 | row["fixed_sun"] = settings.FixedSun; |
1793 | row["sun_position"] = settings.SunPosition; | 1795 | row["sun_position"] = settings.SunPosition; |
1794 | row["covenant"] = settings.Covenant.ToString(); | 1796 | row["covenant"] = settings.Covenant.ToString(); |
1797 | row["map_tile_ID"] = settings.TerrainImageID.ToString(); | ||
1795 | } | 1798 | } |
1796 | 1799 | ||
1797 | /// <summary> | 1800 | /// <summary> |