f-spot r3754 - in trunk: . src
- From: sdelcroix svn gnome org
- To: svn-commits-list gnome org
- Subject: f-spot r3754 - in trunk: . src
- Date: Thu, 13 Mar 2008 16:29:36 +0000 (GMT)
Author: sdelcroix
Date: Thu Mar 13 16:29:36 2008
New Revision: 3754
URL: http://svn.gnome.org/viewvc/f-spot?rev=3754&view=rev
Log:
2008-03-13 Lorenzo Milesi <maxxer yetopen it>
* src/PhotoStore.cs: changed the query for photo remove from catalog.
Now uses WHERE id IN (...). Fix bgo #494351.
Modified:
trunk/ChangeLog
trunk/src/PhotoStore.cs
Modified: trunk/src/PhotoStore.cs
==============================================================================
--- trunk/src/PhotoStore.cs (original)
+++ trunk/src/PhotoStore.cs Thu Mar 13 16:29:36 2008
@@ -377,22 +377,16 @@
{
EmitRemoved (items);
- StringBuilder query_builder = new StringBuilder ();
- StringBuilder tv_query_builder = new StringBuilder ();
+ ArrayList query_builder = new ArrayList (items.Length);
for (int i = 0; i < items.Length; i++) {
- if (i > 0) {
- query_builder.Append (" OR ");
- tv_query_builder.Append (" OR ");
- }
-
- query_builder.Append (String.Format ("id = {0}", items[i].Id));
- tv_query_builder.Append (String.Format ("photo_id = {0}", items[i].Id));
+ query_builder.Add (String.Format ("{0}", items[i].Id));
RemoveFromCache (items[i]);
}
- Database.ExecuteNonQuery (String.Format ("DELETE FROM photos WHERE {0}", query_builder.ToString ()));
- Database.ExecuteNonQuery (String.Format ("DELETE FROM photo_tags WHERE {0}", tv_query_builder.ToString ()));
- Database.ExecuteNonQuery (String.Format ("DELETE FROM photo_versions WHERE {0}", tv_query_builder.ToString ()));
+ String id_list = String.Join ("','", ((string []) query_builder.ToArray (typeof (string))));
+ Database.ExecuteNonQuery (String.Format ("DELETE FROM photos WHERE id IN ('{0}')", id_list));
+ Database.ExecuteNonQuery (String.Format ("DELETE FROM photo_tags WHERE photo_id IN ('{0}')", id_list));
+ Database.ExecuteNonQuery (String.Format ("DELETE FROM photo_versions WHERE photo_id IN ('{0}')", id_list));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]