aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/MySQL/MySQLAssetData.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Data/MySQL/MySQLAssetData.cs')
-rw-r--r--OpenSim/Data/MySQL/MySQLAssetData.cs41
1 files changed, 39 insertions, 2 deletions
diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs
index 5d8da17..cb5a38e 100644
--- a/OpenSim/Data/MySQL/MySQLAssetData.cs
+++ b/OpenSim/Data/MySQL/MySQLAssetData.cs
@@ -154,7 +154,7 @@ namespace OpenSim.Data.MySQL
154 /// </summary> 154 /// </summary>
155 /// <param name="asset">Asset UUID to create</param> 155 /// <param name="asset">Asset UUID to create</param>
156 /// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks> 156 /// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks>
157 override public void StoreAsset(AssetBase asset) 157 override public bool StoreAsset(AssetBase asset)
158 { 158 {
159 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) 159 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
160 { 160 {
@@ -203,6 +203,43 @@ namespace OpenSim.Data.MySQL
203 cmd.Parameters.AddWithValue("?data", asset.Data); 203 cmd.Parameters.AddWithValue("?data", asset.Data);
204 cmd.ExecuteNonQuery(); 204 cmd.ExecuteNonQuery();
205 } 205 }
206
207 string assetDescription = asset.Description;
208 if (asset.Description.Length > 64)
209 {
210 assetDescription = asset.Description.Substring(0, 64);
211 m_log.WarnFormat(
212 "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add",
213 asset.Description, asset.ID, asset.Description.Length, assetDescription.Length);
214 }
215
216 try
217 {
218 using (cmd)
219 {
220 // create unix epoch time
221 int now = (int)Utils.DateTimeToUnixTime(DateTime.UtcNow);
222 cmd.Parameters.AddWithValue("?id", asset.ID);
223 cmd.Parameters.AddWithValue("?name", assetName);
224 cmd.Parameters.AddWithValue("?description", assetDescription);
225 cmd.Parameters.AddWithValue("?assetType", asset.Type);
226 cmd.Parameters.AddWithValue("?local", asset.Local);
227 cmd.Parameters.AddWithValue("?temporary", asset.Temporary);
228 cmd.Parameters.AddWithValue("?create_time", now);
229 cmd.Parameters.AddWithValue("?access_time", now);
230 cmd.Parameters.AddWithValue("?CreatorID", asset.Metadata.CreatorID);
231 cmd.Parameters.AddWithValue("?asset_flags", (int)asset.Flags);
232 cmd.Parameters.AddWithValue("?data", asset.Data);
233 cmd.ExecuteNonQuery();
234 return true;
235 }
236 }
237 catch (Exception e)
238 {
239 m_log.ErrorFormat("[ASSET DB]: MySQL failure creating asset {0} with name \"{1}\". Error: {2}",
240 asset.FullID, asset.Name, e.Message);
241 return false;
242 }
206 } 243 }
207 catch (Exception e) 244 catch (Exception e)
208 { 245 {
@@ -364,4 +401,4 @@ namespace OpenSim.Data.MySQL
364 401
365 #endregion 402 #endregion
366 } 403 }
367} \ No newline at end of file 404}