[rygel] media-export: Fix database upgrade to version 12



commit 7669b5e0be7dd431b4285e8c4d74037d6a3b3fa7
Author: Jens Georg <jensg openismus com>
Date:   Sat Dec 15 13:19:50 2012 +0100

    media-export: Fix database upgrade to version 12

 .../rygel-media-export-media-cache-upgrader.vala   |   25 ++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/src/plugins/media-export/rygel-media-export-media-cache-upgrader.vala b/src/plugins/media-export/rygel-media-export-media-cache-upgrader.vala
index 47d6c10..07bfdbc 100644
--- a/src/plugins/media-export/rygel-media-export-media-cache-upgrader.vala
+++ b/src/plugins/media-export/rygel-media-export-media-cache-upgrader.vala
@@ -377,6 +377,31 @@ internal class Rygel.MediaExport.MediaCacheUpgrader {
             this.database.exec ("UPDATE schema_info SET reset_token = '" +
                                 UUID.get () + "'");
             this.database.exec ("UPDATE schema_info SET version = '12'");
+            this.database.exec ("ALTER TABLE object " +
+                                "ADD COLUMN object_update_id INTEGER");
+            this.database.exec ("ALTER TABLE object " +
+                                "ADD COLUMN deleted_child_count INTEGER");
+            this.database.exec ("ALTER TABLE object " +
+                                "ADD COLUMN container_update_id INTEGER");
+            var ids = new ArrayList<string> ();
+            var cursor = this.database.exec_cursor
+                                        ("SELECT upnp_id FROM object");
+            foreach (var statement in cursor) {
+                ids.add (statement.column_text (0));
+            }
+
+            uint32 count = 1;
+            foreach (var id in ids) {
+                GLib.Value[] args = { count, count, id };
+                count++;
+                this.database.exec ("UPDATE object SET " +
+                                    "container_update_id = ?, " +
+                                    "object_update_id = ?, " +
+                                    "deleted_child_count = 0 " +
+                                    "WHERE upnp_id = ?",
+                                    args);
+            }
+
             database.commit ();
             database.exec ("VACUUM");
             database.analyze ();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]