aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/SQLite
diff options
context:
space:
mode:
authorTom Grimshaw2010-05-10 05:44:24 -0700
committerTom Grimshaw2010-05-10 05:44:24 -0700
commit2e94c757296973e07529ad6ae927d9d9251627b6 (patch)
tree5fb348ddf750087898a6fcdfe0a492c305b35d3b /OpenSim/Data/SQLite
parentGreatly improve login time for users with large friends lists by requesting a... (diff)
parentMerge branch 'master' into careminster-presence-refactor (diff)
downloadopensim-SC-2e94c757296973e07529ad6ae927d9d9251627b6.zip
opensim-SC-2e94c757296973e07529ad6ae927d9d9251627b6.tar.gz
opensim-SC-2e94c757296973e07529ad6ae927d9d9251627b6.tar.bz2
opensim-SC-2e94c757296973e07529ad6ae927d9d9251627b6.tar.xz
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
Diffstat (limited to '')
-rw-r--r--OpenSim/Data/SQLite/Resources/005_AssetStore.sql5
-rw-r--r--OpenSim/Data/SQLite/Resources/019_RegionStore.sql5
-rw-r--r--OpenSim/Data/SQLite/SQLiteAssetData.cs46
-rw-r--r--OpenSim/Data/SQLite/SQLiteRegionData.cs3
-rw-r--r--OpenSim/Data/SQLiteLegacy/SQLiteAssetData.cs6
5 files changed, 46 insertions, 19 deletions
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 @@
1BEGIN;
2
3ALTER TABLE assets ADD COLUMN asset_flags INTEGER NOT NULL DEFAULT 0;
4
5COMMIT;
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 @@
1BEGIN;
2
3ALTER TABLE regionsettings ADD COLUMN map_tile_ID varchar(36) NOT NULL default '00000000-0000-0000-0000-000000000000';
4
5COMMIT; \ No newline at end of file
diff --git a/OpenSim/Data/SQLite/SQLiteAssetData.cs b/OpenSim/Data/SQLite/SQLiteAssetData.cs
index 636bf86..7081f99 100644
--- a/OpenSim/Data/SQLite/SQLiteAssetData.cs
+++ b/OpenSim/Data/SQLite/SQLiteAssetData.cs
@@ -44,10 +44,10 @@ namespace OpenSim.Data.SQLite
44// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 44// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
45 45
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, asset_flags, 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();
@@ -208,20 +210,6 @@ namespace OpenSim.Data.SQLite
208 } 210 }
209 211
210 /// <summary> 212 /// <summary>
211 /// Delete an asset from database
212 /// </summary>
213 /// <param name="uuid"></param>
214 public void DeleteAsset(UUID uuid)
215 {
216 using (SqliteCommand cmd = new SqliteCommand(DeleteAssetSQL, m_conn))
217 {
218 cmd.Parameters.Add(new SqliteParameter(":UUID", uuid.ToString()));
219
220 cmd.ExecuteNonQuery();
221 }
222 }
223
224 /// <summary>
225 /// 213 ///
226 /// </summary> 214 /// </summary>
227 /// <param name="row"></param> 215 /// <param name="row"></param>
@@ -241,7 +229,8 @@ namespace OpenSim.Data.SQLite
241 asset.Description = (String) row["Description"]; 229 asset.Description = (String) row["Description"];
242 asset.Local = Convert.ToBoolean(row["Local"]); 230 asset.Local = Convert.ToBoolean(row["Local"]);
243 asset.Temporary = Convert.ToBoolean(row["Temporary"]); 231 asset.Temporary = Convert.ToBoolean(row["Temporary"]);
244 asset.Data = (byte[]) row["Data"]; 232 asset.Flags = (AssetFlags)Convert.ToInt32(row["asset_flags"]);
233 asset.Data = (byte[])row["Data"];
245 return asset; 234 return asset;
246 } 235 }
247 236
@@ -254,6 +243,7 @@ namespace OpenSim.Data.SQLite
254 metadata.Description = (string) row["Description"]; 243 metadata.Description = (string) row["Description"];
255 metadata.Type = Convert.ToSByte(row["Type"]); 244 metadata.Type = Convert.ToSByte(row["Type"]);
256 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"]);
257 247
258 // Current SHA1s are not stored/computed. 248 // Current SHA1s are not stored/computed.
259 metadata.SHA1 = new byte[] {}; 249 metadata.SHA1 = new byte[] {};
@@ -338,6 +328,26 @@ namespace OpenSim.Data.SQLite
338 get { return "SQLite Asset storage engine"; } 328 get { return "SQLite Asset storage engine"; }
339 } 329 }
340 330
331 public override bool Delete(string id)
332 {
333 UUID assetID;
334
335 if (!UUID.TryParse(id, out assetID))
336 return false;
337
338 lock (this)
339 {
340 using (SqliteCommand cmd = new SqliteCommand(DeleteAssetSQL, m_conn))
341 {
342 cmd.Parameters.Add(new SqliteParameter(":UUID", assetID.ToString()));
343
344 cmd.ExecuteNonQuery();
345 }
346 }
347
348 return true;
349 }
350
341 #endregion 351 #endregion
342 } 352 }
343} 353}
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>
diff --git a/OpenSim/Data/SQLiteLegacy/SQLiteAssetData.cs b/OpenSim/Data/SQLiteLegacy/SQLiteAssetData.cs
index 0d63dea..df50902 100644
--- a/OpenSim/Data/SQLiteLegacy/SQLiteAssetData.cs
+++ b/OpenSim/Data/SQLiteLegacy/SQLiteAssetData.cs
@@ -338,6 +338,10 @@ namespace OpenSim.Data.SQLiteLegacy
338 get { return "SQLite Asset storage engine"; } 338 get { return "SQLite Asset storage engine"; }
339 } 339 }
340 340
341 public override bool Delete(string id)
342 {
343 return false;
344 }
341 #endregion 345 #endregion
342 } 346 }
343} \ No newline at end of file 347}